ILIAS  release_8 Revision v8.23
ilOrgUnitPositionGUI Class Reference

Class ilOrgUnitPositionGUI. More...

+ Inheritance diagram for ilOrgUnitPositionGUI:
+ Collaboration diagram for ilOrgUnitPositionGUI:

Public Member Functions

 __construct ()
 
 addSubTabs ()
 
- Public Member Functions inherited from ILIAS\Modules\OrgUnit\ARHelper\BaseCommands
 getParentGui ()
 
 setParentGui (BaseCommands $parent_gui)
 
 executeCommand ()
 
 addSubTabs ()
 

Data Fields

const SUBTAB_SETTINGS = 'settings'
 
const SUBTAB_PERMISSIONS = 'obj_orgunit_positions'
 
const CMD_CONFIRM_DELETION = 'confirmDeletion'
 
const CMD_ASSIGN = 'assign'
 
- Data Fields inherited from ILIAS\Modules\OrgUnit\ARHelper\BaseCommands
const CMD_INDEX = "index"
 
const CMD_ADD = "add"
 
const CMD_CREATE = "create"
 
const CMD_EDIT = "edit"
 
const CMD_UPDATE = "update"
 
const CMD_CONFIRM = "confirm"
 
const CMD_CONFIRM_RECURSIVE = "confirmRecursive"
 
const CMD_DELETE = "delete"
 
const CMD_DELETE_RECURSIVE = "deleteRecursive"
 
const CMD_CANCEL = "cancel"
 
const AR_ID = "arid"
 

Protected Member Functions

 getPossibleNextClasses ()
 
 getActiveTabId ()
 
 index ()
 
 add ()
 
 create ()
 
 edit ()
 
 update ()
 
 assign ()
 
 confirmDeletion ()
 
 delete ()
 
 cancel ()
 
 getPositionFromRequest ()
 
- Protected Member Functions inherited from ILIAS\Modules\OrgUnit\ARHelper\BaseCommands
 __construct ()
 
 index ()
 
 getPossibleNextClasses ()
 
 getActiveTabId ()
 
 cancel ()
 
 setContent (string $html)
 
 pushSubTab (string $subtab_id, string $url)
 
 activeSubTab (string $subtab_id)
 
 getParentRefId ()
 

Protected Attributes

ilToolbarGUI $toolbar
 
- Protected Attributes inherited from ILIAS\Modules\OrgUnit\ARHelper\BaseCommands
BaseCommands $parent_gui = null
 

Private Attributes

ilGlobalTemplateInterface $main_tpl
 
ilCtrl $ctrl
 
ilGlobalTemplateInterface $tpl
 
ilLanguage $language
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilOrgUnitPositionGUI::__construct ( )

Definition at line 39 of file class.ilOrgUnitPositionGUI.php.

References $_GET, $DIC, ILIAS\GlobalScreen\Provider\__construct(), ilObjOrgUnitAccess\_checkAccessPositions(), ILIAS\Repository\ctrl(), ILIAS\Repository\initRequest(), ILIAS\UI\examples\Symbol\Glyph\Language\language(), and ILIAS\Repository\toolbar().

40  {
41  global $DIC;
42 
44 
45  $main_tpl = $DIC->ui()->mainTemplate();
46  $this->main_tpl = $DIC->ui()->mainTemplate();
47  $this->ctrl = $DIC->ctrl();
48  $this->toolbar = $DIC->toolbar();
49  $this->tpl = $DIC->ui()->mainTemplate();
50  $this->language = $DIC->language();
51  $this->initRequest(
52  $DIC->http(),
53  $DIC['refinery']
54  );
55 
56 
57  if (!ilObjOrgUnitAccess::_checkAccessPositions((int) $_GET['ref_id'])) {
58  $main_tpl->setOnScreenMessage('failure', $this->language->txt("permission_denied"), true);
59  $DIC->ctrl->redirectByClass(ilObjOrgUnitGUI::class);
60  }
61  }
setOnScreenMessage(string $type, string $a_txt, bool $a_keep=false)
Set a message to be displayed to the user.
global $DIC
Definition: feed.php:28
initRequest(HTTP\Services $http, Refinery\Factory $refinery, ?array $passed_query_params=null, ?array $passed_post_data=null)
Query params and post data parameters are used for testing.
$_GET['client_id']
Definition: saml1-acs.php:21
ilGlobalTemplateInterface $main_tpl
static _checkAccessPositions(int $ref_id)
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

Member Function Documentation

◆ add()

ilOrgUnitPositionGUI::add ( )
protected

Definition at line 88 of file class.ilOrgUnitPositionGUI.php.

88  : void
89  {
90  $form = new ilOrgUnitPositionFormGUI($this, new ilOrgUnitPosition());
91  $this->tpl->setContent($form->getHTML());
92  }
Class ilOrgUnitPositionFormGUI.

◆ addSubTabs()

ilOrgUnitPositionGUI::addSubTabs ( )

Definition at line 261 of file class.ilOrgUnitPositionGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Modules\OrgUnit\ARHelper\BaseCommands\pushSubTab().

Referenced by edit().

261  : void
262  {
263  $this->ctrl->saveParameter($this, 'arid');
264  $this->ctrl->saveParameterByClass(ilOrgUnitDefaultPermissionGUI::class, 'arid');
265  $this->pushSubTab(self::SUBTAB_SETTINGS, $this->ctrl
266  ->getLinkTarget($this, self::CMD_EDIT));
267  $this->pushSubTab(self::SUBTAB_PERMISSIONS, $this->ctrl
268  ->getLinkTargetByClass(
269  ilOrgUnitDefaultPermissionGUI::class,
270  self::CMD_INDEX
271  ));
272  }
pushSubTab(string $subtab_id, string $url)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ assign()

ilOrgUnitPositionGUI::assign ( )
protected

Definition at line 128 of file class.ilOrgUnitPositionGUI.php.

References cancel(), ilOrgUnitPosition\CORE_POSITION_EMPLOYEE, ilOrgUnitUserAssignment\findOrCreateAssignment(), ilOrgUnitPosition\getCorePosition(), ilOrgUnitUserAssignmentQueries\getInstance(), getPositionFromRequest(), and ILIAS\UI\examples\Symbol\Glyph\Language\language().

Referenced by delete().

128  : void
129  {
130  $position = $this->getPositionFromRequest();
131  if ($position->isCorePosition()) {
132  $this->cancel();
133  }
134  $ilOrgUnitUserAssignmentQueries = ilOrgUnitUserAssignmentQueries::getInstance();
135  $assignments = $ilOrgUnitUserAssignmentQueries->getUserAssignmentsOfPosition($position->getId());
136 
138 
139  foreach ($assignments as $assignment) {
141  $assignment->getUserId(),
142  $employee_position->getId(),
143  $assignment->getOrguId()
144  );
145  $assignment->delete();
146  }
147 
148  $this->main_tpl->setOnScreenMessage('success', $this->language->txt('msg_assignment_to_employee_done'), true);
149  }
static findOrCreateAssignment(int $user_id, int $position_id, int $orgu_id)
static getCorePosition(int $core_identifier)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cancel()

ilOrgUnitPositionGUI::cancel ( )
protected

Definition at line 205 of file class.ilOrgUnitPositionGUI.php.

References ILIAS\Repository\ctrl().

Referenced by assign(), and confirmDeletion().

