/** * 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); }