ILIAS  trunk Revision v12.0_alpha-1227-g7ff6d300864
ilUserActionAdminGUI Class Reference

User action administration GUI class. More...

+ Collaboration diagram for ilUserActionAdminGUI:

Public Member Functions

 setActionContext (?ilUserActionContext $a_val=null)
 
 getActionContext ()
 
 executeCommand ()
 
 show ()
 
 save ()
 

Private Member Functions

 buildForm ()
 
 getActions ()
 

Private Attributes

ilRbacSystem $rbabsystem
 
int $ref_id
 
ServerRequestInterface $request
 
ilCtrl $ctrl
 
ilGlobalTemplateInterface $tpl
 
UIFactory $ui_factory
 
UIRenderer $ui_renderer
 
Language $lng
 
ilUserActionContext $action_context
 
ilUserActionAdmin $user_action_admin
 

Detailed Description

User action administration GUI class.

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

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

Member Function Documentation

◆ buildForm()

ilUserActionAdminGUI::buildForm ( )
private

Definition at line 103 of file class.ilUserActionAdminGUI.php.

103 : StandardForm
104 {
105 $inputs = [];
106
107 foreach ($this->getActions() as $action) {
108 $inputs["{$action['action_comp_id']}:{$action['action_type_id']}"] =
109 $this->ui_factory->input()->field()->checkbox($action["action_type_name"])
110 ->withDisabled(
111 !$this->rbabsystem->checkAccess('write', $this->ref_id)
112 )->withValue($action['active']);
113 }
114
115 return $this->ui_factory->input()->container()->form()->standard(
116 $this->ctrl->getFormActionByClass(self::class, 'save'),
117 $inputs
118 );
119 }

References ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\Repository\ctrl(), and getActions().

Referenced by save().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilUserActionAdminGUI::executeCommand ( )

Definition at line 75 of file class.ilUserActionAdminGUI.php.

75 : void
76 {
77 $next_class = $this->ctrl->getNextClass($this);
78 $cmd = $this->ctrl->getCmd('show');
79
80 switch ($next_class) {
81 default:
82 if (in_array($cmd, ['show', 'save'])) {
83 $this->$cmd();
84 }
85 }
86 }

References ILIAS\Repository\ctrl().

+ Here is the call graph for this function:

◆ getActionContext()

ilUserActionAdminGUI::getActionContext ( )

Definition at line 70 of file class.ilUserActionAdminGUI.php.

71 {
73 }
ilUserActionContext $action_context
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References $action_context.

◆ getActions()

ilUserActionAdminGUI::getActions ( )
private

Definition at line 152 of file class.ilUserActionAdminGUI.php.

152 : \Generator
153 {
154 foreach ((new ilUserActionProviderFactory())->getProviders() as $p) {
155 foreach ($p->getActionTypes() as $id => $name) {
156 yield [
157 'action_comp_id' => $p->getComponentId(),
158 'action_type_id' => $id,
159 'action_type_name' => $name,
160 'active' => $this->user_action_admin->isActionActive(
161 $this->action_context->getComponentId(),
162 $this->action_context->getContextId(),
163 $p->getComponentId(),
164 $id
165 )
166 ];
167 }
168 }
169 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References $id.

Referenced by buildForm(), and save().

+ Here is the caller graph for this function:

◆ save()

ilUserActionAdminGUI::save ( )

Definition at line 121 of file class.ilUserActionAdminGUI.php.

121 : void
122 {
123 if (!$this->rbabsystem->checkAccess('write', $this->ref_id)) {
124 $this->tpl->setOnScreenMessage(
126 $this->lng->txt('no_permission'),
127 true
128 );
129 $this->ctrl->redirectByClass(self::class, 'show');
130 }
131
132 $form = $this->buildForm()->withRequest($this->request);
133 $data = $form->getData();
134 if ($data === null) {
135 $this->tpl->setContent($this->ui_renderer->render($form));
136 return;
137 }
138
139 foreach ($this->getActions() as $action) {
140 $this->user_action_admin->activateAction(
141 $this->action_context->getComponentId(),
142 $this->action_context->getContextId(),
143 $action['action_comp_id'],
144 $action['action_type_id'],
145 $data["{$action['action_comp_id']}:{$action['action_type_id']}"] ?? false
146 );
147 }
148 $this->tpl->setOnScreenMessage('success', $this->lng->txt('msg_obj_modified'), true);
149 $this->show();
150 }
@ FAILURE
The progress of the process/task cannot be calculated (yet), but it has started processing.
Definition: Status.php:42

References $data, buildForm(), ILIAS\Repository\ctrl(), ILIAS\UI\Implementation\Component\Progress\State\Bar\FAILURE, getActions(), ILIAS\Repository\lng(), and show().

+ Here is the call graph for this function:

◆ setActionContext()

ilUserActionAdminGUI::setActionContext ( ?ilUserActionContext  $a_val = null)

Definition at line 65 of file class.ilUserActionAdminGUI.php.

65 : void
66 {
67 $this->action_context = $a_val;
68 }

◆ show()

ilUserActionAdminGUI::show ( )

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

88 : void
89 {
90 if (!$this->rbabsystem->checkAccess('read', $this->ref_id)) {
91 $this->ctrl->redirectByClass(ilObjRootFolderGUI::class);
92 }
93
94 $this->tpl->setOnScreenMessage('info', $this->lng->txt('user_actions_activation_info'));
95
96 $this->tpl->setContent(
97 $this->ui_renderer->render(
98 $this->buildForm()
99 )
100 );
101 }

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

Referenced by save().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $action_context

ilUserActionContext ilUserActionAdminGUI::$action_context
private

Definition at line 42 of file class.ilUserActionAdminGUI.php.

Referenced by getActionContext().

◆ $ctrl

ilCtrl ilUserActionAdminGUI::$ctrl
private

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

◆ $lng

Language ilUserActionAdminGUI::$lng
private

Definition at line 41 of file class.ilUserActionAdminGUI.php.

◆ $rbabsystem

ilRbacSystem ilUserActionAdminGUI::$rbabsystem
private

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

◆ $ref_id

int ilUserActionAdminGUI::$ref_id
private

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

◆ $request

ServerRequestInterface ilUserActionAdminGUI::$request
private

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

◆ $tpl

ilGlobalTemplateInterface ilUserActionAdminGUI::$tpl
private

Definition at line 38 of file class.ilUserActionAdminGUI.php.

◆ $ui_factory

UIFactory ilUserActionAdminGUI::$ui_factory
private

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

◆ $ui_renderer

UIRenderer ilUserActionAdminGUI::$ui_renderer
private

Definition at line 40 of file class.ilUserActionAdminGUI.php.

◆ $user_action_admin

ilUserActionAdmin ilUserActionAdminGUI::$user_action_admin
private

Definition at line 43 of file class.ilUserActionAdminGUI.php.


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