Example #1
0
File: Role.php Project: valizr/MMA
 public function save(Default_Model_Role $value)
 {
     $auth = Zend_Auth::getInstance();
     $authAccount = $auth->getStorage()->read();
     if (null != $authAccount) {
         if (null != $authAccount->getId()) {
             $user = new Default_Model_Users();
             $user->find($authAccount->getId());
             $data = array('id' => $value->getId(), 'idParent' => $value->getIdParent(), 'name' => $value->getName(), 'isAdmin' => $value->getIsAdmin(), 'deleted' => $value->getDeleted() != NULL ? $value->getDeleted() : 0);
             if (null === ($id = $value->getId())) {
                 $data['created'] = new Zend_Db_Expr('NOW()');
                 $id = $this->getDbTable()->insert($data);
             } else {
                 $data['modified'] = new Zend_Db_Expr('NOW()');
                 $this->getDbTable()->update($data, array('id = ?' => $id));
             }
             return $id;
         }
     }
 }
Example #2
0
File: Roles.php Project: valizr/MMA
    public static function getAllResources($coreRoleId, $isAdmin = false, $canAddResourceRole = false, $roleId = null, $searchText = null)
    {
        if ($roleId == null) {
            $roleId = $coreRoleId;
        }
        $return = '<input type="hidden" name="roleId" value="' . $roleId . '" />';
        //hidden input to send the role id
        //select the logged in rol resources that he has access to
        $model = new Default_Model_Resource();
        $select = $model->getMapper()->getDbTable()->select()->from(array('r' => 'resource'), array('r.id', 'r.idGroup', 'r.description'));
        if (!self::isAdmin($coreRoleId)) {
            $select->joinLeft(array('rr' => 'resource_role'), 'r.id = rr.idResource', array('rid' => 'rr.id'))->where('rr.idRole = ?', $coreRoleId);
        }
        if ($searchText != null) {
            $select->where('r.description LIKE (?)', '%' . $searchText . '%');
        }
        $select->where('NOT r.deleted')->order(array('r.idGroup ASC', 'r.id ASC'));
        $select->setIntegrityCheck(false);
        //		echo 	$select;
        $result = $model->fetchAll($select);
        if ($result) {
            $var = null;
            foreach ($result as $value) {
                //BEGIN:Display resource category
                if (($var == NULL || $var != $value->getIdGroup()) && $value->getIdGroup() != null) {
                    if ($var != null) {
                        $return .= '</div>';
                        $return .= '</div>';
                    }
                    $return .= "<div class='resourceRole'>\n\t\t\t\t\t\t\t\t\t<h3>{$value->getResourceGroup()->getName()}</h3>\n\t\t\t\t\t\t\t\t\t<div>";
                }
                //END:Display resource category
                //Check if role id has access to resource,and check;
                $checked = '';
                if (self::hasAccessbyId($roleId, $value->getId())) {
                    $checked = 'checked ';
                }
                //If admin disable checkbox
                $readonly = '';
                if ($canAddResourceRole == false || $roleId == $coreRoleId) {
                    //$readonly = 'disabled="disabled"';
                    $isAdmin = self::isAdmin($coreRoleId) ? true : false;
                    if ($isAdmin) {
                        $checked = 'checked ';
                    }
                } else {
                    if ($isAdmin) {
                        $checked = 'checked ';
                        //$readonly = 'disabled="disabled"';
                    } else {
                        //BEGIN:If parent role doesn't have the resource, disable checkbox
                        //get parent roleId if there is any
                        $role = new Default_Model_Role();
                        $role->find($roleId);
                        if (!self::isAdmin($role->getIdParent())) {
                            if ($role->getIdParent() != null && !self::hasAccessbyId($role->getIdParent(), $value->getId())) {
                                //$readonly = 'disabled="disabled"';
                            }
                        }
                        //END:If parent role doesn't have the resource, disable checkbox
                    }
                }
                $return .= '<div class="resourceName">
								<input type="checkbox" class="roleResource" value="' . $value->getId() . '" name="roleResource[]" ' . $checked . $readonly . ' />' . $value->getDescription() . '
						   </div>';
                $var = $value->getIdGroup();
            }
            $return .= '</div>';
            $return .= '</div>';
        } else {
            $return .= 'Nu a fost gasit nici un rezultat.';
        }
        return $return;
    }
Example #3
0
 public function deleteAction()
 {
     //		//check if the auth user has acces to this modul
     //		if(!Needs_Tools::hasAccess(Zend_Registry::get('user')->getRoleId(),'stergere_rol')){
     //			$this->_redirect('/');
     //		}
     //
     $id = $this->getRequest()->getParam('id');
     //		//check if user can delete this role (if it's his role child role)
     //		if(!Needs_Tools::checkIfSubRole(Zend_Registry::get('user')->getRoleId(),$id)){
     //			$this->_redirect('/');
     //		}
     $model = new Default_Model_Role();
     if ($model->find($id)) {
         //all sub childs goes a level up
         $parentId = $model->getIdParent();
         $graph = new Needs_Graph($model, false, array('idParent', 'id'), 'array', true);
         if ($graph->moveChildren($parentId)) {
             //TODO:fallback if couldn't delete children
         }
         if ($model->delete()) {
             $this->_flashMessenger->addMessage("<div class='success canhide'><p>Rolul a fost sters cu succes.</p><a href='javascript:;'></a></div>");
         } else {
             $this->_flashMessenger->addMessage("<div class='failure canhide'><p>S-a produs o eroare in stergerea rolului. Nu s-a efectuat nici o modificare</p><a href='javascript:;'></a></div>");
         }
     }
     $this->_redirect(WEBROOT . 'role');
 }