I have run into this same problem and filed a ticket for it.  If I knew
how to find tickets I've filed on trac, I would track it down for you
and post the number here.

In the meantime, I have written a fairly extensive component + plugin
for managing ACLs that I can share witih you, although I didn't feel it
was 100% ready for sharing, it might save you a lot of time to
implement if I just also give you some documentation about some stuff
about it.

The upshot is, in order to delete ACOs and AROs, I have created two
roots in each of my tables, one called root and the other called
deleted. When I delete something, I move it under deleted instead of
actually deleting it.

Another bug I've found is that you can't "demote" an ACO or ARO into
any node that is an ancestor of the node you want to "demote."  It
refuses to do it.  So I created a reparent routine that moves the node
in question to deleted first, then back  under the target node.

Final bug: you can't reparent a node if it has children of it's own.
Well, you can, but your table ends up corrupted.  So I added logic to
prevent reparenting with children through the UI.

UPDATE:

ok, so I found the bugs on trac:

https://trac.cakephp.org/ticket/1232
https://trac.cakephp.org/ticket/1233
https://trac.cakephp.org/ticket/1234
https://trac.cakephp.org/ticket/1235

Please let me know if you want me to share my code with you. I plan to
soon put it up as a package people can download from cakeforge.  For
now, it does require editing two core files, so that's one reason why
it's not yet primetime.

chris


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/cake-php
-~----------~----~----~----~------~----~------~--~---

Reply via email to