ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilOrgUnitDefaultPermissionFormGUI.php
Go to the documentation of this file.
1<?php
2
4
11{
12 const F_OPERATIONS = 'operations';
16 protected $parent_gui;
20 protected $ilOrgUnitPermissions = [];
21
22
29 public function __construct(BaseCommands $parent_gui, array $ilOrgUnitPermissionsFilter)
30 {
31 $this->parent_gui = $parent_gui;
32 $this->ilOrgUnitPermissions = $ilOrgUnitPermissionsFilter;
33 $this->dic()->ctrl()->saveParameter($parent_gui, 'arid');
34 $this->setFormAction($this->dic()->ctrl()->getFormAction($this->parent_gui));
35 $this->initFormElements();
36 $this->initButtons();
37 $this->setTarget('_top');
38 parent::__construct();
39 }
40
41
45 public function saveObject()
46 {
47 if (!$this->fillObject()) {
48 return false;
49 }
50 foreach ($this->ilOrgUnitPermissions as $ilOrgUnitPermission) {
51 $ilOrgUnitPermission->update();
52 }
53
54 return true;
55 }
56
57
58 protected function initButtons()
59 {
60 $this->setTitle($this->txt("form_title_org_default_permissions_"
61 . BaseCommands::CMD_UPDATE));
62 $this->addCommandButton(BaseCommands::CMD_UPDATE, $this->txt('save', true));
63 $this->addCommandButton(BaseCommands::CMD_CANCEL, $this->txt(BaseCommands::CMD_CANCEL));
64 }
65
66
67 protected function initFormElements()
68 {
69 foreach ($this->ilOrgUnitPermissions as $ilOrgUnitPermission) {
71 $context = $ilOrgUnitPermission->getContext()->getContext();
72 $header->setTitle($this->txt("obj_{$context}", false));
73 $this->addItem($header);
74
75 // Checkboxes
76 foreach ($ilOrgUnitPermission->getPossibleOperations() as $operation) {
77 $title = $this->txt("org_op_{$operation->getOperationString()}", false);
78 $id = $operation->getOperationId();
79 $cb = new ilCheckboxInputGUI($title, "operations[{$context}][{$id}]");
80 $this->addItem($cb);
81 }
82 }
83 }
84
85
86 public function fillForm()
87 {
88 $operations = array();
89 foreach ($this->ilOrgUnitPermissions as $ilOrgUnitPermission) {
90 $context = $ilOrgUnitPermission->getContext()->getContext();
91 foreach ($ilOrgUnitPermission->getPossibleOperations() as $operation) {
92 $id = $operation->getOperationId();
93 $operations["operations[{$context}][{$id}]"] = $ilOrgUnitPermission->isOperationIdSelected($operation->getOperationId());
94 }
95 }
96 $this->setValuesByArray($operations);
97 }
98
99
100 protected function fillObject()
101 {
102 if (!$this->checkInput()) {
103 return false;
104 }
105 $sent_operation_ids = $this->getInput(self::F_OPERATIONS);
106 foreach ($this->ilOrgUnitPermissions as $ilOrgUnitPermission) {
107 $operations = [];
108 $context = $ilOrgUnitPermission->getContext()->getContext();
109 foreach ($ilOrgUnitPermission->getPossibleOperations() as $operation) {
110 $id = $operation->getOperationId();
111 if ($sent_operation_ids[$context][$id]) {
112 $operations[] = ilOrgUnitOperation::find($id);
113 }
114 }
115 $ilOrgUnitPermission->setOperations($operations);
116 }
117
118 return true;
119 }
120
121
125 public function getIlOrgUnitPermissions()
126 {
128 }
129
130
135 {
136 $this->ilOrgUnitPermissions = $ilOrgUnitPermissions;
137 }
138
139
143 protected function dic()
144 {
145 return $GLOBALS["DIC"];
146 }
147
148
154 protected function txt($key)
155 {
156 return $this->parent_gui->txt($key);
157 }
158}
An exception for terminatinating execution or to throw for unit testing.
This class represents a checkbox property in a property form.
setTarget($a_target)
Set Target.
setFormAction($a_formaction)
Set FormAction.
getFormAction()
Get FormAction.
This class represents a section header in a property form.
__construct(BaseCommands $parent_gui, array $ilOrgUnitPermissionsFilter)
ilOrgUnitDefaultPermissionFormGUI constructor.
This class represents a property form user interface.
addItem($a_item)
Add Item (Property, SectionHeader).
addCommandButton($a_cmd, $a_text, $a_id="")
Add Command button.
setValuesByArray($a_values, $a_restrict_to_value_keys=false)
Set form values from an array.
getInput($a_post_var, $ensureValidation=true)
Returns the value of a HTTP-POST variable, identified by the passed id.
checkInput()
Check Post Input.
setTitle($a_title)
Set Title.
$key
Definition: croninfo.php:18
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
$context
Definition: webdav.php:25