ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilMStListUsersGUI.php
Go to the documentation of this file.
1<?php
2
5
14{
15 const CMD_RESET_FILTER = 'resetFilter';
16 const CMD_APPLY_FILTER = 'applyFilter';
17 const CMD_INDEX = 'index';
18 const CMD_GET_ACTIONS = "getActions";
19 const CMD_ADD_USER_AUTO_COMPLETE = 'addUserAutoComplete';
23 protected $table;
27 protected $access;
28
29
33 public function __construct()
34 {
35 $this->access = ilMyStaffAccess::getInstance();
36 }
37
38
42 protected function checkAccessOrFail()
43 {
44 global $DIC;
45
46 if ($this->access->hasCurrentUserAccessToMyStaff()) {
47 return;
48 } else {
49 ilUtil::sendFailure($DIC->language()->txt("permission_denied"), true);
50 $DIC->ctrl()->redirectByClass(ilDashboardGUI::class, "");
51 }
52 }
53
54
58 public function executeCommand()
59 {
60 global $DIC;
61
62 $this->checkAccessOrFail();
63
64 $cmd = $DIC->ctrl()->getCmd();
65
66 switch ($cmd) {
69 case self::CMD_INDEX:
72 $this->$cmd();
73 break;
74 default:
75 $this->index();
76 break;
77 }
78 }
79
80
84 public function index()
85 {
86 $this->listUsers();
87 }
88
89
93 public function listUsers()
94 {
95 global $DIC;
96
97 $this->table = new ilMStListUsersTableGUI($this, self::CMD_INDEX);
98 $DIC->ui()->mainTemplate()->setTitle($DIC->language()->txt('mst_list_users'));
99 $DIC->ui()->mainTemplate()->setContent($this->table->getHTML());
100 }
101
102
106 public function applyFilter()
107 {
108 $this->table = new ilMStListUsersTableGUI($this, self::CMD_APPLY_FILTER);
109 $this->table->writeFilterToSession();
110 $this->table->resetOffset();
111 $this->index();
112 }
113
114
118 public function resetFilter()
119 {
120 $this->table = new ilMStListUsersTableGUI($this, self::CMD_RESET_FILTER);
121 $this->table->resetOffset();
122 $this->table->resetFilter();
123 $this->index();
124 }
125
126
130 public function cancel()
131 {
132 global $DIC;
133
134 $DIC->ctrl()->redirect($this);
135 }
136
137
141 public function getActions()
142 {
143 global $DIC;
144
145 $mst_lus_usr_id = $DIC->http()->request()->getQueryParams()['mst_lus_usr_id'];
146 if ($mst_lus_usr_id > 0) {
147 $selection = new ilAdvancedSelectionListGUI();
148
149 if ($this->access->hasCurrentUserAccessToMyStaff()) {
150 $DIC->ctrl()->setParameterByClass(ilMStShowUserCoursesGUI::class, 'usr_id', $mst_lus_usr_id);
151 $selection->addItem($DIC->language()->txt('mst_show_courses'), '', $DIC->ctrl()->getLinkTargetByClass(array(
152 ilDashboardGUI::class,
153 ilMyStaffGUI::class,
154 ilMStShowUserGUI::class,
155 ilMStShowUserCoursesGUI::class,
156 )));
157 }
158
159 if ($this->access->hasCurrentUserAccessToCertificates()) {
160 $DIC->ctrl()->setParameterByClass(ilUserCertificateGUI::class, 'usr_id', $mst_lus_usr_id);
161 $selection->addItem($DIC->language()->txt('mst_list_certificates'), '', $DIC->ctrl()->getLinkTargetByClass(array(
162 ilDashboardGUI::class,
163 ilMyStaffGUI::class,
164 ilMStShowUserGUI::class,
165 ilUserCertificateGUI::class,
166 )));
167 }
168
169 if ($this->access->hasCurrentUserAccessToCompetences()) {
170 $DIC->ctrl()->setParameterByClass(ilMStShowUserCompetencesGUI::class, 'usr_id', $mst_lus_usr_id);
171 $selection->addItem($DIC->language()->txt('mst_list_competences'), '', $DIC->ctrl()->getLinkTargetByClass(array(
172 ilDashboardGUI::class,
173 ilMyStaffGUI::class,
174 ilMStShowUserGUI::class,
175 ilMStShowUserCompetencesGUI::class,
176 )));
177 }
178
179
180 $selection = ilMyStaffGUI::extendActionMenuWithUserActions($selection, $mst_lus_usr_id, rawurlencode($DIC->ctrl()
181 ->getLinkTarget($this, self::CMD_INDEX)));
182
183 echo $selection->getHTML(true);
184 }
185 exit;
186 }
187}
An exception for terminatinating execution or to throw for unit testing.
User interface class for advanced drop-down selection lists.
Class ilMStListUsersGUI.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
exit
Definition: login.php:29
$DIC
Definition: xapitoken.php:46