From: <gem...@li...> - 2011-12-21 12:24:31
|
Revision: 381 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=381&view=rev Author: mennodekker Date: 2011-12-21 12:24:20 +0000 (Wed, 21 Dec 2011) Log Message: ----------- QuickFix: Allow pr.staff.edit.all to change the userclass from the default for the organization to allow special accounts to use a different auth method Modified Paths: -------------- trunk/library/classes/Gems/Default/StaffAction.php Modified: trunk/library/classes/Gems/Default/StaffAction.php =================================================================== --- trunk/library/classes/Gems/Default/StaffAction.php 2011-12-21 09:43:26 UTC (rev 380) +++ trunk/library/classes/Gems/Default/StaffAction.php 2011-12-21 12:24:20 UTC (rev 381) @@ -123,7 +123,16 @@ $ucfirst = new Zend_Filter_Callback('ucfirst'); - $bridge->addHiddenMulti('gsf_id_user', 'gul_id_user', 'gup_id_user', 'gul_user_class', 'gul_login', 'gul_id_organization'); + $bridge->addHiddenMulti('gsf_id_user', 'gul_id_user', 'gup_id_user', 'gul_login', 'gul_id_organization'); + + //Escape for local users when using radius, should be changed to something more elegant later + //@@TODO: Think of a better way to allow multiple methods per organization + if ($this->escort->hasPrivilege('pr.staff.edit.all')) { + $model->set('gul_user_class', 'label', $this->_('User Definition')); + $bridge->add('gul_user_class'); + } else { + $bridge->addHidden('gul_user_class'); + } //@@TODO: How do we change this? Only per org, or allow per user? //What classes are available? Maybe use something like event loader and add a little desc. to each type? $bridge->addText('gsf_login', 'size', 15, 'minlength', 4, @@ -224,7 +233,7 @@ //otherwise use the defaultStaffDefinition $org = $this->loader->getOrganization($this->menu->getParameterSource()->getMenuParameter('gsf_id_organization', $this->loader->getCurrentUser()->getCurrentOrganizationId())); $orgDef = $org->get('gor_user_class', $this->defaultStaffDefinition); - $model->set('gul_user_class', 'default', $orgDef); + $model->set('gul_user_class', 'default', $orgDef, 'multiOptions', $this->loader->getUserLoader()->getAvailableStaffDefinitions()); $model->set('gsf_iso_lang', 'label', $this->_('Language'), 'multiOptions', $this->util->getLocalized()->getLanguages()); $model->set('gul_can_login', 'label', $this->_('Can login'), 'multiOptions', $this->util->getTranslated()->getYesNo()); $model->set('gsf_logout_on_survey', 'label', $this->_('Logout on survey'), 'multiOptions', $this->util->getTranslated()->getYesNo()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |