ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilQuestionPoolSkillAdministrationGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php';
5require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillUsagesTableGUI.php';
6
17{
21 private $ilias;
22
26 private $ctrl;
27
31 private $access;
32
36 private $tabs;
37
41 private $tpl;
42
46 private $lng;
47
51 private $db;
52
56 private $pluginAdmin;
57
61 private $poolOBJ;
62
63
65 {
66 $this->ilias = $ilias;
67 $this->ctrl = $ctrl;
68 $this->access = $access;
69 $this->tabs = $tabs;
70 $this->tpl = $tpl;
71 $this->lng = $lng;
72 $this->db = $db;
73 $this->pluginAdmin = $pluginAdmin;
74 $this->poolOBJ = $poolOBJ;
75 $this->refId = $refId;
76 }
77
78 private function isAccessDenied()
79 {
80 if( !$this->poolOBJ->isSkillServiceEnabled() )
81 {
82 return true;
83 }
84
86 {
87 return true;
88 }
89
90 if( ! $this->access->checkAccess('write', '', $this->refId) )
91 {
92 return true;
93 }
94
95 return false;
96 }
97
98 public function manageTabs($activeSubTabId)
99 {
100 $link = $this->ctrl->getLinkTargetByClass(
102 );
103 $this->tabs->addSubTab(
104 'ilassquestionskillassignmentsgui', $this->lng->txt('qpl_skl_sub_tab_quest_assign'), $link
105
106 );
107
108 $link = $this->ctrl->getLinkTargetByClass(
109 'ilAssQuestionSkillUsagesTableGUI', ilAssQuestionSkillUsagesTableGUI::CMD_SHOW
110 );
111 $this->tabs->addSubTab(
112 'ilassquestionskillusagestablegui', $this->lng->txt('qpl_skl_sub_tab_usages'), $link
113
114 );
115
116 $this->tabs->activateTab('qpl_tab_competences');
117 $this->tabs->activateSubTab($activeSubTabId);
118 }
119
120 public function executeCommand()
121 {
122 if( $this->isAccessDenied() )
123 {
124 $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE);
125 }
126
127 $nextClass = $this->ctrl->getNextClass();
128
129 $this->manageTabs($nextClass);
130
131 switch($nextClass)
132 {
133 case 'ilassquestionskillassignmentsgui':
134
135 require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionList.php';
136 $questionList = new ilAssQuestionList($this->db, $this->lng, $this->pluginAdmin);
137 $questionList->setParentObjId($this->poolOBJ->getId());
138 $questionList->setQuestionInstanceTypeFilter(ilAssQuestionList::QUESTION_INSTANCE_TYPE_ORIGINALS);
139 $questionList->load();
140
141 $gui = new ilAssQuestionSkillAssignmentsGUI($this->ctrl, $this->access, $this->tpl, $this->lng, $this->db);
142 $gui->setAssignmentEditingEnabled(true);
143 $gui->setQuestionContainerId($this->poolOBJ->getId());
144 $gui->setQuestionList($questionList);
145
146 $this->ctrl->forwardCommand($gui);
147
148 break;
149
150 case 'ilassquestionskillusagestablegui':
151
153 $this->ctrl, $this->tpl, $this->lng, $this->db, $this->poolOBJ->getId()
154 );
155
156 $this->ctrl->forwardCommand($gui);
157
158 break;
159 }
160 }
161}
ILIAS base class perform basic setup: init database handler, load configuration file,...
Definition: class.ilias.php:17
Class ilAccessHandler.
This class provides processing control methods.
Database Wrapper.
Definition: class.ilDB.php:29
language handling
Administration class for plugins.
__construct(ILIAS $ilias, ilCtrl $ctrl, ilAccessHandler $access, ilTabsGUI $tabs, ilTemplate $tpl, ilLanguage $lng, ilDB $db, ilPluginAdmin $pluginAdmin, ilObjQuestionPool $poolOBJ, $refId)
Tabs GUI.
special template class to simplify handling of ITX/PEAR
redirection script todo: (a better solution should control the processing via a xml file)