public function indexAction() { $this->_addHeadTitle("Permissions"); $this->view->permissions = AclPermission::findAll(); $this->view->resources = AclResource::findAll(); $this->view->roles = AclRole::findAll(); }
/** * Automatically setup roles, resources and setup permissions by * given user * @param User $user */ public function __construct($user) { if (!$user) { throw new Exception("There is a error on Roles and permissions"); } $this->user = $user; $this->isAdmin = $user['AclRole']['name'] == "administrator" ? true : false; $this->_addRoles(AclRole::findAll()); $this->_addResources(AclResource::findAll()); $this->_addPermissions(); }
public function editroleAction() { $id = $this->_request->getParam("id"); $data = AclRole::findById($id); $roleResources = App_Utils::toList($data['AclPermission']['AclResource'], "id", "description"); $form = new Form_AclRoleEdit(); $form->description->setValue($data['description']); $form->resources->setMultiOptions($roleResources); $form->resources_available->setMultiOptions(App_Utils::toList(AclResource::findAll(array('exclude' => array_keys($roleResources))), 'id', 'description')); $form->name->setValue($data['name']); $form->aclrole_id->setValue($id); $form->populate($data); $options = array('title' => "Edit role", 'url' => "/acl/edit_role/format/json/subaction/submit", 'button' => "Edit", 'success' => array("button" => array("title" => "Close", "action" => "close"), "redirect" => "/acl/index", "message" => "Role {$form->name->getValue} modified correctly"), 'model' => array("class" => "AclRole", "method" => "edit")); $this->ajaxFormProcessor($form, $options); }
/** * Refresh user permissions * @param array $user */ public function updatePermissions($user = null) { // remove all resources $this->removeAll(); // set a new user if necessary if (!empty($user)) { $this->user = $user; } $this->_addResources(AclResource::findAll()); $this->_addPermissions(); }