ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilContSkillAdminGUI Class Reference

Container skills administration. More...

+ Collaboration diagram for ilContSkillAdminGUI:

Public Member Functions

 __construct (ilContainerGUI $a_container_gui)
 
 executeCommand ()
 
 listMembers ()
 
 assignCompetences (int $user_id)
 
 initCompetenceAssignmentForm ()
 
 getPathString (int $a_skill_id, int $a_tref_id=0)
 
 saveCompetenceAssignment ()
 
 publishAssignments (?array $usr_ids=null)
 
 deassignCompetencesConfirm (?array $usr_ids=null)
 
 deassignCompetences ()
 
 listCompetences ()
 
 selectSkill ()
 
 saveSelectedSkill ()
 
 confirmRemoveSelectedSkill (string $skill_id)
 
 removeSelectedSkill ()
 
 listProfiles ()
 
 saveSelectedProfile ()
 
 confirmRemoveSelectedGlobalProfiles ()
 
 removeSelectedGlobalProfiles ()
 
 confirmRemoveSingleGlobalProfile (int $profile_id)
 
 removeSingleGlobalProfile ()
 
 confirmDeleteSingleLocalProfile (int $profile_id)
 
 deleteSingleLocalProfile ()
 
 settings ()
 
 initSettingsForm ()
 
 saveSettings ()
 

Protected Attributes

ContainerSkills SkillInternalManagerService $skills_domain
 
ContainerSkills SkillInternalGUIService $skills_gui
 
ILIAS Container InternalGUIService $gui
 
ilCtrl $ctrl
 
ilTabsGUI $tabs
 
ilLanguage $lng
 
ilGlobalTemplateInterface $tpl
 
ilContainerGUI $container_gui
 
ilContainer $container
 
ilSkillManagementSettings $skmg_settings
 
ilToolbarGUI $toolbar
 
ilAccessHandler $access
 
int $ref_id = 0
 
int $cont_member_role_id = 0
 
SkillTreeService $tree_service
 
SkillTreeAccess $tree_access_manager
 
SkillProfileService $profile_service
 
ContainerSkills ContainerSkillManager $cont_skill_manager
 
SkillUsageService $usage_service
 
array $params = []
 
ContainerSkills SkillContainerGUIRequest $container_gui_request
 
int $requested_usr_id = 0
 
array $requested_usr_ids = []
 
string $requested_selected_skill = ""
 
array $requested_combined_skill_ids = []
 
int $requested_selected_profile_id = 0
 
array $requested_profile_ids = []
 

Detailed Description

Container skills administration.

Author
Alex Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de @ilCtrl_Calls ilContSkillAdminGUI: ilSkillProfileGUI

Definition at line 33 of file class.ilContSkillAdminGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilContSkillAdminGUI::__construct ( ilContainerGUI  $a_container_gui)

Definition at line 63 of file class.ilContSkillAdminGUI.php.

64 {
65 global $DIC;
66
67 $this->ctrl = $DIC->ctrl();
68 $this->tabs = $DIC->tabs();
69 $this->lng = $DIC->language();
70 $this->tpl = $DIC["tpl"];
71 $this->toolbar = $DIC->toolbar();
72 $this->access = $DIC->access();
73
74 $this->container_gui = $a_container_gui;
75 /* @var $obj ilContainer */
76 $obj = $this->container_gui->getObject();
77 $this->container = $obj;
78 $this->ref_id = $this->container->getRefId();
79 $this->cont_member_role_id = ilParticipants::getDefaultMemberRole($this->ref_id);
80
81 $this->tree_service = $DIC->skills()->tree();
82 $this->tree_access_manager = $DIC->skills()->internal()->manager()->getTreeAccessManager($this->ref_id);
83 $this->profile_service = $DIC->skills()->profile();
84 $this->cont_skill_manager = $DIC->skills()->internalContainer()->manager()->getSkillManager(
85 $this->container->getId(),
86 $this->container->getRefId()
87 );
88 $this->usage_service = $DIC->skills()->usage();
89
90 $this->skmg_settings = new ilSkillManagementSettings();
91 $this->container_gui_request = $DIC->skills()->internalContainer()->gui()->request();
92
93 $this->ctrl->saveParameter($this, "profile_id");
94 $this->params = $this->ctrl->getParameterArray($this);
95
96 $this->requested_usr_id = $this->container_gui_request->getUserId();
97 $this->requested_usr_ids = $this->container_gui_request->getUserIds();
98 $this->requested_selected_skill = $this->container_gui_request->getSelectedSkill();
99 $this->requested_combined_skill_ids = $this->container_gui_request->getCombinedSkillIds();
100 $this->requested_selected_profile_id = $this->container_gui_request->getSelectedProfileId();
101 $this->requested_profile_ids = $this->container_gui_request->getProfileIds();
102
103 $this->lng->loadLanguageModule("skmg");
104 $this->lng->loadLanguageModule("error");
105 $this->gui = $DIC->container()->internal()->gui();
106 $this->skills_gui = $DIC->skills()->internalContainer()->gui();
107 $this->skills_domain = $DIC->skills()->internalContainer()->manager();
108 }
static getDefaultMemberRole(int $a_ref_id)
global $DIC
Definition: shib_login.php:26

