public function findallAction() { $role = new Acl_Model_Role(); $roles = $role->findAll(); $default_role = $role->findDefaultRoleId(); $data = array(); foreach ($roles as $role) { $is_default_role = false; if ($role->getId() == $default_role) { $is_default_role = true; } $data[] = array("id" => $role->getId(), "code" => $role->getCode(), "label" => $role->getLabel(), "default" => $is_default_role); } $this->_sendHtml($data); }
public function saveAction() { if ($param = Zend_Json::decode($this->getRequest()->getRawBody())) { try { $role = new Acl_Model_Role(); if (empty($param["role"]) or !is_array($param["role"])) { throw new Exception($this->_("An error occurred while saving. Please, try again later.")); } $role_data = $param["role"]; $resources_data = !empty($param["resources"]) ? $param["resources"] : array(); if (isset($role_data["id"])) { $role->find($role_data["id"]); } $resource = new Acl_Model_Resource(); $resources_data = $resource->flattenedResources($resources_data); $role->setResources($resources_data)->setLabel($role_data["label"])->setCode($role_data["code"])->save(); $config = new System_Model_Config(); $config->find(Acl_Model_Role::DEFAULT_ADMIN_ROLE_CODE, "code"); $default_role_id = $config->getValue(); $new_default_role_id = null; if ($default_role_id == $role->getId() and !$role_data["default"]) { $new_default_role_id = Acl_Model_Role::DEFAULT_ROLE_ID; } else { if ($role_data["default"]) { $new_default_role_id = $role->getId(); } } if (!empty($new_default_role_id)) { $config->setValue($new_default_role_id)->save(); } $data = array("success" => true, "message" => $this->_("Your role has been successfully saved")); } catch (Exception $e) { $data = array("error" => true, "message" => $e->getMessage()); } $this->_sendHtml($data); } }