diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-10-20 17:21:33 -0700 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-10-20 17:21:33 -0700 |
commit | b28c758d4a98c9e877fb81f7b88f9c8597de74b6 (patch) | |
tree | f3d4257d739a3b23f0168b5618dab2586491b697 | |
parent | 3ece1a01f25270939b3c12f754d555d6ac54d375 (diff) |
Add lookup_group Identity provider API and change the permissions controller to use it to get the group it is modifying
-rw-r--r-- | modules/gallery/controllers/permissions.php | 6 | ||||
-rw-r--r-- | modules/gallery/libraries/Identity.php | 7 | ||||
-rw-r--r-- | modules/gallery/libraries/drivers/Identity.php | 7 | ||||
-rw-r--r-- | modules/user/libraries/drivers/Identity/Gallery.php | 6 |
4 files changed, 20 insertions, 6 deletions
diff --git a/modules/gallery/controllers/permissions.php b/modules/gallery/controllers/permissions.php index 7a06c3d3..58c5b816 100644 --- a/modules/gallery/controllers/permissions.php +++ b/modules/gallery/controllers/permissions.php @@ -51,13 +51,13 @@ class Permissions_Controller extends Controller { function change($command, $group_id, $perm_id, $item_id) { access::verify_csrf(); - $group = ORM::factory("group", $group_id); + $group = Identity::lookup_group($group_id); $perm = ORM::factory("permission", $perm_id); $item = ORM::factory("item", $item_id); access::required("view", $item); access::required("edit", $item); - if ($group->loaded && $perm->loaded && $item->loaded) { + if (!empty($group) && $perm->loaded && $item->loaded) { switch($command) { case "allow": access::allow($group, $perm->name, $item); @@ -84,7 +84,7 @@ class Permissions_Controller extends Controller { private function _get_form($item) { $view = new View("permissions_form.html"); $view->item = $item; - $view->groups = ORM::factory("group")->find_all(); + $view->groups = Identity::groups(); $view->permissions = ORM::factory("permission")->find_all(); return $view; } diff --git a/modules/gallery/libraries/Identity.php b/modules/gallery/libraries/Identity.php index 3ef13a6d..1dd5d23b 100644 --- a/modules/gallery/libraries/Identity.php +++ b/modules/gallery/libraries/Identity.php @@ -193,6 +193,13 @@ class Identity_Core { } /** + * @see Identity_Driver::lookup_group. + */ + static function lookup_group($id) { + return self::instance()->driver->lookup_group($id); + } + + /** * @see Identity_Driver::lookup_group_by_name. */ static function lookup_group_by_name($name) { diff --git a/modules/gallery/libraries/drivers/Identity.php b/modules/gallery/libraries/drivers/Identity.php index b77eb6be..5b35d49b 100644 --- a/modules/gallery/libraries/drivers/Identity.php +++ b/modules/gallery/libraries/drivers/Identity.php @@ -98,6 +98,13 @@ interface Identity_Driver { public function get_user_list($ids); /** + * Look up a group by id. + * @param integer id + * @return Group_Definition the user object, or null if the name was invalid. + */ + static function lookup_group($id); + + /** * List the groups defined in the Identity Provider */ static function groups(); diff --git a/modules/user/libraries/drivers/Identity/Gallery.php b/modules/user/libraries/drivers/Identity/Gallery.php index 8e6e204d..17327c17 100644 --- a/modules/user/libraries/drivers/Identity/Gallery.php +++ b/modules/user/libraries/drivers/Identity/Gallery.php @@ -116,10 +116,10 @@ class Identity_Gallery_Driver implements Identity_Driver { } /** - * @see Identity_Driver::lookup_group_by_name. + * @see Identity_Driver::lookup_group. */ - static function lookup_group_by_name($name) { - return group::lookup_by_field("name", $name); + static function lookup_group($id) { + return group::lookup_by_field("id", $id); } /** |