34 protected \ilLanguage
$lng;
50 $this->
ctrl = $DIC->ctrl();
51 $this->
error = $DIC[
"ilErr"];
52 $this->
lng = $DIC->language();
56 $this->admin_gui_request =
$DIC->skills()->internal()->gui()->admin_request();
59 $this->requested_ref_id = $this->admin_gui_request->getRefId();
61 $this->tree_access_manager =
$DIC->skills()->internal()->manager()->getTreeAccessManager($this->requested_ref_id);
62 $this->management_access_manager =
$DIC->skills()->internal()->manager()->getManagementAccessManager($this->requested_ref_id);
65 public function createTree(
string $title,
string $description): void
67 if (!$this->management_access_manager->hasCreateTreePermission()) {
68 $this->
error->raiseError($this->
lng->txt(
'no_permission'), $this->error->WARNING);
70 $tree_obj = new \ilObjSkillTree();
71 $tree_obj->setTitle($title);
72 $tree_obj->setDescription($description);
74 $tree_obj->createReference();
75 $tree_obj->putInTree($this->skmg_ref_id);
76 $tree_obj->setPermissions($this->skmg_ref_id);
78 $tree = $this->tree_factory->getTreeById($tree_obj->getId());
79 $root_node = new \ilSkillRoot();
80 $root_node->setTitle(
"Skill Tree Root Node");
82 $tree->addTree($tree_obj->getId(), $root_node->getId());
83 $this->
ctrl->setParameterByClass(
"ilobjskilltreegui",
"ref_id", $tree_obj->getRefId());
84 $this->
ctrl->setParameterByClass(
"ilobjskilltreegui",
"node_id", $tree->readRootId());
89 if (!$this->tree_access_manager->hasEditTreeSettingsPermission()) {
90 $this->
error->raiseError($this->
lng->txt(
'no_permission'), $this->error->WARNING);
99 if (!$this->management_access_manager->hasCreateTreePermission()) {
100 $this->
error->raiseError($this->
lng->txt(
'no_permission'), $this->error->WARNING);
107 foreach ($this->repository_tree->getChilds($this->skmg_ref_id) as
$c) {
108 if (
$c[
"type"] ==
"skee") {
109 yield new \ilObjSkillTree(
$c[
"child"]);
117 return new \ilObjSkillTree(
$ref_id);
Request wrapper for guis in skill administration.
SkillAdminGUIRequest $admin_gui_request
SkillTreeFactory $tree_factory
SkillManagementAccess $management_access_manager
__construct(int $skmg_ref_id, \ilTree $repository_tree, SkillTreeFactory $tree_factory)
SkillTreeAccess $tree_access_manager
deleteTree(\ilObjSkillTree $tree_obj)
getSkillManagementRefId()
Get ref id of skill management administration node.
updateTree(\ilObjSkillTree $tree_obj, string $title, string $description)
createTree(string $title, string $description)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
delete()
delete object or referenced object (in the case of a referenced object, object data is only deleted i...
static _getAllReferences(int $id)
get all reference ids for object ID
setDescription(string $desc)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...