Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 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);
     }
 }