From: <gem...@li...> - 2012-07-05 14:51:57
|
Revision: 818 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=818&view=rev Author: matijsdejong Date: 2012-07-05 14:51:48 +0000 (Thu, 05 Jul 2012) Log Message: ----------- More fixes for trouble when creating new role Modified Paths: -------------- tags/1.5.4/library/classes/Gems/Default/RoleAction.php Modified: tags/1.5.4/library/classes/Gems/Default/RoleAction.php =================================================================== --- tags/1.5.4/library/classes/Gems/Default/RoleAction.php 2012-07-05 14:01:32 UTC (rev 817) +++ tags/1.5.4/library/classes/Gems/Default/RoleAction.php 2012-07-05 14:51:48 UTC (rev 818) @@ -77,23 +77,26 @@ $roles = $this->acl->getRoles(); $parents = array_combine($roles, $roles); - // Don't allow master or nologin as parents + // Don't allow master, nologin or itself as parents unset($parents['master']); unset($parents['nologin']); + unset($parents[$data['grl_name']]); $bridge->addMultiCheckbox('grl_parents', 'multiOptions', $parents, 'required', false); $allPrivileges = $this->getUsedPrivileges(); $rolePrivileges = $this->escort->acl->getRolePrivileges(); $inheritedPrivileges = (array) $rolePrivileges[$data['grl_name']][MUtil_Acl::INHERITED][Zend_Acl::TYPE_ALLOW]; - $privileges = array_diff_key($allPrivileges, array_flip($inheritedPrivileges)); + $privileges = (array) array_diff_key($allPrivileges, array_flip($inheritedPrivileges)); $inheritedPrivileges = array_intersect_key($allPrivileges, array_flip($inheritedPrivileges)); $checkbox = $bridge->addMultiCheckbox('grl_privileges', 'multiOptions', $privileges, 'required', false); $checkbox->setAttrib('escape', false); //Don't use escaping, so the line breaks work - $checkbox = $bridge->addMultiCheckbox('inherited', 'label', $this->_('Inherited'), 'multiOptions', $inheritedPrivileges, 'required', false, 'disabled', 'disabled'); - $checkbox->setAttrib('escape', false); //Don't use escaping, so the line breaks work - $checkbox->setValue(array_keys($inheritedPrivileges)); //To check the boxes + if ($inheritedPrivileges) { + $checkbox = $bridge->addMultiCheckbox('inherited', 'label', $this->_('Inherited'), 'multiOptions', $inheritedPrivileges, 'required', false, 'disabled', 'disabled'); + $checkbox->setAttrib('escape', false); //Don't use escaping, so the line breaks work + $checkbox->setValue(array_keys($inheritedPrivileges)); //To check the boxes + } } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |