24 $this->ctrl()->redirectByClass(ilObjOrgUnitGUI::class);
27 $r = $this->
http()->request();
28 switch ($this->ctrl()->getNextClass()) {
29 case strtolower(ilRepositorySearchGUI::class):
30 switch ($this->ctrl()->getCmd()) {
31 case 'addUserFromAutoComplete':
32 if ($r->getQueryParams()[
'addusertype'] ==
"staff") {
38 $this->ctrl()->forwardCommand($repo);
44 parent::executeCommand();
58 $this->ctrl()->setParameterByClass(ilRepositorySearchGUI::class,
'addusertype',
'staff');
60 'auto_complete_name' => $this->txt(
'user'),
61 'user_type' => $types,
62 'submit_name' => $this->txt(
'add'),
69 $html .= $ilOrgUnitUserAssignmentTableGUI->getHTML();
81 $ilOrgUnitRecursiveUserAssignmentTableGUI =
84 self::CMD_ASSIGNMENTS_RECURSIVE,
87 $html .= $ilOrgUnitRecursiveUserAssignmentTableGUI->getHTML();
95 $confirmation = $this->getConfirmationGUI();
96 $confirmation->setConfirm($this->txt(
'remove_user'), self::CMD_DELETE);
103 $confirmation = $this->getConfirmationGUI();
104 $confirmation->setConfirm($this->txt(
'remove_user'), self::CMD_DELETE_RECURSIVE);
111 $this->ctrl()->saveParameter($this,
'position_id');
112 $r = $this->
http()->request();
118 $confirmation->setFormAction($this->ctrl()->getFormAction($this));
119 $confirmation->setHeaderText(sprintf($this->txt(
'msg_confirm_remove_user'), $ilOrgUnitPosition->getTitle()));
120 $confirmation->addItem(
'usr_id', $r->getQueryParams()[
'usr_id'],
ilObjUser::_lookupLogin($r->getQueryParams()[
'usr_id']));
121 $confirmation->setCancel($this->txt(self::CMD_CANCEL), self::CMD_CANCEL);
123 return $confirmation;
126 protected function delete()
128 $r = $this->
http()->request();
130 ->getAssignmentOrFail(
$_POST[
'usr_id'], $r->getQueryParams()[
'position_id'], $this->
getParentRefId());
132 ilUtil::sendSuccess($this->txt(
'remove_successful'),
true);
138 $r = $this->
http()->request();
140 ->getAssignmentsOfUserIdAndPosition((
int)
$_POST[
'usr_id'], (
int) $r->getQueryParams()[
'position_id'])
143 foreach ($assignments as $assignment) {
144 $assignment->delete();
146 ilUtil::sendSuccess($this->txt(
'remove_successful'),
true);
152 $this->ctrl()->redirect($this, self::CMD_INDEX);
158 if (!$this->dic()->access()->checkAccess(
"write",
"", $this->
getParentRefId())) {
160 $this->ctrl()->redirect($this, self::CMD_INDEX);
163 $users = explode(
',',
$_POST[
'user_login']);
165 foreach ($users as $user) {
168 $user_ids[] = $user_id;
172 if (!count($user_ids)) {
174 $this->ctrl()->redirect($this, self::CMD_INDEX);
177 $position_id = isset(
$_POST[
'user_type']) ?
$_POST[
'user_type'] : 0;
179 if (!$position_id && !$position = ilOrgUnitPosition::find($position_id)) {
181 $this->ctrl()->redirect($this, self::CMD_INDEX);
183 foreach ($user_ids as $user_id) {
187 ilUtil::sendSuccess($this->txt(
"users_successfuly_added"),
true);
188 $this->ctrl()->redirect($this, self::CMD_INDEX);
193 $this->
pushSubTab(self::SUBTAB_ASSIGNMENTS, $this->ctrl()
194 ->getLinkTarget($this, self::CMD_INDEX));
195 $this->
pushSubTab(self::SUBTAB_ASSIGNMENTS_RECURSIVE, $this->ctrl()
196 ->getLinkTarget($this, self::CMD_ASSIGNMENTS_RECURSIVE));
static _lookupLogin($a_user_id)
lookup login
static findOrCreateAssignment($user_id, $position_id, $orgu_id)
const SUBTAB_ASSIGNMENTS_RECURSIVE
Class ilOrgUnitUserAssignmentGUI.
static _lookupId($a_user_str)
Lookup id by login.
static http()
Fetches the global http state from ILIAS.
static findOrFail($primary_key, array $add_constructor_args=array())
Tries to find the object and throws an Exception if object is not found, instead of returning null...
pushSubTab($subtab_id, $url)
const CMD_ASSIGNMENTS_RECURSIVE
static getActiveForPosition($orgu_ref_id)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Class ilOrgUnitRecursiveUserAssignmentTableGUI.
static _checkAccessPositions(int $ref_id)
static getArray($key=null, $values=null)
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
Class ilOrgUnitUserAssignmentTableGUI.
Confirmation screen class.