References $DIC, ILIAS\Repository\access(), ILIAS\Repository\ctrl(), ilParticipants\getDefaultMemberRole(), ilObjectGUI\getObject(), ILIAS\Repository\lng(), ILIAS\Repository\tabs(), and ILIAS\Repository\toolbar().

+ Here is the call graph for this function:

Member Function Documentation

◆ assignCompetences()

ilContSkillAdminGUI::assignCompetences ( int  $user_id)

Definition at line 173 of file class.ilContSkillAdminGUI.php.

173 : void
174 {
178
179 $this->requested_usr_id = $user_id;
180 $ctrl->setParameter($this, "usr_id", $user_id);
181 $tabs->activateSubTab("members");
182
183 $form = $this->initCompetenceAssignmentForm();
184 $tpl->setContent($form->getHTML());
185 }
ilGlobalTemplateInterface $tpl
setParameter(object $a_gui_obj, string $a_parameter, $a_value)
@inheritDoc
activateSubTab(string $a_id)
setContent(string $a_html)
Sets content for standard template.

References $ctrl, $tabs, $tpl, $user_id, ilTabsGUI\activateSubTab(), initCompetenceAssignmentForm(), ILIAS\UICore\GlobalTemplate\setContent(), and ilCtrl\setParameter().

+ Here is the call graph for this function:

◆ confirmDeleteSingleLocalProfile()

ilContSkillAdminGUI::confirmDeleteSingleLocalProfile ( int  $profile_id)

Definition at line 650 of file class.ilContSkillAdminGUI.php.

