/**
  * Override to handle the form layout for this view.
  * @param $form If the layout is editable, then pass a $form otherwise it can
  * be null.
  * @return A string containing the element's content.
  */
 protected function renderFormLayout($form = null)
 {
     assert('$form instanceof ZurmoActiveForm');
     $importModelClassName = ImportRulesUtil::getImportRulesClassNameByType($this->model->importRulesType);
     $importRulesLabel = $importModelClassName::getDisplayLabel();
     $label = '<h3>' . Zurmo::t('ImportModule', 'Who can read and write the new {importRulesLabel}', array('{importRulesLabel}' => $importRulesLabel)) . '</h3>';
     $element = new ExplicitReadWriteModelPermissionsElement($this->model, 'explicitReadWriteModelPermissions', $form);
     $element->editableTemplate = $label . '{content}';
     $content = $form->errorSummary($this->model);
     $content .= ZurmoHtml::tag('div', array('class' => 'right-side-edit-view-panel'), $element->render());
     return $content;
 }
 protected function resolveSelectedGroup()
 {
     $resolvedSelectedGroup = parent::resolveSelectedGroup();
     if ($resolvedSelectedGroup === null) {
         return UserConfigurationFormAdapter::resolveAndGetValue(Yii::app()->user->userModel, 'defaultPermissionGroupSetting', false);
     }
     return $resolvedSelectedGroup;
 }
 /**
  * @return string
  */
 protected function renderRightSideFormLayout()
 {
     $content = '<h3>' . Zurmo::t('ReportsModule', 'Rights and Permissions') . '</h3><div id="owner-box">';
     $element = new OwnerNameIdElement($this->model, 'null', $this->form);
     $element->editableTemplate = '{label}{content}{error}';
     $content .= $element->render() . '</div>';
     $element = new ExplicitReadWriteModelPermissionsElement($this->model, 'explicitReadWriteModelPermissions', $this->form);
     $element->editableTemplate = '{label}{content}{error}';
     $content .= $element->render();
     return $content;
 }
 protected function makeTypeValuesAndLabels($isCreatingNewModel, $isRequired)
 {
     $data = array();
     if (!$isCreatingNewModel) {
         throw new NotSupportedException();
     }
     $data[self::TYPE_DYNAMIC_SAME_AS_TRIGGERED_MODEL] = Zurmo::t('WorkflowsModule', 'Same as triggered record');
     $data[self::TYPE_DYNAMIC_OWNER] = Zurmo::t('ZurmoModule', 'Owner');
     $groups = ExplicitReadWriteModelPermissionsElement::getSelectableGroupsData();
     foreach ($groups as $id => $name) {
         $data[$id] = Zurmo::t('ZurmoModule', 'Owner and users in {groupName}', array('{groupName}' => $name));
     }
     $data[self::TYPE_DYNAMIC_EVERYONE_GROUP] = GroupsModule::resolveEveryoneDisplayLabel();
     return $data;
 }
 protected function renderControlNonEditable()
 {
     return ExplicitReadWriteModelPermissionsElement::renderControlNonEditable();
 }
 /**
  * Converts User's configuration of selected type to ExplicitReadWriteModelPermissionsElement's compatible
  * @param $selectedType Selected Type index from User's Configuration
  * @return $selectedTypeIndex Selected Type Index converted to ExplicitReadWriteModelPermissionsElement::getPermissionTypes() compatible format
  */
 protected function resolveUserPermissionConfigurationToPermissionType($selectedType)
 {
     assert('is_int($selectedType)');
     assert('$selectedType >= UserConfigurationForm::DEFAULT_PERMISSIONS_SETTING_OWNER');
     assert('$selectedType <= UserConfigurationForm::DEFAULT_PERMISSIONS_SETTING_EVERYONE');
     $userConfigPermissionTypes = UserConfigurationForm::getAllDefaultPermissionTypes();
     $explicitReadWritePermissionTypes = parent::getPermissionTypes();
     return array_search($userConfigPermissionTypes[$selectedType], $explicitReadWritePermissionTypes);
 }