/** * 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(); }
/** * Whether tab is hidden * * @return bool */ public function isHidden() { return $this->getRole() && Mage_Api2_Model_Acl_Global_Role::isSystemRole($this->getRole()); }
/** * 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'); }
/** * Perform checks before role delete * * @return Mage_Api2_Model_Acl_Global_Role */ protected function _beforeDelete() { if (Mage_Api2_Model_Acl_Global_Role::isSystemRole($this)) { /** @var $helper Mage_Core_Helper_Data */ $helper = Mage::helper('core'); Mage::throwException(Mage::helper('api2')->__('%s role is a special one and can\'t be deleted.', $helper->escapeHtml($this->getRoleName()))); } parent::_beforeDelete(); return $this; }