/**
  * Prepare grid collection object
  *
  * @return Mage_Api2_Block_Adminhtml_Permissions_User_Edit_Tab_Roles
  */
 protected function _prepareCollection()
 {
     /** @var $collection Mage_Api2_Model_Resource_Acl_Global_Role_Collection */
     $collection = Mage::getResourceModel('api2/acl_global_role_collection');
     $collection->addFieldToFilter('entity_id', array('nin' => Mage_Api2_Model_Acl_Global_Role::getSystemRoles()));
     $this->setCollection($collection);
     return parent::_prepareCollection();
 }
Example #2
0
 /**
  * Hook before html rendering
  *
  * @return Mage_Api2_Block_Adminhtml_Roles_Tabs
  */
 protected function _beforeToHtml()
 {
     $role = $this->getRole();
     if ($role && Mage_Api2_Model_Acl_Global_Role::isSystemRole($role)) {
         $this->setActiveTab('api2_role_section_resources');
     } else {
         $this->setActiveTab('api2_role_section_info');
     }
     return parent::_beforeToHtml();
 }
Example #3
0
 /**
  * Retrieve rules data from DB and inject it into ACL
  *
  * @return Mage_Api2_Model_Acl
  */
 protected function _setRules()
 {
     $resources = $this->getResources();
     /** @var Mage_Api2_Model_Resource_Acl_Global_Rule_Collection $rulesCollection */
     $rulesCollection = Mage::getResourceModel('api2/acl_global_rule_collection');
     foreach ($rulesCollection as $rule) {
         /** @var Mage_Api2_Model_Acl_Global_Rule $rule */
         if (Mage_Api2_Model_Acl_Global_Rule::RESOURCE_ALL === $rule->getResourceId()) {
             if (in_array($rule->getRoleId(), Mage_Api2_Model_Acl_Global_Role::getSystemRoles())) {
                 /** @var Mage_Api2_Model_Acl_Global_Role $role */
                 $role = $this->_getRolesCollection()->getItemById($rule->getRoleId());
                 $privileges = $this->_getConfig()->getResourceUserPrivileges($this->_resourceType, $role->getConfigNodeName());
                 if (!array_key_exists($this->_operation, $privileges)) {
                     continue;
                 }
             }
             $this->allow($rule->getRoleId());
         } elseif (in_array($rule->getResourceId(), $resources)) {
             $this->allow($rule->getRoleId(), $rule->getResourceId(), $rule->getPrivilege());
         }
     }
     return $this;
 }
Example #4
0
 /**
  * Whether tab is hidden
  *
  * @return bool
  */
 public function isHidden()
 {
     return $this->getRole() && Mage_Api2_Model_Acl_Global_Role::isSystemRole($this->getRole());
 }
 /**
  * Set filter value
  *
  * @param Mage_Api2_Model_Acl_Global_Role $role
  */
 public function setFilterValue($role)
 {
     if ($role && $role->getId()) {
         $this->_role = $role;
     }
 }
Example #6
0
 /**
  * Get delete button HTML
  *
  * @return string
  */
 public function getDeleteButtonHtml()
 {
     if (!$this->getRole() || !$this->getRole()->getId() || Mage_Api2_Model_Acl_Global_Role::isSystemRole($this->getRole())) {
         return '';
     }
     $this->getChildBlock('deleteButton')->setData('onclick', sprintf("deleteConfirm('%s', '%s')", Mage::helper('Mage_Adminhtml_Helper_Data')->__('Are you sure you want to do this?'), $this->getUrl('*/*/delete', array('id' => $this->getRole()->getId()))));
     return $this->getChildHtml('deleteButton');
 }
Example #7
0
 /**
  * Get role system belonging
  *
  * @param Mage_Api2_Model_Acl_Global_Role $role
  * @return bool
  */
 public static function isSystemRole($role)
 {
     return in_array($role->getId(), self::getSystemRoles());
 }
 /**
  * Get users
  *
  * @param Mage_Api2_Model_Acl_Global_Role $role
  * @return array
  */
 public function getRoleUsers(Mage_Api2_Model_Acl_Global_Role $role)
 {
     $adapter = $this->_getReadAdapter();
     $select = $adapter->select()->from($this->getTable('api2/acl_user'))->where('role_id=?', $role->getId());
     $users = $adapter->fetchCol($select);
     return $users;
 }
Example #9
0
 /**
  * Decorate 'User Type' column
  *
  * @param string $renderedValue Rendered value
  * @param Mage_Api2_Model_Acl_Global_Role $row
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @param bool $isExport
  * @return string
  */
 public function decorateUserType($renderedValue, $row, $column, $isExport)
 {
     switch ($row->getEntityId()) {
         case Mage_Api2_Model_Acl_Global_Role::ROLE_GUEST_ID:
             $userType = Mage::helper('api2')->__('Guest');
             break;
         case Mage_Api2_Model_Acl_Global_Role::ROLE_CUSTOMER_ID:
             $userType = Mage::helper('api2')->__('Customer');
             break;
         default:
             $userType = Mage::helper('api2')->__('Admin');
             break;
     }
     return $userType;
 }