Skil management adding form #1791

skala
Julio Montoya 14 years ago
parent ca8d5a076b
commit b74521e32b
  1. 12
      main/inc/ajax/skill.ajax.php
  2. 43
      main/inc/lib/skill.lib.php
  3. 7
      main/inc/lib/skill.visualizer.lib.php

@ -18,7 +18,12 @@ $skill_rel_skill = new SkillRelSkill();
switch ($action) {
case 'add':
if (isset($_REQUEST['id']) && !empty($_REQUEST['id'])) {
$skill->edit($_REQUEST);
} else {
$skill->add($_REQUEST);
}
break;
case 'find_skills':
$tag = Database::escape_string($_REQUEST['tag']);
@ -53,7 +58,11 @@ switch ($action) {
$skills = $skill->get_all($load_user_data);
echo json_encode($skills);
break;
case 'get_skill_info':
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
$skill_info = $skill->get_skill_info($id);
echo json_encode($skill_info);
break;
case 'load_children':
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
$skills = $skill->get_children($id);
@ -86,7 +95,6 @@ switch ($action) {
break;
case 'remove_skill':
if (!empty($_REQUEST['skill_id']) && !empty($_REQUEST['gradebook_id'])) {
$skill_item = $skill_gradebook->get_skill_info($_REQUEST['skill_id'], $_REQUEST['gradebook_id']);
if (!empty($skill_item)) {
$skill_gradebook->delete($skill_item['id']);

@ -105,7 +105,6 @@ class SkillRelGradebook extends Model {
$result = Database::select('*',$this->table, array('where'=>array('skill_id = ? AND gradebook_id = ? '=>array($skill_id, $gradebook_id))),'first');
return $result;
}
}
/**
@ -131,6 +130,16 @@ class Skill extends Model {
$this->table_gradebook = Database::get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY);
}
function get_skill_info($id) {
$skill_rel_skill = new SkillRelSkill();
$skill_info = $this->get($id);
if (!empty($skill_info)) {
$skill_info['extra'] = $skill_rel_skill->get_skill_info($id);
$skill_info['gradebooks'] = self::get_gradebooks_by_skill($id);
}
return $skill_info;
}
public function skill_exists($skill_id) {
}
@ -238,6 +247,38 @@ class Skill extends Model {
}
}
public function edit($params) {
if (!isset($params['parent_id'])) {
$params['parent_id'] = 1;
}
$skill_rel_skill = new SkillRelSkill();
$skill_rel_gradebook = new SkillRelGradebook();
//Saving name, description
$this->update($params);
$skill_id = $params['id'];
if ($skill_id) {
//Saving skill_rel_skill (parent_id, relation_type)
$attributes = array(
'skill_id' => $skill_id,
'parent_id' => $params['parent_id'],
'relation_type' => $params['relation_type'],
//'level' => $params['level'],
);
$skill_rel_skill->update($attributes);
if (!empty($params['gradebook_id'])) {
foreach ($params['gradebook_id'] as $gradebook_id) {
$attributes = array();
$attributes['gradebook_id'] = $gradebook_id;
$attributes['skill_id'] = $skill_id;
$skill_rel_gradebook->update($attributes);
}
}
}
}
/**
* Return true if the user has the skill
*

@ -40,9 +40,9 @@
$this->html .= '<div id="block_'.$block_id.'" class = " open_block window '.$extra_class.' '.$class.'" style = "top:' . $position['y'] . 'px; left:' . $position['x'] . 'px;">';
$gradebook_string = '';
if (!empty($skill['gradebooks'])) {
foreach($skill['gradebooks'] as $gradebook) {
foreach ($skill['gradebooks'] as $gradebook) {
//uncomment this to show the gradebook tags
//$gradebook_string .= Display::span($gradebook['name'], array('class'=>'label_tag notice','style'=>'width:50px')).'<br />';
$gradebook_string .= Display::span($gradebook['name'], array('class'=>'label_tag notice','style'=>'width:50px')).'<br />';
}
}
$skill['name'] = Display::url($skill['name'], '#', array('id'=>'edit_block_'.$block_id, 'class'=>'edit_block'));
@ -148,9 +148,7 @@
//$skill['name'] = $skill['name']." | $x = $my_count * 150 + $parent_x - (150* $max/2) - 10*$childs ";
$this->add_item($skill, array('x' => $this->offset_x + $x, 'y' => $this->offset_y +$y));
}
echo $this->get_html();
}
/**
@ -160,7 +158,6 @@
echo $this->get_js();
}
private function get_html() {
return $this->html;
}

Loading…
Cancel
Save