ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilMStListUsersGUI.php
Go to the documentation of this file.
1 <?php
18 declare(strict_types=1);
19 
22 
29 {
30  public const CMD_RESET_FILTER = 'resetFilter';
31  public const CMD_APPLY_FILTER = 'applyFilter';
32  public const CMD_INDEX = 'index';
33  public const CMD_GET_ACTIONS = "getActions";
34  public const CMD_ADD_USER_AUTO_COMPLETE = 'addUserAutoComplete';
37  private \ilGlobalTemplateInterface $main_tpl;
38  private ilHelpGUI $help;
41 
42  public function __construct()
43  {
44  global $DIC;
45  $this->main_tpl = $DIC->ui()->mainTemplate();
46  $this->access = ilMyStaffAccess::getInstance();
47  $this->help = $DIC->help();
48  $this->ctrl = $DIC->ctrl();
49  $this->language = $DIC->language();
50  $this->help->setScreenIdComponent('msta');
51  }
52 
53  protected function checkAccessOrFail(): void
54  {
55  if ($this->access->hasCurrentUserAccessToMyStaff()) {
56  return;
57  } else {
58  $this->main_tpl->setOnScreenMessage('failure', $this->language->txt("permission_denied"), true);
59  $this->ctrl->redirectByClass(ilDashboardGUI::class, "");
60  }
61  }
62 
63  final public function executeCommand(): void
64  {
65  global $DIC;
66 
67  $this->checkAccessOrFail();
68 
69  $cmd = $DIC->ctrl()->getCmd();
70 
71  switch ($cmd) {
72  case self::CMD_RESET_FILTER:
73  case self::CMD_APPLY_FILTER:
74  case self::CMD_INDEX:
75  case self::CMD_ADD_USER_AUTO_COMPLETE:
76  case self::CMD_GET_ACTIONS:
77  $this->$cmd();
78  break;
79  default:
80  $this->index();
81  break;
82  }
83  }
84 
85  final public function index(): void
86  {
87  $this->listUsers();
88  }
89 
90  final public function listUsers(): void
91  {
92  global $DIC;
93 
94  $this->help->setScreenId('users_list');
95  $this->table = new ilMStListUsersTableGUI($this, self::CMD_INDEX);
96  $DIC->ui()->mainTemplate()->setTitle($DIC->language()->txt('mst_list_users'));
97  $DIC->ui()->mainTemplate()->setTitleIcon(ilUtil::getImagePath('icon_stff.svg'));
98  $DIC->ui()->mainTemplate()->setContent($this->table->getHTML());
99  }
100 
101  final public function applyFilter(): void
102  {
103  $this->table = new ilMStListUsersTableGUI($this, self::CMD_APPLY_FILTER);
104  $this->table->writeFilterToSession();
105  $this->table->resetOffset();
106  $this->index();
107  }
108 
109  final public function resetFilter(): void
110  {
111  $this->table = new ilMStListUsersTableGUI($this, self::CMD_RESET_FILTER);
112  $this->table->resetOffset();
113  $this->table->resetFilter();
114  $this->index();
115  }
116 
117  final public function cancel(): void
118  {
119  global $DIC;
120 
121  $DIC->ctrl()->redirect($this);
122  }
123 }
ilMStListUsersTableGUI $table
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
Help GUI class.
ilGlobalTemplateInterface $main_tpl
global $DIC
Definition: feed.php:28