/** * Set the parent role * * @param AclRole $parent * @return AclRole */ public function setParent(AclRole $parent) { if ($parent->getName() !== $this->getName()) { $this->parent = $parent; $this->parent->addChild($this); } return $this; }
public function indexAction() { $this->_addHeadTitle("Permissions"); $this->view->permissions = AclPermission::findAll(); $this->view->resources = AclResource::findAll(); $this->view->roles = AclRole::findAll(); }
public static function create($params) { $aclRole = new AclRole(); $aclRole->name = $params['name']; $aclRole->description = $params['description']; $aclRole->save(); $aclRole->refresh(); if (!empty($params['resources'])) { $resources = is_array($params['resources']) ? $params['resources'] : array($params['resources']); foreach ($resources as $resource) { $permission = new AclPermission(); $permission->resource_id = $resource; $permission->role_id = $aclRole->id; $permission->save(); } } return $aclRole->id; }
/** * 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 editAction() { $id = $this->_request->getParam("id"); $data = User::findById($id); $userAircrafts = App_Utils::toList($data['Aircraft'], "id", "id"); $form = new Form_UserEdit(); $form->role_id->addMultiOptions(App_Utils::toList(AclRole::findAll(), 'id', 'name')); $form->aircraft->setMultiOptions(App_Utils::toList($data['Aircraft'], 'id', 'name')); $form->aircraft_available->setMultiOptions(App_Utils::toList(Aircraft::findAll(array('exclude' => $userAircrafts)), 'id', 'name')); $form->role_id->setValue($data['role_id']); $form->user_id->setValue($id); $form->populate($data); $options = array('title' => "Edit User", 'url' => "/user/edit/format/json/subaction/submit", 'button' => "Edit", 'success' => array("button" => array("title" => "Close", "action" => "close"), "redirect" => "/user/list", "message" => "User {$form->first_name->getValue()} {$form->last_name->getValue()} modified correctly"), 'model' => array("class" => "User", "method" => "edit")); $this->ajaxFormProcessor($form, $options); }
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); }
/** * 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"); } $config = new Zend_Config_Ini(APPLICATION_PATH . "/configs/application.ini", APPLICATION_ENV); $this->_defaultAction = $config->app->defaultAction; $this->user = $user; $this->isAdmin = $user['AclRole']['name'] == "administrator" ? true : false; $this->_addRoles(AclRole::findAll()); $this->_addResources(AclResource::findAll()); $this->_addPermissions(); }
/** * jsonSerialize * * @return \stdClass */ public function jsonSerialize() { $obj = parent::jsonSerialize(); $obj->namespace = $this->getNamespace(); $obj->isGuestRole = $this->isGuestRole(); $obj->isSuperAdminRole = $this->isSuperAdminRole(); return $obj; }