> this is very cool. So this calls $CategoryController-
> >admin_move_up(id) ... I assume you use a route to map that, or is
> there some other magic going on? (not to change the subject)

Nope, no routes needed. It works completely transparently.

The url /admin/categories/move_up/23 calls
CategoriesController::admin_move_up(23), as you would expect

CategoriesController doesn't implement admin_move_up(), but
AppController does, so the AppController version is called, and it
just works.

On Feb 13, 11:02 am, wirtsi <[EMAIL PROTECTED]> wrote:
> Hi ...
>
> as sbeam said, transactions wouldn't help, it had to be good ol'
> locking. I was able to reproduce this error quite easily, so I'm not
> too sure about the one in a million thing.
>
> I tweaked grigri ListBehavior class a bit to support locking. I first
> used table locks but because of the way Cake handles the updates you
> have to lock half the database to get the update done. So I used the
> GET_LOCK funtions you mentioned.
>
> What struck me funny is that GET_LOCK always returns 1, no matter if a
> lock exists or not. Perhaps I got the the documentation wrong or it
> has to do with the Windows box I'm on ... anyway, only IS_FREE_LOCK
> would properly recognise the lock.
>
> Also $model->query is a really dangerous thing to use. Since it caches
> stuff like SELECT IS_FREE_LOCK this query only gets executed the first
> time, took me a while to figure that out. Abusing $model->field (only
> a bit :) works way better.
>
> You'll find the behavior herehttp://bin.cakephp.org/view/1410543845
> ... comments are very welcome
>
> wirtsi
>
> On 12 Feb., 19:09, sbeam <[EMAIL PROTECTED]> wrote:
>
> > thanks for the explanation on calling Behaviors...
>
> > On Feb 12, 9:20 am, grigri <[EMAIL PROTECTED]> wrote:
>
> > > This way, if controller "CategoriesController" works on model
> > > "Category", then the following links will work without any extra
> > > controller or model code whatsoever:
>
> > > /admin/categories/move_up/{id}
> > > /admin/categories/move_down/{id}
>
> > this is very cool. So this calls $CategoryController->admin_move_up(id) ... 
> > I assume you use a route to map that, or is
>
> > there some other magic going on? (not to change the subject)
>
> > > [I even have a generic helper to make a mini-toolbar with view, edit,
> > > delete and move options for a given model, so in most cases I just go
> > > echo $tool->bar($id) for each record, and it works transparently. I'm
> > > in to writing as little code as possible to get the job done.]
>
> > Nice! I will have to try that at some pint.
>
> > cheers
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to