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 $repo->setCallback($this,
'addStaffFromSearch');
39 $this->ctrl()->forwardCommand($repo);
45 parent::executeCommand();
59 $this->ctrl()->setParameterByClass(ilRepositorySearchGUI::class,
'addusertype',
'staff');
61 'auto_complete_name' => $this->txt(
'user'),
62 'user_type' => $types,
63 'submit_name' => $this->txt(
'add'),
70 $html .= $ilOrgUnitUserAssignmentTableGUI->getHTML();
82 $ilOrgUnitRecursiveUserAssignmentTableGUI =
84 self::CMD_ASSIGNMENTS_RECURSIVE,
86 $html .= $ilOrgUnitRecursiveUserAssignmentTableGUI->getHTML();
92 protected function confirm()
94 $this->ctrl()->saveParameter($this,
'position_id');
95 $r = $this->
http()->request();
101 $confirmation->setFormAction($this->ctrl()->getFormAction($this));
102 $confirmation->setCancel($this->txt(self::CMD_CANCEL), self::CMD_CANCEL);
103 $confirmation->setConfirm($this->txt(
'remove_user'), self::CMD_DELETE);
104 $confirmation->setHeaderText(sprintf($this->txt(
'msg_confirm_remove_user'), $ilOrgUnitPosition->getTitle()));
105 $confirmation->addItem(
'usr_id', $r->getQueryParams()[
'usr_id'],
ilObjUser::_lookupLogin($r->getQueryParams()[
'usr_id']));
111 protected function delete()
113 $r = $this->
http()->request();
115 ->getAssignmentOrFail(
$_POST[
'usr_id'], $r->getQueryParams()[
'position_id'], $this->
getParentRefId());
117 ilUtil::sendSuccess($this->txt(
'remove_successful'),
true);
124 $this->ctrl()->redirect($this, self::CMD_INDEX);
130 if (!$this->dic()->access()->checkAccess(
"write",
"", $this->
getParentRefId())) {
132 $this->ctrl()->redirect($this, self::CMD_INDEX);
135 $users = explode(
',',
$_POST[
'user_login']);
137 foreach ($users as $user) {
140 $user_ids[] = $user_id;
144 if (!count($user_ids)) {
146 $this->ctrl()->redirect($this, self::CMD_INDEX);
151 if (!$position_id && !$position = ilOrgUnitPosition::find($position_id)) {
153 $this->ctrl()->redirect($this, self::CMD_INDEX);
155 foreach ($user_ids as $user_id) {
159 ilUtil::sendSuccess($this->txt(
"users_successfuly_added"),
true);
160 $this->ctrl()->redirect($this, self::CMD_INDEX);
168 if (!$this->dic()->access()->checkAccess(
"write",
"", $this->
getParentRefId())) {
170 $this->ctrl()->redirect($this, self::CMD_INDEX);
173 if (!count($user_ids)) {
175 $this->ctrl()->redirect($this, self::CMD_INDEX);
180 if (!$position_id && !$position = ilOrgUnitPosition::find($position_id)) {
182 $this->ctrl()->redirect($this, self::CMD_INDEX);
184 foreach ($user_ids as $user_id) {
188 ilUtil::sendSuccess($this->txt(
"users_successfuly_added"),
true);
189 $this->ctrl()->redirect($this, self::CMD_INDEX);
194 $this->
pushSubTab(self::SUBTAB_ASSIGNMENTS, $this->ctrl()
195 ->getLinkTarget($this, self::CMD_INDEX));
196 $this->
pushSubTab(self::SUBTAB_ASSIGNMENTS_RECURSIVE, $this->ctrl()
197 ->getLinkTarget($this, self::CMD_ASSIGNMENTS_RECURSIVE));
static _lookupLogin($a_user_id)
lookup login
static findOrCreateAssignment($user_id, $position_id, $orgu_id)
const CORE_POSITION_EMPLOYEE
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)
addStaffFromSearch(array $user_ids, ?string $user_type=null)
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.