ILIAS  release_8 Revision v8.24
class.ilContSkillMemberTableGUI.php
Go to the documentation of this file.
1<?php
2
21
28{
30 protected UIServices $ui;
31
32 public function __construct(ilContSkillAdminGUI $a_parent_obj, string $a_parent_cmd, ilContainerSkills $a_cont_skills)
33 {
34 global $DIC;
35
36 $this->ctrl = $DIC->ctrl();
37 $this->lng = $DIC->language();
38 $this->tpl = $DIC["tpl"];
39 $this->ui = $DIC->ui();
40
41 $this->setId("cont_skll_mem_" . $a_cont_skills->getId());
42
43 $this->container_skills = $a_cont_skills;
44
45 parent::__construct($a_parent_obj, $a_parent_cmd);
46 $this->setData($this->getMembers());
47 $this->setTitle($this->lng->txt("cont_cont_skills"));
48
49 $this->addColumn("", "", "1", true);
50 $this->addColumn($this->lng->txt("name"), "name");
51 $this->addColumn($this->lng->txt("login"), "login");
52 $this->addColumn($this->lng->txt("cont_mem_skills"), "");
53 $this->addColumn($this->lng->txt("cont_published"), "");
54 $this->addColumn($this->lng->txt("actions"));
55
56 $this->setDefaultOrderField("name");
57 $this->setDefaultOrderDirection("asc");
58 $this->setSelectAllCheckbox("usr_ids");
59
60 $this->setFormAction($this->ctrl->getFormAction($a_parent_obj));
61 $this->setRowTemplate("tpl.cont_member_skill_row.html", "Services/Container/Skills");
62
63 if (ilContainer::_lookupContainerSetting($this->container_skills->getId(), "cont_skill_publish", '0')) {
64 $this->addMultiCommand("publishAssignments", $this->lng->txt("cont_publish_assignment"));
65 }
66 $this->addMultiCommand("deassignCompetencesConfirm", $this->lng->txt("cont_deassign_competence"));
67 }
68
69 public function getMembers(): array
70 {
71 $p = ilCourseParticipants::getInstanceByObjId($this->container_skills->getId());
72
73 $members = [];
74 foreach ($p->getMembers() as $m) {
76 $members[] = [
77 "id" => $m,
78 "name" => $name["lastname"] . ", " . $name["firstname"],
79 "login" => $name["login"],
80 "skills" => []
81 ];
82 }
83 return $members;
84 }
85
86 protected function fillRow(array $a_set): void
87 {
91 $ui = $this->ui;
92
93 // levels
94 $mskills = new ilContainerMemberSkills($this->container_skills->getId(), $a_set["id"]);
95 foreach ($mskills->getOrderedSkillLevels() as $sk) {
96 $tpl->setCurrentBlock("level");
97 $tpl->setVariable("TXT_SKILL", ilBasicSkill::_lookupTitle($sk["skill_id"], $sk["tref_id"]));
98 $tpl->setVariable("TXT_LEVEL", ilBasicSkill::lookupLevelTitle($sk["level_id"]));
99 $tpl->setVariable("PATH", $this->getParentObject()->getPathString($sk["skill_id"], $sk["tref_id"]));
100 $tpl->parseCurrentBlock();
101 }
102
103 // published
104 if ($mskills->getPublished()) {
105 $tpl->setVariable("PUBLISHED", $lng->txt("yes"));
106 } else {
107 $tpl->setVariable("PUBLISHED", $lng->txt("no"));
108 }
109
110
111 $tpl->setVariable("NAME", $a_set["name"]);
112 $tpl->setVariable("ID", $a_set["id"]);
113 $tpl->setVariable("LOGIN", $a_set["login"]);
114
115 $ctrl->setParameter($this->parent_obj, "usr_id", $a_set["id"]);
116
117 $items = [];
118 $b = $ui->factory()->button();
119 if (!$mskills->getPublished() || (!ilContainer::_lookupContainerSetting($this->container_skills->getId(), "cont_skill_publish", '0'))) {
120 $items[] = $b->shy($lng->txt("cont_assign_competence"), $ctrl->getLinkTarget($this->parent_obj, "assignCompetences"));
121 }
122 if (!$mskills->getPublished()) {
123 $items[] = $b->shy($lng->txt("cont_publish_assignment"), $ctrl->getLinkTarget($this->parent_obj, "publishAssignments"));
124 }
125 $items[] = $b->shy($lng->txt("cont_deassign_competence"), $ctrl->getLinkTarget($this->parent_obj, "deassignCompetencesConfirm"));
126 $dd = $ui->factory()->dropdown()->standard($items);
127
128 $tpl->setVariable("ACTIONS", $ui->renderer()->render($dd));
129 }
130}
Provides fluid interface to RBAC services.
Definition: UIServices.php:24
renderer()
Get a renderer for UI components.
Definition: UIServices.php:43
factory()
Get the factory that crafts UI components.
Definition: UIServices.php:35
static lookupLevelTitle(int $a_id)
Container skills administration.
TableGUI class for container members / skill assignments.
__construct(ilContSkillAdminGUI $a_parent_obj, string $a_parent_cmd, ilContainerSkills $a_cont_skills)
fillRow(array $a_set)
Standard Version of Fill Row.
Skills of a container.
static _lookupContainerSetting(int $a_id, string $a_keyword, string $a_default_value=null)
setParameter(object $a_gui_obj, string $a_parameter, $a_value)
@inheritDoc
getLinkTarget(object $a_gui_obj, string $a_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
@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...
static _lookupName(int $a_user_id)
lookup user name
static getInstanceByObjId(int $a_obj_id)
Get instance by obj type.
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
addMultiCommand(string $a_cmd, string $a_text)
setFormAction(string $a_form_action, bool $a_multipart=false)
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
setDefaultOrderField(string $a_defaultorderfield)
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
setId(string $a_val)
setDefaultOrderDirection(string $a_defaultorderdirection)
setData(array $a_data)
Set table data.
ilLanguage $lng
global $DIC
Definition: feed.php:28
if($format !==null) $name
Definition: metadata.php:247
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc