function form_addgroup() { $oForm = new KTForm(); $oForm->setOptions(array('identifier' => 'ktcore.groups.add', 'label' => _kt("Create a new group"), 'submit_label' => _kt("Create group"), 'action' => 'creategroup', 'fail_action' => 'addgroup', 'cancel_action' => 'main', 'context' => $this)); $oForm->setWidgets(array(array('ktcore.widgets.string', array('name' => 'group_name', 'label' => _kt("Group Name"), 'description' => _kt('A short name for the group. e.g. <strong>administrators</strong>.'), 'value' => null, 'required' => true)), array('ktcore.widgets.boolean', array('name' => 'sysadmin', 'label' => _kt("System Administrators"), 'description' => _kt('Should all the members of this group be given <strong>system</strong> administration privileges?'), 'value' => null)))); $oForm->setValidators(array(array('ktcore.validators.string', array('test' => 'group_name', 'output' => 'group_name')), array('ktcore.validators.boolean', array('test' => 'sysadmin', 'output' => 'sysadmin')))); // if we have any units. $aUnits = Unit::getList(); if (!PEAR::isError($aUnits) && !empty($aUnits)) { $oForm->addWidgets(array(array('ktcore.widgets.entityselection', array('name' => 'unit', 'label' => _kt('Unit'), 'description' => _kt('Which Unit is this group part of?'), 'vocab' => $aUnits, 'label_method' => 'getName', 'simple_select' => false, 'unselected_label' => _kt("No unit"))), array('ktcore.widgets.boolean', array('name' => 'unitadmin', 'label' => _kt("Unit Administrators"), 'description' => _kt('Should all the members of this group be given <strong>unit</strong> administration privileges?'), 'important_description' => _kt("Note that its not possible to set a group without a unit as having unit administration privileges."), 'value' => null)))); $oForm->addValidators(array(array('ktcore.validators.entity', array('test' => 'unit', 'class' => 'Unit', 'output' => 'unit')), array('ktcore.validators.boolean', array('test' => 'unitadmin', 'output' => 'unitadmin')))); } return $oForm; }