650 : void
651 {
656
657 $tabs->activateSubTab("profiles");
658
659 $ctrl->setParameterByClass(self::class, "profile_id", $profile_id);
660 if (!($profile_id > 0)) {
661 $this->tpl->setOnScreenMessage('failure', $lng->txt("error_sry_error"), true);
662 $ctrl->redirect($this, "listProfiles");
663 } else {
664 $cgui = new ilConfirmationGUI();
665 $cgui->setFormAction($ctrl->getFormAction($this));
666 $cgui->setHeaderText($lng->txt("cont_skill_really_delete_profile_from_list"));
667 $cgui->setCancel($lng->txt("cancel"), "listProfiles");
668 $cgui->setConfirm($lng->txt("delete"), "deleteSingleLocalProfile");
669 $cgui->addItem("", (string) $profile_id, $this->profile_service->lookupProfileTitle($profile_id));
670
671 $tpl->setContent($cgui->getHTML());
672 }
673 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getFormAction(object $a_gui_obj, ?string $a_fallback_cmd=null, ?string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
@inheritDoc
redirect(object $a_gui_obj, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false)
@inheritDoc
setParameterByClass(string $a_class, string $a_parameter, $a_value)
@inheritDoc
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...

References $ctrl, $lng, $tabs, $tpl, ilTabsGUI\activateSubTab(), ilCtrl\getFormAction(), ilCtrl\redirect(), ILIAS\UICore\GlobalTemplate\setContent(), ilCtrl\setParameterByClass(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ confirmRemoveSelectedGlobalProfiles()

ilContSkillAdminGUI::confirmRemoveSelectedGlobalProfiles ( )

Definition at line 564 of file class.ilContSkillAdminGUI.php.

564 : void
565 {
570
571 $tabs->activateSubTab("profiles");
572
573 if (empty($this->requested_profile_ids)) {
574 $this->tpl->setOnScreenMessage('info', $lng->txt("no_checkbox"), true);
575 $ctrl->redirect($this, "listProfiles");
576 } else {
577 $cgui = new ilConfirmationGUI();
578 $cgui->setFormAction($ctrl->getFormAction($this));
579 $cgui->setHeaderText($lng->txt("cont_skill_really_remove_profiles_from_list"));
580 $cgui->setCancel($lng->txt("cancel"), "listProfiles");
581 $cgui->setConfirm($lng->txt("remove"), "removeSelectedGlobalProfiles");
582
583 foreach ($this->requested_profile_ids as $i) {
584 if ($this->profile_service->lookupProfileRefId($i) > 0) {
585 $this->tpl->setOnScreenMessage('info', $lng->txt("cont_skill_removal_not_possible"), true);
586 $ctrl->redirect($this, "listProfiles");
587 }
588 $cgui->addItem("id[]", (string) $i, $this->profile_service->lookupProfileTitle($i));
589 }
590
591 $tpl->setContent($cgui->getHTML());
592 }
593 }

References $ctrl, $lng, $tabs, $tpl, ilTabsGUI\activateSubTab(), ilCtrl\getFormAction(), ilCtrl\redirect(), ILIAS\UICore\GlobalTemplate\setContent(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ confirmRemoveSelectedSkill()

ilContSkillAdminGUI::confirmRemoveSelectedSkill ( string  $skill_id)

Definition at line 429 of file class.ilContSkillAdminGUI.php.

429 : void
430 {
435
436 $tabs->activateSubTab("competences");
437
438 if ($skill_id === "") {
439 $this->tpl->setOnScreenMessage('info', $lng->txt("no_checkbox"), true);
440 $ctrl->redirect($this, "listCompetences");
441 } else {
442 $cgui = new ilConfirmationGUI();
443 $cgui->setFormAction($ctrl->getFormAction($this));
444 $cgui->setHeaderText($lng->txt("cont_really_remove_skill_from_course"));
445 $cgui->setCancel($lng->txt("cancel"), "listCompetences");
446 $cgui->setConfirm($lng->txt("remove"), "removeSelectedSkill");
447
448 $s = explode(":", $skill_id);
449 $cgui->addItem("id[]", (string) $skill_id, ilBasicSkill::_lookupTitle((int) $s[0], (int) $s[1]));
450
451 $tpl->setContent($cgui->getHTML());
452 }
453 }
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)

References $ctrl, $lng, $tabs, $tpl, ilSkillTreeNode\_lookupTitle(), ilTabsGUI\activateSubTab(), ilCtrl\getFormAction(), ilCtrl\redirect(), ILIAS\UICore\GlobalTemplate\setContent(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ confirmRemoveSingleGlobalProfile()

ilContSkillAdminGUI::confirmRemoveSingleGlobalProfile ( int  $profile_id)

Definition at line 609 of file class.ilContSkillAdminGUI.php.

609 : void
610 {
615
616 $tabs->activateSubTab("profiles");
617 $ctrl->setParameterByClass(self::class, "profile_id", $profile_id);
618
619 if (!($profile_id > 0)) {
620 $this->tpl->setOnScreenMessage('failure', $lng->txt("error_sry_error"), true);
621 $ctrl->redirect($this, "listProfiles");
622 } else {
623 $cgui = new ilConfirmationGUI();
624 $cgui->setFormAction($ctrl->getFormAction($this));
625 $cgui->setHeaderText($lng->txt("cont_skill_really_remove_profile_from_list"));
626 $cgui->setCancel($lng->txt("cancel"), "listProfiles");
627 $cgui->setConfirm($lng->txt("remove"), "removeSingleGlobalProfile");
628 $cgui->addItem("", (string) $profile_id, $this->profile_service->lookupProfileTitle($profile_id));
629
630 $tpl->setContent($cgui->getHTML());
631 }
632 }

References $ctrl, $lng, $tabs, $tpl, ilTabsGUI\activateSubTab(), ilCtrl\getFormAction(), ilCtrl\redirect(), ILIAS\UICore\GlobalTemplate\setContent(), ilCtrl\setParameterByClass(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ deassignCompetences()

ilContSkillAdminGUI::deassignCompetences ( )

Definition at line 353 of file class.ilContSkillAdminGUI.php.

353 : void
354 {
357
358 foreach ($this->requested_usr_ids as $user_id) {
359 $this->cont_skill_manager->removeAllMemberSkillsFromContainer($user_id);
360 }
361
362 $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
363 $ctrl->redirect($this, "listMembers");
364 }

References $ctrl, $lng, $user_id, ilCtrl\redirect(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ deassignCompetencesConfirm()

ilContSkillAdminGUI::deassignCompetencesConfirm ( ?array  $usr_ids = null)

Definition at line 320 of file class.ilContSkillAdminGUI.php.

320 : void
321 {
326
327 $tabs->activateSubTab("members");
328
329 $user_ids = $usr_ids ?? $this->requested_usr_ids;
330 if (empty($user_ids) && $this->requested_usr_id > 0) {
331 $user_ids[] = $this->requested_usr_id;
332 }
333
334 if (!is_array($user_ids) || count($user_ids) === 0) {
335 $this->tpl->setOnScreenMessage('info', $lng->txt("no_checkbox"), true);
336 $ctrl->redirect($this, "listMembers");
337 } else {
338 $cgui = new ilConfirmationGUI();
339 $cgui->setFormAction($ctrl->getFormAction($this));
340 $cgui->setHeaderText($lng->txt("cont_really_deassign_skills"));
341 $cgui->setCancel($lng->txt("cancel"), "listMembers");
342 $cgui->setConfirm($lng->txt("cont_deassign_competence"), "deassignCompetences");
343
344 foreach ($user_ids as $i) {
345 $name = ilUserUtil::getNamePresentation($i, false, false, "", true);
346 $cgui->addItem("usr_ids[]", (string) $i, $name);
347 }
348
349 $tpl->setContent($cgui->getHTML());
350 }
351 }
static getNamePresentation( $a_user_id, bool $a_user_image=false, bool $a_profile_link=false, string $a_profile_back_link='', bool $a_force_first_lastname=false, bool $a_omit_login=false, bool $a_sortable=true, bool $a_return_data_array=false, $a_ctrl_path=null)
Default behaviour is:

References $ctrl, $lng, $requested_usr_id, $requested_usr_ids, $tabs, $tpl, ilTabsGUI\activateSubTab(), ilCtrl\getFormAction(), ilUserUtil\getNamePresentation(), ilCtrl\redirect(), ILIAS\UICore\GlobalTemplate\setContent(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ deleteSingleLocalProfile()

ilContSkillAdminGUI::deleteSingleLocalProfile ( )

Definition at line 675 of file class.ilContSkillAdminGUI.php.

675 : void
676 {
679
680 $profile_id = (int) $this->params["profile_id"];
681
682 if ($profile_id > 0) {
683 $this->profile_service->deleteProfile($profile_id);
684 }
685 $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
686
687 $ctrl->redirect($this, "listProfiles");
688 }

References $ctrl, $lng, ILIAS\Repository\int(), ilCtrl\redirect(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ executeCommand()

ilContSkillAdminGUI::executeCommand ( )

Definition at line 110 of file class.ilContSkillAdminGUI.php.

110 : void
111 {
112 $next_class = $this->ctrl->getNextClass($this);
113 $cmd = $this->ctrl->getCmd("listMembers");
114
115 switch ($next_class) {
116 case "ilskillprofilegui":
117 $profile_gui = new ilSkillProfileGUI($this->tree_access_manager);
118 $this->ctrl->setReturn($this, "listProfiles");
119 $ret = $this->ctrl->forwardCommand($profile_gui);
120 break;
121 case "ilskillprofileuploadhandlergui":
122 $skprof_upl_gui = new ilSkillProfileUploadHandlerGUI();
123 $ret = $this->ctrl->forwardCommand($skprof_upl_gui);
124 break;
125 default:
126 if (
127 ($this->access->checkAccess("write", "", $this->ref_id) &&
128 in_array($cmd, [
129 "listCompetences", "settings", "saveSettings", "selectSkill",
130 "saveSelectedSkill", "confirmRemoveSelectedSkill", "removeSelectedSkill",
131 "listProfiles", "saveSelectedProfile", "confirmRemoveSelectedGlobalProfiles",
132 "removeSelectedGlobalProfiles", "confirmRemoveSingleGlobalProfile", "removeSingleGlobalProfile",
133 "confirmDeleteSingleLocalProfile", "deleteSingleLocalProfile",
134 "confirmDeleteSelectedLocalProfiles", "deleteSelectedLocalProfiles"
135 ]))
136 ||
137 ($this->access->checkAccess("grade", "", $this->ref_id) &&
138 in_array($cmd, [
139 "listMembers", "assignCompetences",
140 "saveCompetenceAssignment", "publishAssignments", "deassignCompetencesConfirm", "deassignCompetences"
141 ]))
142 ) {
143 $this->$cmd();
144 }
145 }
146 }
Skill profile GUI class.
Class ilSkillProfileUploadHandlerGUI.

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

+ Here is the call graph for this function:

◆ getPathString()

ilContSkillAdminGUI::getPathString ( int  $a_skill_id,
int  $a_tref_id = 0 
)

Definition at line 244 of file class.ilContSkillAdminGUI.php.

244 : string
245 {
246 $path = $this->tree_service->getSkillTreePath($a_skill_id, $a_tref_id);
247 $titles = [];
248 foreach ($path as $v) {
249 if ($v["type"] !== "skrt" && !($v["skill_id"] == $a_skill_id && $v["tref_id"] == $a_tref_id)) {
250 $titles[] = $v["title"];
251 }
252 }
253
254 return implode(" > ", $titles);
255 }
$path
Definition: ltiservices.php:30

References $path.

Referenced by initCompetenceAssignmentForm().

+ Here is the caller graph for this function:

◆ initCompetenceAssignmentForm()

ilContSkillAdminGUI::initCompetenceAssignmentForm ( )

Definition at line 187 of file class.ilContSkillAdminGUI.php.

188 {
192
193 $form = new ilPropertyFormGUI();
194
195 // user name
198 $ne = new ilNonEditableValueGUI($this->lng->txt("obj_user"), "");
199 $ne->setValue($name["lastname"] . ", " . $name["firstname"] . " [" . $name["login"] . "]");
200 $form->addItem($ne);
201
202 if (empty($this->cont_skill_manager->getSkillsForContainerOrdered())) {
203 $tpl->setOnScreenMessage('info', $lng->txt("cont_skill_no_skills_selected"), true);
204 $ctrl->redirect($this, "listMembers");
205 }
206
207 foreach ($this->cont_skill_manager->getSkillsForContainerOrdered() as $sk) {
208 $skill = new ilBasicSkill($sk->getBaseSkillId());
209
210 // skill level options
211 $options = [
212 "-1" => $this->lng->txt("cont_skill_do_not_set"),
213 ];
214 foreach ($skill->getLevelData() as $l) {
215 $options[$l["id"]] = $l["title"];
216 }
217 $si = new ilSelectInputGUI(
218 ilBasicSkill::_lookupTitle($sk->getBaseSkillId(), $sk->getTrefId()),
219 "skill_" . $sk->getBaseSkillId() . "_" . $sk->getTrefId()
220 );
221 $si->setOptions($options);
222 $si->setInfo($this->getPathString($sk->getBaseSkillId(), $sk->getTrefId()));
223 $mem_level = $this->cont_skill_manager->getMemberSkillLevel(
224 $user_id,
225 $sk->getBaseSkillId(),
226 $sk->getTrefId()
227 );
228 if ($mem_level) {
229 $si->setValue($mem_level);
230 }
231 $form->addItem($si);
232 }
233
234 // save and cancel commands
235 $form->addCommandButton("saveCompetenceAssignment", $this->lng->txt("save"));
236 $form->addCommandButton("listMembers", $this->lng->txt("cancel"));
237
238 $form->setTitle($this->lng->txt("cont_assign_skills"));
239 $form->setFormAction($this->ctrl->getFormAction($this));
240
241 return $form;
242 }
getPathString(int $a_skill_id, int $a_tref_id=0)
This class represents a non editable value in a property form.
static _lookupName(int $a_user_id)
This class represents a property form user interface.
This class represents a selection list property in a property form.
setOnScreenMessage(string $type, string $a_txt, bool $a_keep=false)
Set a message to be displayed to the user.

References $ctrl, $lng, $requested_usr_id, $tpl, $user_id, ilObjUser\_lookupName(), ilSkillTreeNode\_lookupTitle(), ILIAS\Repository\ctrl(), getPathString(), ILIAS\Repository\lng(), ilCtrl\redirect(), ILIAS\UICore\GlobalTemplate\setOnScreenMessage(), and ilLanguage\txt().

Referenced by assignCompetences(), and saveCompetenceAssignment().

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

◆ initSettingsForm()

ilContSkillAdminGUI::initSettingsForm ( )

Definition at line 705 of file class.ilContSkillAdminGUI.php.

706 {
709
710 $form = new ilPropertyFormGUI();
711
712 // publish
713 $radg = new ilRadioGroupInputGUI($lng->txt("cont_skill_publish"), "cont_skill_publish");
714 $op1 = new ilRadioOption($lng->txt("cont_skill_publish_auto"), '0', $lng->txt("cont_skill_publish_auto_info"));
715 $radg->addOption($op1);
716 $op2 = new ilRadioOption($lng->txt("cont_skill_publish_manual"), '1', $lng->txt("cont_skill_publish_manual_info"));
717 $radg->addOption($op2);
718 $form->addItem($radg);
719 $radg->setValue(ilContainer::_lookupContainerSetting($this->container->getId(), "cont_skill_publish", '0'));
720
721 $form->addCommandButton("saveSettings", $lng->txt("save"));
722
723 $form->setTitle($lng->txt("settings"));
724 $form->setFormAction($ctrl->getFormAction($this));
725
726 return $form;
727 }
static _lookupContainerSetting(int $a_id, string $a_keyword, ?string $a_default_value=null)
This class represents a property in a property form.
This class represents an option in a radio group.

References $ctrl, $lng, ilContainer\_lookupContainerSetting(), ilCtrl\getFormAction(), and ilLanguage\txt().

Referenced by saveSettings(), and settings().

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

◆ listCompetences()

ilContSkillAdminGUI::listCompetences ( )

Definition at line 369 of file class.ilContSkillAdminGUI.php.

369 : void
370 {
376
377 $tabs->activateSubTab("competences");
378
380 $lng->txt("cont_add_skill"),
381 $ctrl->getLinkTarget($this, "selectSkill")
382 );
383
384 // table
385 $table = $this->skills_gui->contSkillTableBuilder(
386 $this->skills_domain,
387 $this->cont_skill_manager,
388 $this->container->getId(),
389 $this->container->getRefId(),
390 $this,
391 "listCompetences"
392 )->getTable();
393
394 if ($table->handleCommand()) {
395 return;
396 }
397
398 $tpl->setContent($table->render());
399 }
getLinkTarget(object $a_gui_obj, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
@inheritDoc
addButton(string $a_txt, string $a_cmd, string $a_target="", ?int $a_acc_key=null, string $a_additional_attrs='', string $a_id="", string $a_class='submit')

References $ctrl, $lng, $tabs, $toolbar, $tpl, ilTabsGUI\activateSubTab(), ilToolbarGUI\addButton(), ilCtrl\getLinkTarget(), ILIAS\UICore\GlobalTemplate\setContent(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ listMembers()

ilContSkillAdminGUI::listMembers ( )

Definition at line 150 of file class.ilContSkillAdminGUI.php.

150 : void
151 {
154
155 $tabs->activateSubTab("members");
156
157 // table
158 $table = $this->skills_gui->contSkillMemberTableBuilder(
159 $this->skills_domain,
160 $this->cont_skill_manager,
161 $this->container,
162 $this,
163 "listMembers"
164 )->getTable();
165
166 if ($table->handleCommand()) {
167 return;
168 }
169
170 $tpl->setContent($table->render());
171 }

References $tabs, $tpl, ilTabsGUI\activateSubTab(), and ILIAS\UICore\GlobalTemplate\setContent().

+ Here is the call graph for this function:

◆ listProfiles()

ilContSkillAdminGUI::listProfiles ( )

Definition at line 475 of file class.ilContSkillAdminGUI.php.

475 : void
476 {
482 $tabs->activateSubTab("profiles");
483
484 $options = [];
485 $options[0] = $lng->txt("please_select");
486
487 $selectable_profiles = [];
488 $all_profiles = $this->profile_service->getAllGlobalProfiles();
489 $selected_profiles = $this->profile_service->getGlobalProfilesOfRole($this->cont_member_role_id);
490 foreach ($all_profiles as $profile) {
491 if (!array_key_exists($profile->getId(), $selected_profiles)) {
492 $selectable_profiles[$profile->getId()] = $profile;
493 }
494 }
495
496 foreach ($selectable_profiles as $profile) {
497 $tree = $this->tree_service->getObjSkillTreeById($profile->getSkillTreeId());
498 $options[$profile->getId()] = $tree->getTitle() . ": " . $profile->getTitle();
499 }
500
501 if ($this->skmg_settings->getLocalAssignmentOfProfiles()) {
502 $select = new ilSelectInputGUI($lng->txt("skmg_profile"), "p_id");
503 $select->setOptions($options);
504 $select->setValue(0);
505 $toolbar->addInputItem($select, true);
506
507 $this->gui->button(
508 $this->lng->txt("cont_add_global_profile"),
509 "saveSelectedProfile"
510 )->submit()->toToolbar();
511 }
512
513 if ($this->skmg_settings->getLocalAssignmentOfProfiles()
514 && $this->skmg_settings->getAllowLocalProfiles()) {
516 }
517
518 if ($this->skmg_settings->getAllowLocalProfiles()) {
519 $this->gui->link(
520 $this->lng->txt("cont_add_local_profile"),
521 $ctrl->getLinkTargetByClass("ilskillprofilegui", "createLocal")
522 )->emphasised()->toToolbar();
523 }
524
526
527 // table
528 $table = $this->skills_gui->contProfileTableBuilder(
529 $this->skills_domain,
530 $this->profile_service,
531 $this->skmg_settings,
532 $this->ref_id,
533 $this->cont_member_role_id,
534 $this,
535 "listProfiles"
536 )->getTable();
537
538 if ($table->handleCommand()) {
539 return;
540 }
541
542 $tpl->setContent($table->render());
543 }
getLinkTargetByClass( $a_class, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
@inheritDoc
setFormAction(string $a_val, bool $a_multipart=false, string $a_target="")
Set form action (if form action is set, toolbar is wrapped into form tags)
addInputItem(ilToolbarItem $a_item, bool $a_output_label=false)

References $ctrl, $lng, $tabs, $toolbar, $tpl, ilTabsGUI\activateSubTab(), ilToolbarGUI\addInputItem(), ilToolbarGUI\addSeparator(), ilCtrl\getFormAction(), ilCtrl\getLinkTargetByClass(), ILIAS\Repository\lng(), ILIAS\UICore\GlobalTemplate\setContent(), ilToolbarGUI\setFormAction(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ publishAssignments()

ilContSkillAdminGUI::publishAssignments ( ?array  $usr_ids = null)

Definition at line 291 of file class.ilContSkillAdminGUI.php.

291 : void
292 {
295
296 $user_ids = $usr_ids ?? $this->requested_usr_ids;
297 if (empty($user_ids) && $this->requested_usr_id > 0) {
298 $user_ids[] = $this->requested_usr_id;
299 }
300
301 $not_changed = [];
302 foreach ($user_ids as $user_id) {
303 if (!$this->cont_skill_manager->publishMemberSkills($user_id)) {
304 $not_changed[] = $user_id;
305 }
306 }
307
308 if (count($not_changed) === 0) {
309 $this->tpl->setOnScreenMessage('success', $lng->txt("cont_skll_published"), true);
310 } else {
311 $names = array_map(static function (int $id) {
312 return ilUserUtil::getNamePresentation($id, false, false, "", true);
313 }, $not_changed);
314 $this->tpl->setOnScreenMessage('info', $lng->txt("cont_skll_published_some_not") . " (" . implode("; ", $names) . ")", true);
315 }
316
317 $ctrl->redirect($this, "listMembers");
318 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23

References $ctrl, $id, $lng, $requested_usr_id, $requested_usr_ids, $user_id, ilUserUtil\getNamePresentation(), ilCtrl\redirect(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ removeSelectedGlobalProfiles()

ilContSkillAdminGUI::removeSelectedGlobalProfiles ( )

Definition at line 595 of file class.ilContSkillAdminGUI.php.

595 : void
596 {
599
600 foreach ($this->requested_profile_ids as $id) {
601 $this->profile_service->removeRoleFromProfile($id, $this->cont_member_role_id);
602 }
603
604 $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
605
606 $ctrl->redirect($this, "listProfiles");
607 }

References $ctrl, $id, $lng, ilCtrl\redirect(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ removeSelectedSkill()

ilContSkillAdminGUI::removeSelectedSkill ( )

Definition at line 455 of file class.ilContSkillAdminGUI.php.

455 : void
456 {
459
460 if (!empty($this->requested_combined_skill_ids)) {
461 foreach ($this->requested_combined_skill_ids as $id) {
462 $s = explode(":", $id);
463 $this->cont_skill_manager->removeSkillFromContainer((int) $s[0], (int) $s[1]);
464 $this->usage_service->removeUsage($this->container->getId(), (int) $s[0], (int) $s[1]);
465 }
466 }
467 $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
468
469 $ctrl->redirect($this, "listCompetences");
470 }

References $ctrl, $id, $lng, ilCtrl\redirect(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ removeSingleGlobalProfile()

ilContSkillAdminGUI::removeSingleGlobalProfile ( )

Definition at line 634 of file class.ilContSkillAdminGUI.php.

634 : void
635 {
638
639 $profile_id = (int) $this->params["profile_id"];
640
641 if ($profile_id > 0) {
642 $this->profile_service->removeRoleFromProfile($profile_id, $this->cont_member_role_id);
643 }
644 $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
645
646 $ctrl->redirect($this, "listProfiles");
647 }

References $ctrl, $lng, ILIAS\Repository\int(), ilCtrl\redirect(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ saveCompetenceAssignment()

ilContSkillAdminGUI::saveCompetenceAssignment ( )

Definition at line 257 of file class.ilContSkillAdminGUI.php.

257 : void
258 {
261
262 $form = $this->initCompetenceAssignmentForm();
263 $form->checkInput();
264
265 foreach ($this->cont_skill_manager->getSkillsForContainer() as $sk) {
266 $l = (int) $form->getInput("skill_" . $sk->getBaseSkillId() . "_" . $sk->getTrefId());
267 if ($l === -1) {
268 $this->cont_skill_manager->removeMemberSkillFromContainer(
269 $this->requested_usr_id,
270 $sk->getBaseSkillId(),
271 $sk->getTrefId()
272 );
273 } else {
274 $this->cont_skill_manager->addMemberSkillForContainer(
275 $this->requested_usr_id,
276 $sk->getBaseSkillId(),
277 $sk->getTrefId(),
278 $l
279 );
280 }
281 }
282
283 if (!ilContainer::_lookupContainerSetting($this->container->getId(), "cont_skill_publish", '0')) {
284 $this->cont_skill_manager->publishMemberSkills($this->requested_usr_id);
285 }
286
287 $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
288 $ctrl->redirect($this, "listMembers");
289 }

References $ctrl, $lng, ilContainer\_lookupContainerSetting(), initCompetenceAssignmentForm(), ILIAS\Repository\int(), ilCtrl\redirect(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ saveSelectedProfile()

ilContSkillAdminGUI::saveSelectedProfile ( )

Definition at line 545 of file class.ilContSkillAdminGUI.php.

545 : void
546 {
549
551
552 if (!($profile_id > 0)) {
553 $this->tpl->setOnScreenMessage('info', $lng->txt("cont_skill_no_profile_selected"), true);
554 $ctrl->redirect($this, "listProfiles");
555 }
556
557 $this->profile_service->addRoleToProfile($profile_id, $this->cont_member_role_id);
558
559 $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
560
561 $ctrl->redirect($this, "listProfiles");
562 }

References $ctrl, $lng, $requested_selected_profile_id, ilCtrl\redirect(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ saveSelectedSkill()

ilContSkillAdminGUI::saveSelectedSkill ( )

Definition at line 414 of file class.ilContSkillAdminGUI.php.

414 : void
415 {
418
419 $s = explode(":", ($this->requested_selected_skill));
420
421 $this->cont_skill_manager->addSkillForContainer((int) $s[0], (int) $s[1]);
422 $this->usage_service->addUsage($this->container->getId(), (int) $s[0], (int) $s[1]);
423
424 $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
425
426 $ctrl->redirect($this, "listCompetences");
427 }

References $ctrl, $lng, ilCtrl\redirect(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ saveSettings()

ilContSkillAdminGUI::saveSettings ( )

Definition at line 729 of file class.ilContSkillAdminGUI.php.

729 : void
730 {
733
734 $form = $this->initSettingsForm();
735 $form->checkInput();
736 ilContainer::_writeContainerSetting($this->container->getId(), "cont_skill_publish", $form->getInput("cont_skill_publish"));
737
738 $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
739
740 $ctrl->redirect($this, "settings");
741 }
static _writeContainerSetting(int $a_id, string $a_keyword, string $a_value)

References $ctrl, $lng, ilContainer\_writeContainerSetting(), initSettingsForm(), ilCtrl\redirect(), and ilLanguage\txt().

+ Here is the call graph for this function:

◆ selectSkill()

ilContSkillAdminGUI::selectSkill ( )

Definition at line 401 of file class.ilContSkillAdminGUI.php.

401 : void
402 {
405
406 $tabs->activateSubTab("competences");
407
408 $sel = new ilSkillSelectorGUI($this, "selectSkill", $this, "saveSelectedSkill");
409 if (!$sel->handleCommand()) {
410 $tpl->setContent($sel->getHTML());
411 }
412 }
Explorer class that works on tree objects (Services/Tree)

References $tabs, $tpl, ilTabsGUI\activateSubTab(), and ILIAS\UICore\GlobalTemplate\setContent().

+ Here is the call graph for this function:

◆ settings()

ilContSkillAdminGUI::settings ( )

Definition at line 693 of file class.ilContSkillAdminGUI.php.

693 : void
694 {
697
698 $tabs->activateSubTab("settings");
699
700 $form = $this->initSettingsForm();
701
702 $tpl->setContent($form->getHTML());
703 }

References $tabs, $tpl, ilTabsGUI\activateSubTab(), initSettingsForm(), and ILIAS\UICore\GlobalTemplate\setContent().

+ Here is the call graph for this function:

Field Documentation

◆ $access

ilAccessHandler ilContSkillAdminGUI::$access
protected

Definition at line 46 of file class.ilContSkillAdminGUI.php.

◆ $cont_member_role_id

int ilContSkillAdminGUI::$cont_member_role_id = 0
protected

Definition at line 48 of file class.ilContSkillAdminGUI.php.

◆ $cont_skill_manager

ContainerSkills ContainerSkillManager ilContSkillAdminGUI::$cont_skill_manager
protected

Definition at line 52 of file class.ilContSkillAdminGUI.php.

◆ $container

ilContainer ilContSkillAdminGUI::$container
protected

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

◆ $container_gui

ilContainerGUI ilContSkillAdminGUI::$container_gui
protected

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

◆ $container_gui_request

ContainerSkills SkillContainerGUIRequest ilContSkillAdminGUI::$container_gui_request
protected

Definition at line 55 of file class.ilContSkillAdminGUI.php.

◆ $ctrl

◆ $gui

ILIAS Container InternalGUIService ilContSkillAdminGUI::$gui
protected

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

◆ $lng

◆ $params

array ilContSkillAdminGUI::$params = []
protected

Definition at line 54 of file class.ilContSkillAdminGUI.php.

◆ $profile_service

SkillProfileService ilContSkillAdminGUI::$profile_service
protected

Definition at line 51 of file class.ilContSkillAdminGUI.php.

◆ $ref_id

int ilContSkillAdminGUI::$ref_id = 0
protected

Definition at line 47 of file class.ilContSkillAdminGUI.php.

◆ $requested_combined_skill_ids

array ilContSkillAdminGUI::$requested_combined_skill_ids = []
protected

Definition at line 59 of file class.ilContSkillAdminGUI.php.

◆ $requested_profile_ids

array ilContSkillAdminGUI::$requested_profile_ids = []
protected

Definition at line 61 of file class.ilContSkillAdminGUI.php.

◆ $requested_selected_profile_id

int ilContSkillAdminGUI::$requested_selected_profile_id = 0
protected

Definition at line 60 of file class.ilContSkillAdminGUI.php.

Referenced by saveSelectedProfile().

◆ $requested_selected_skill

string ilContSkillAdminGUI::$requested_selected_skill = ""
protected

Definition at line 58 of file class.ilContSkillAdminGUI.php.

◆ $requested_usr_id

int ilContSkillAdminGUI::$requested_usr_id = 0
protected

◆ $requested_usr_ids

array ilContSkillAdminGUI::$requested_usr_ids = []
protected

Definition at line 57 of file class.ilContSkillAdminGUI.php.

Referenced by deassignCompetencesConfirm(), and publishAssignments().

◆ $skills_domain

ContainerSkills SkillInternalManagerService ilContSkillAdminGUI::$skills_domain
protected

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

◆ $skills_gui

ContainerSkills SkillInternalGUIService ilContSkillAdminGUI::$skills_gui
protected

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

◆ $skmg_settings

ilSkillManagementSettings ilContSkillAdminGUI::$skmg_settings
protected

Definition at line 44 of file class.ilContSkillAdminGUI.php.

◆ $tabs

◆ $toolbar

ilToolbarGUI ilContSkillAdminGUI::$toolbar
protected

Definition at line 45 of file class.ilContSkillAdminGUI.php.

Referenced by listCompetences(), and listProfiles().

◆ $tpl

◆ $tree_access_manager

SkillTreeAccess ilContSkillAdminGUI::$tree_access_manager
protected

Definition at line 50 of file class.ilContSkillAdminGUI.php.

◆ $tree_service

SkillTreeService ilContSkillAdminGUI::$tree_service
protected

Definition at line 49 of file class.ilContSkillAdminGUI.php.

◆ $usage_service

SkillUsageService ilContSkillAdminGUI::$usage_service
protected

Definition at line 53 of file class.ilContSkillAdminGUI.php.


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