On Thu, Sep 13, 2007 at 08:41:24AM -0400, Christopher H. Laco wrote: > Micah Jaffe wrote: > > I'm trying to figure out the best[*] way to validate Chained actions at > > various points along the action chain. By validate, I mean "check if > > the action should proceed or bomb out." Validation is not the same as > > authentication; I may be logged in but I may not have permissions to do > > certain things. It may also mean proceeding is not possible because > > there is some bad data introduced in one of the links. Let's take a > > simple chain where I want to check whether or not a user can perform > > basic CRUD type things on our data. > > Given two paths: > > > > /bigthing/<id> > > /bigthing/<id>/edit > > > > I was building this chain as: > > > > load-bigthing-data -> check_read -> view > > -> check_update -> edit > > > > Now this gets convoluted when I want to act on sub part of bigthing. > > Say we have action paths that resemble something like: > > > > /bigthing/<id>/smallthing/<id_2> > > /bigthing/<id>/smallthing/<id_2>/edit > > This brings me to a related question that always bugs the hell out of me > about using Chained. > > Right now, if you use PathPrefix > (http://use.perl.org/~LTjake/journal/31738), you end up with a > controller that can be subclassed and renamed without changing any code. > > In other words, ::BigThing could be renamed to MyThing, the chained uri > follow suit from /bigthing/ to /smallthing/ and everyone is happy. > > The minute you add a child class into the mix (SmallThing), you have to > hardcode Chained in SmallThing with the name/private/path pointing to > BigThing.
Somebody needs to implement :Chained(../something). Given the number of things I'm working on atm, it's unlikely to be me. Patches welcome :) -- Matt S Trout Need help with your Catalyst or DBIx::Class project? Technical Director Want a managed development or deployment platform? Shadowcat Systems Ltd. Contact mst (at) shadowcatsystems.co.uk for a quote http://chainsawblues.vox.com/ http://www.shadowcat.co.uk/ _______________________________________________ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/