summaryrefslogtreecommitdiff
path: root/core/controllers/permissions.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2008-12-31 09:50:25 +0000
committerBharat Mediratta <bharat@menalto.com>2008-12-31 09:50:25 +0000
commit34372b86c5e98530f4142c3a5216574f0e1d12d6 (patch)
tree7b31b5f40a2035db9309e1961bca267ab1f0542c /core/controllers/permissions.php
parent48e91e71e50fcf750ecd3d04deee488944c8e25a (diff)
Ajaxify the permissions browsing dialog. It only does allow/deny
right now, it doesn't allow you to reset to inherited values. That's next.
Diffstat (limited to 'core/controllers/permissions.php')
-rw-r--r--core/controllers/permissions.php24
1 files changed, 24 insertions, 0 deletions
diff --git a/core/controllers/permissions.php b/core/controllers/permissions.php
index 67b75782..388fbfeb 100644
--- a/core/controllers/permissions.php
+++ b/core/controllers/permissions.php
@@ -45,6 +45,30 @@ class Permissions_Controller extends Controller {
print $this->_get_form($item);
}
+ function allow($group_id, $perm_id, $item_id) {
+ access::verify_csrf();
+ $group = ORM::factory("group", $group_id);
+ $perm = ORM::factory("permission", $perm_id);
+ $item = ORM::factory("item", $item_id);
+ access::required("edit", $item);
+
+ if ($group->loaded && $perm->loaded && $item->loaded) {
+ access::allow($group, $perm->name, $item);
+ }
+ }
+
+ function deny($group_id, $perm_id, $item_id) {
+ access::verify_csrf();
+ $group = ORM::factory("group", $group_id);
+ $perm = ORM::factory("permission", $perm_id);
+ $item = ORM::factory("item", $item_id);
+ access::required("edit", $item);
+
+ if ($group->loaded && $perm->loaded && $item->loaded) {
+ access::deny($group, $perm->name, $item);
+ }
+ }
+
function _get_form($item) {
$view = new View("permissions_form.html");
$view->item = $item;