ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilSkillTemplateReferenceGUI.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5include_once("./Services/Skill/classes/class.ilBasicSkillTemplateGUI.php");
6include_once("./Services/Skill/classes/class.ilSkillTemplateReference.php");
17{
18
22 function __construct($a_tref_id = 0)
23 {
24 global $ilCtrl;
25
26 $ilCtrl->saveParameter($this, "obj_id");
27 $ilCtrl->saveParameter($this, "tref_id");
28
29 parent::__construct($a_tref_id);
30
31 $this->tref_id = $a_tref_id;
32 if (is_object($this->node_object))
33 {
34 $this->base_skill_id = $this->node_object->getSkillTemplateId();
35 }
36 }
37
41 function getType()
42 {
43 return "sktr";
44 }
45
49 function &executeCommand()
50 {
51 global $ilCtrl, $tpl, $ilTabs;
52
53 $tpl->getStandardTemplate();
54
55 $next_class = $ilCtrl->getNextClass($this);
56 $cmd = $ilCtrl->getCmd();
57
58 switch($next_class)
59 {
60 default:
61 $ret = $this->$cmd();
62 break;
63 }
64 }
65
69 function setTabs($a_tab)
70 {
71 global $ilTabs, $ilCtrl, $tpl, $lng, $ilHelp;
72
73 $ilTabs->clearTargets();
74 $ilHelp->setScreenIdComponent("skmg_sktr");
75
76 if (is_object($this->node_object))
77 {
78 $sk_id = $this->node_object->getSkillTemplateId();
79 $obj_type = ilSkillTreeNode::_lookupType($sk_id);
80
81 if ($obj_type == "sctp")
82 {
83 // content
84 $ilTabs->addTab("content", $lng->txt("content"),
85 $ilCtrl->getLinkTarget($this, 'listItems'));
86 }
87 else
88 {
89 // content
90 $ilTabs->addTab("content", $lng->txt("skmg_skill_levels"),
91 $ilCtrl->getLinkTarget($this, 'listItems'));
92 }
93
94 // properties
95 $ilTabs->addTab("properties", $lng->txt("settings"),
96 $ilCtrl->getLinkTarget($this, 'editProperties'));
97
98 // usage
99 $this->addUsageTab($ilTabs);
100
101 // back link
102/*
103 $ilCtrl->setParameterByClass("ilskillrootgui", "obj_id",
104 $this->node_object->skill_tree->getRootId());
105 $ilTabs->setBackTarget($lng->txt("obj_skmg"),
106 $ilCtrl->getLinkTargetByClass("ilskillrootgui", "listSkills"));
107 $ilCtrl->setParameterByClass("ilskillrootgui", "obj_id",
108 $_GET["obj_id"]);*/
109
110 $tid = ilSkillTemplateReference::_lookupTemplateId($this->node_object->getId());
111 $add = " (".ilSkillTreeNode::_lookupTitle($tid).")";
112
113 parent::setTitleIcon();
114 $tpl->setTitle(
115 $lng->txt("skmg_sktr").": ".$this->node_object->getTitle().$add);
117
118 $ilTabs->activateTab($a_tab);
119 }
120 }
121
128 function insert()
129 {
130 global $ilCtrl, $tpl;
131
132 $ilCtrl->saveParameter($this, "parent_id");
133 $ilCtrl->saveParameter($this, "target");
134 $this->initForm("create");
135 $tpl->setContent($this->form->getHTML());
136 }
137
138
142 function editProperties()
143 {
144 global $tpl;
145
146 $this->setTabs("properties");
147
148 $this->initForm();
149 $this->getValues();
150 $tpl->setContent($this->form->getHTML());
151 }
152
158 public function initForm($a_mode = "edit")
159 {
160 global $lng, $ilCtrl;
161
162 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
163 $this->form = new ilPropertyFormGUI();
164
165 // select skill template
166 include_once("./Services/Skill/classes/class.ilSkillTreeNode.php");
168
169 // title
170 $ti = new ilTextInputGUI($lng->txt("title"), "title");
171 $ti->setRequired(true);
172 $this->form->addItem($ti);
173
174 // order nr
175 $ni = new ilNumberInputGUI($lng->txt("skmg_order_nr"), "order_nr");
176 $ni->setMaxLength(6);
177 $ni->setSize(6);
178 $ni->setRequired(true);
179 $this->form->addItem($ni);
180
181 // template
182 $options = array(
183 "" => $lng->txt("please_select"),
184 );
185 foreach ($tmplts as $tmplt)
186 {
187 $options[$tmplt["child"]] = $tmplt["title"];
188 }
189 if ($a_mode != "edit")
190 {
191 $si = new ilSelectInputGUI($lng->txt("skmg_skill_template"), "skill_template_id");
192 $si->setOptions($options);
193 $si->setRequired(true);
194 $this->form->addItem($si);
195 }
196 else
197 {
198 $ne = new ilNonEditableValueGUI($lng->txt("skmg_skill_template"), "");
199 $ne->setValue($options[$this->node_object->getSkillTemplateId()]);
200 $this->form->addItem($ne);
201 }
202
203 // status
204 $this->addStatusInput($this->form);
205
206 // selectable
207 $cb = new ilCheckboxInputGUI($lng->txt("skmg_selectable"), "selectable");
208 $cb->setInfo($lng->txt("skmg_selectable_info"));
209 $this->form->addItem($cb);
210
211 if ($this->checkPermissionBool("write"))
212 {
213 if ($a_mode == "create")
214 {
215 $this->form->addCommandButton("save", $lng->txt("save"));
216 $this->form->addCommandButton("cancel", $lng->txt("cancel"));
217 $this->form->setTitle($lng->txt("skmg_new_sktr"));
218 } else
219 {
220 $this->form->addCommandButton("updateSkillTemplateReference", $lng->txt("save"));
221 $this->form->setTitle($lng->txt("skmg_edit_sktr"));
222 }
223 }
224
225 $this->form->setFormAction($ilCtrl->getFormAction($this));
226 }
227
231 public function getValues()
232 {
233 $values = array();
234 $values["skill_template_id"] = $this->node_object->getSkillTemplateId();
235 $values["title"] = $this->node_object->getTitle();
236 $values["selectable"] = $this->node_object->getSelfEvaluation();
237 $values["status"] = $this->node_object->getStatus();
238 $values["order_nr"] = $this->node_object->getOrderNr();
239 $this->form->setValuesByArray($values);
240 }
241
245 function saveItem()
246 {
247 if (!$this->checkPermissionBool("write"))
248 {
249 return;
250 }
251
252 $sktr = new ilSkillTemplateReference();
253 $sktr->setTitle($_POST["title"]);
254 $sktr->setSkillTemplateId($_POST["skill_template_id"]);
255 $sktr->setSelfEvaluation($_POST["selectable"]);
256 $sktr->setOrderNr($_POST["order_nr"]);
257 $sktr->setStatus($_POST["status"]);
258 $sktr->create();
259 ilSkillTreeNode::putInTree($sktr, (int) $_GET["obj_id"], IL_LAST_NODE);
260 $this->node_object = $sktr;
261 }
262
266 function afterSave()
267 {
268 global $ilCtrl;
269
270 $ilCtrl->setParameterByClass("ilskilltemplatereferencegui", "tref_id",
271 $this->node_object->getId());
272 $ilCtrl->setParameterByClass("ilskilltemplatereferencegui", "obj_id",
273 $this->node_object->getSkillTemplateId());
274 $ilCtrl->redirectByClass("ilskilltemplatereferencegui", "listItems");
275 }
276
281 {
282 global $lng, $ilCtrl, $tpl;
283
284 if (!$this->checkPermissionBool("write"))
285 {
286 return;
287 }
288
289 $this->initForm("edit");
290 if ($this->form->checkInput())
291 {
292 // perform update
293// $this->node_object->setSkillTemplateId($_POST["skill_template_id"]);
294 $this->node_object->setTitle($_POST["title"]);
295 $this->node_object->setSelfEvaluation($_POST["selectable"]);
296 $this->node_object->setOrderNr($_POST["order_nr"]);
297 $this->node_object->setStatus($_POST["status"]);
298 $this->node_object->update();
299
300 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
301 $ilCtrl->redirect($this, "editProperties");
302 }
303
304 $this->form->setValuesByPost();
305 $tpl->setContent($this->form->getHtml());
306 }
307
314 function cancel()
315 {
316 global $ilCtrl;
317
318 $ilCtrl->redirectByClass("ilobjskillmanagementgui", "editSkills");
319 }
320
324 function listItems()
325 {
326 global $tpl;
327
328 $this->setTabs("content");
329
330 $sk_id = $this->node_object->getSkillTemplateId();
331 $obj_type = ilSkillTreeNode::_lookupType($sk_id);
332
333 if ($obj_type == "sctp")
334 {
335 include_once("./Services/Skill/classes/class.ilSkillCatTableGUI.php");
336 $table = new ilSkillCatTableGUI($this, "listItems", (int) $sk_id,
337 ilSkillCatTableGUI::MODE_SCTP, $this->node_object->getId());
338 $tpl->setContent($table->getHTML());
339 }
340 else if ($obj_type == "sktp")
341 {
342 include_once("./Services/Skill/classes/class.ilSkillLevelTableGUI.php");
343 $table = new ilSkillLevelTableGUI((int) $sk_id, $this, "edit", $this->node_object->getId());
344 $tpl->setContent($table->getHTML());
345 }
346 }
347
348}
349
350?>
global $tpl
Definition: ilias.php:8
$_GET["client_id"]
const IL_LAST_NODE
Definition: class.ilTree.php:4
Basic skill template GUI class.
This class represents a checkbox property in a property form.
This class represents a non editable value in a property form.
This class represents a number property in a property form.
This class represents a property form user interface.
This class represents a selection list property in a property form.
Skill template reference GUI class.
static _lookupTemplateId($a_obj_id)
Lookup template ID.
setSkillNodeDescription()
Set skill node description.
addUsageTab($a_tabs)
Add usage tab.
addStatusInput(ilPropertyFormGUI $a_form)
Add status input.
checkPermissionBool($a_perm)
Check permission pool.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
Put this object into the skill tree.
static getTopTemplates()
Get top skill templates and template categories.
static _lookupType($a_obj_id)
Lookup Type.
This class represents a text property in a property form.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40
$cmd
Definition: sahs_server.php:35
if(!is_array($argv)) $options