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 }
getFormAction()
Get FormAction.
$context
Definition: webdav.php:25
This class represents a property form user interface.
This class represents a section header in a property form.
This class represents a checkbox property in a property form.
setFormAction($a_formaction)
Set FormAction.
addItem($a_item)
Add Item (Property, SectionHeader).
Class ilOrgUnitDefaultPermissionFormGUI.
setTarget($a_target)
Set Target.
setTitle($a_title)
Set Title.
addCommandButton($a_cmd, $a_text, $a_id="")
Add Command button.
checkInput()
Check Post Input.
getInput($a_post_var, $ensureValidation=true)
Returns the value of a HTTP-POST variable, identified by the passed id.
__construct(BaseCommands $parent_gui, array $ilOrgUnitPermissionsFilter)
ilOrgUnitDefaultPermissionFormGUI constructor.
$key
Definition: croninfo.php:18
setValuesByArray($a_values, $a_restrict_to_value_keys=false)
Set form values from an array.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.