205  : void
206  {
207  $this->ctrl->redirect($this, self::CMD_INDEX);
208  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ confirmDeletion()

ilOrgUnitPositionGUI::confirmDeletion ( )
protected

Definition at line 151 of file class.ilOrgUnitPositionGUI.php.

References cancel(), ILIAS\Repository\ctrl(), ilOrgUnitUserAssignmentQueries\getInstance(), getPositionFromRequest(), and ILIAS\UI\examples\Symbol\Glyph\Language\language().

151  : void
152  {
153  $position = $this->getPositionFromRequest();
154  if ($position->isCorePosition()) {
155  $this->cancel();
156  }
157  $position->afterObjectLoad();
158  self::initAuthoritiesRenderer();
159  $this->language->loadLanguageModule('orgu');
160  $position_string = $this->language->txt("position") . ": ";
161  $authority_string = $this->language->txt("authorities") . ": ";
162  $user_string = $this->language->txt("user_assignments") . ": ";
163  $ilOrgUnitUserAssignmentQueries = ilOrgUnitUserAssignmentQueries::getInstance();
164 
165  $confirmation = new ilConfirmationGUI();
166  $confirmation->setFormAction($this->ctrl->getFormAction($this));
167  $confirmation->setCancel($this->language->txt(self::CMD_CANCEL), self::CMD_CANCEL);
168  $confirmation->setConfirm($this->language->txt(self::CMD_DELETE), self::CMD_DELETE);
169  $confirmation->setHeaderText($this->language->txt('msg_confirm_deletion'));
170  $confirmation->addItem(self::AR_ID, $position->getId(), $position_string
171  . $position->getTitle());
172  // Authorities
173  $authority_string .= implode(", ", $position->getAuthorities());
174  $confirmation->addItem('authorities', true, $authority_string);
175 
176  // Amount uf user-assignments
177  $userIdsOfPosition = $ilOrgUnitUserAssignmentQueries->getUserIdsOfPosition($position->getId());
178  $ilOrgUnitUserQueries = new ilOrgUnitUserQueries();
179  $usersOfPosition = $ilOrgUnitUserQueries->findAllUsersByUserIds($userIdsOfPosition);
180  $userNames = $ilOrgUnitUserQueries->getAllUserNames($usersOfPosition);
181 
182  $confirmation->addItem('users', true, $user_string . implode(', ', $userNames));
183 
184  $checkbox_assign_users = new ilCheckboxInputGUI('', 'assign_users');
185  $checkbox_assign_users->setChecked(true);
186  $checkbox_assign_users->setValue(1);
187  $checkbox_assign_users->setOptionTitle('Assign affected users to employee role');
188  $confirmation->addItem('assign_users', '', $checkbox_assign_users->render());
189 
190  $this->tpl->setContent($confirmation->getHTML());
191  }
This class represents a checkbox property in a property form.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ create()

ilOrgUnitPositionGUI::create ( )
protected

Definition at line 94 of file class.ilOrgUnitPositionGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\UI\examples\Symbol\Glyph\Language\language().

94  : void
95  {
96  $form = new ilOrgUnitPositionFormGUI($this, new ilOrgUnitPosition());
97  if ($form->saveObject() === true) {
98  $this->main_tpl->setOnScreenMessage('success', $this->language->txt('msg_position_created'), true);
99  $this->ctrl->redirect($this, self::CMD_INDEX);
100  }
101 
102  $this->tpl->setContent($form->getHTML());
103  }
Class ilOrgUnitPositionFormGUI.
+ Here is the call graph for this function:

◆ delete()

ilOrgUnitPositionGUI::delete ( )
protected

Definition at line 193 of file class.ilOrgUnitPositionGUI.php.

References assign(), ILIAS\Repository\ctrl(), getPositionFromRequest(), and ILIAS\UI\examples\Symbol\Glyph\Language\language().

193  : void
194  {
195  if ($_POST['assign_users']) {
196  $this->assign();
197  }
198  $position = $this->getPositionFromRequest();
199  $position->afterObjectLoad();
200  $position->deleteWithAllDependencies();
201  $this->main_tpl->setOnScreenMessage('success', $this->language->txt('msg_deleted'), true);
202  $this->ctrl->redirect($this, self::CMD_INDEX);
203  }
+ Here is the call graph for this function:

◆ edit()

ilOrgUnitPositionGUI::edit ( )
protected

Definition at line 105 of file class.ilOrgUnitPositionGUI.php.

References ILIAS\Modules\OrgUnit\ARHelper\BaseCommands\activeSubTab(), addSubTabs(), and getPositionFromRequest().

105  : void
106  {
107  $this->addSubTabs();
108  $this->activeSubTab(self::SUBTAB_SETTINGS);
109  $position = $this->getPositionFromRequest();
110  $form = new ilOrgUnitPositionFormGUI($this, $position);
111  $form->fillForm();
112  $this->tpl->setContent($form->getHTML());
113  }
Class ilOrgUnitPositionFormGUI.
+ Here is the call graph for this function:

◆ getActiveTabId()

ilOrgUnitPositionGUI::getActiveTabId ( )
protected

Definition at line 71 of file class.ilOrgUnitPositionGUI.php.

References ilObjOrgUnitGUI\TAB_POSITIONS.

71  : string
72  {
74  }

◆ getPositionFromRequest()

ilOrgUnitPositionGUI::getPositionFromRequest ( )
protected

Definition at line 210 of file class.ilOrgUnitPositionGUI.php.

References $GLOBALS, $id, ILIAS\LTI\ToolProvider\$key, $lang, ActiveRecord\findOrGetInstance(), ilOrgUnitAuthority\OVER_EVERYONE, ilOrgUnitAuthority\replaceNameRenderer(), ilOrgUnitAuthority\SCOPE_ALL_ORGUS, ilOrgUnitAuthority\SCOPE_SAME_ORGU, ilOrgUnitAuthority\SCOPE_SUBSEQUENT_ORGUS, and ILIAS\Repository\str().

Referenced by assign(), confirmDeletion(), delete(), edit(), and update().

210  : ?ActiveRecord
211  {
212  return ilOrgUnitPosition::find($this->str(self::AR_ID));
213  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPossibleNextClasses()

ilOrgUnitPositionGUI::getPossibleNextClasses ( )
protected

Definition at line 63 of file class.ilOrgUnitPositionGUI.php.

63  : array
64  {
65  return array(
66  ilOrgUnitDefaultPermissionGUI::class,
67  ilOrgUnitUserAssignmentGUI::class,
68  );
69  }

◆ index()

ilOrgUnitPositionGUI::index ( )
protected

Definition at line 76 of file class.ilOrgUnitPositionGUI.php.

References Vendor\Package\$b, ILIAS\Repository\ctrl(), ilLinkButton\getInstance(), ILIAS\Modules\OrgUnit\ARHelper\BaseCommands\setContent(), and ILIAS\Repository\toolbar().

76  : void
77  {
78  self::initAuthoritiesRenderer();
80  $b->setUrl($this->ctrl->getLinkTarget($this, self::CMD_ADD));
81  $b->setCaption('add_position');
82  $this->toolbar->addButtonInstance($b);
83 
84  $table = new ilOrgUnitPositionTableGUI($this, self::CMD_INDEX);
85  $this->setContent($table->getHTML());
86  }
Class ilOrgUnitPositionTableGUI.
+ Here is the call graph for this function:

◆ update()

ilOrgUnitPositionGUI::update ( )
protected

Definition at line 115 of file class.ilOrgUnitPositionGUI.php.

References ILIAS\Repository\ctrl(), getPositionFromRequest(), and ILIAS\UI\examples\Symbol\Glyph\Language\language().

115  : void
116  {
117  $position = $this->getPositionFromRequest();
118  $form = new ilOrgUnitPositionFormGUI($this, $position);
119  $form->setValuesByPost();
120  if ($form->saveObject() === true) {
121  $this->main_tpl->setOnScreenMessage('success', $this->language->txt('msg_position_updated'), true);
122  $this->ctrl->redirect($this, self::CMD_INDEX);
123  }
124 
125  $this->tpl->setContent($form->getHTML());
126  }
Class ilOrgUnitPositionFormGUI.
+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

ilCtrl ilOrgUnitPositionGUI::$ctrl
private

Definition at line 35 of file class.ilOrgUnitPositionGUI.php.

◆ $language

ilLanguage ilOrgUnitPositionGUI::$language
private

Definition at line 37 of file class.ilOrgUnitPositionGUI.php.

◆ $main_tpl

ilGlobalTemplateInterface ilOrgUnitPositionGUI::$main_tpl
private

Definition at line 34 of file class.ilOrgUnitPositionGUI.php.

◆ $toolbar

ilToolbarGUI ilOrgUnitPositionGUI::$toolbar
protected

Definition at line 33 of file class.ilOrgUnitPositionGUI.php.

◆ $tpl

ilGlobalTemplateInterface ilOrgUnitPositionGUI::$tpl
private

Definition at line 36 of file class.ilOrgUnitPositionGUI.php.

◆ CMD_ASSIGN

const ilOrgUnitPositionGUI::CMD_ASSIGN = 'assign'

Definition at line 32 of file class.ilOrgUnitPositionGUI.php.

◆ CMD_CONFIRM_DELETION

const ilOrgUnitPositionGUI::CMD_CONFIRM_DELETION = 'confirmDeletion'

◆ SUBTAB_PERMISSIONS

const ilOrgUnitPositionGUI::SUBTAB_PERMISSIONS = 'obj_orgunit_positions'

Definition at line 30 of file class.ilOrgUnitPositionGUI.php.

Referenced by ilOrgUnitDefaultPermissionGUI\index().

◆ SUBTAB_SETTINGS

const ilOrgUnitPositionGUI::SUBTAB_SETTINGS = 'settings'

Definition at line 29 of file class.ilOrgUnitPositionGUI.php.


The documentation for this class was generated from the following file: