Merge pull request #73 from ycastillo/yoselyn.5962

showing created categories in assingments when we are in session -refs #5962
1.9.x
Yannick Warnier 13 years ago
commit f1d88cfd6e
  1. 2
      main/gradebook/index.php
  2. 36
      main/gradebook/lib/be/category.class.php

@ -821,7 +821,7 @@ if (isset($first_time) && $first_time==1 && api_is_allowed_to_edit(null,true)) {
foreach ($cats as $cat) {
$allcat = $cat->get_subcategories($stud_id, $course_code, $session_id);
$alleval = $cat->get_evaluations($stud_id);
$alllink = $cat->get_links($stud_id);
$alllink = $cat->get_links($stud_id,true);
if ($cat->get_parent_id() != 0 ) {
$i++;

@ -162,7 +162,29 @@ class Category implements GradebookItem
}
// CRUD FUNCTIONS
public static function load_session_categories($id = null, $session_id = null) {
if ( isset($id) && (int)$id === 0 ) {
$cats = array();
$cats[] = Category::create_root_category();
return $cats;
}
$cat = array();
$cats = array();
if (!empty ($session_id)) {
$tbl_grade_categories = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY);
$sql_session = 'SELECT id FROM '.$tbl_grade_categories. ' WHERE session_id = '.$session_id;
$result_session = Database::query($sql_session);
if (Database::num_rows($result_session) > 0) {
$data_session = Database::fetch_array($result_session);
$parent_id = $data_session['id'];
$cat = Category::load($parent_id);
$cats = Category::load(null, null, null, $parent_id, null, null, $order);
return array_merge($cat,$cats);
}
}
}
/**
* Retrieve categories and return them as an array of Category objects
* @param int category id
@ -1176,6 +1198,16 @@ class Category implements GradebookItem
* @return array Array of subcategories
*/
public function get_subcategories ($stud_id = null, $course_code = null, $session_id = null, $order = null) {
if (!empty ($session_id)) {
$tbl_grade_categories = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY);
$sql_session = 'SELECT id FROM '.$tbl_grade_categories. ' WHERE session_id = '.$session_id;
$result_session = Database::query($sql_session);
if (Database::num_rows($result_session) > 0) {
$data_session = Database::fetch_array($result_session);
$parent_id = $data_session['id'];
return Category::load(null, null, null, $parent_id, null, null, $order);
}
}
// 1 student
if (isset($stud_id)) {
// special case: this is the root
@ -1253,7 +1285,7 @@ class Category implements GradebookItem
foreach ($subcats as $subcat) {
$subevals = $subcat->get_evaluations($stud_id, true, $course_code);
//$this->debugprint($subevals);
$evals = array_merge($evals, $subevals);
$evals = array_merge($evals, $subevals);
}
}
}

Loading…
Cancel
Save