diff --git a/main/inc/ajax/model.ajax.php b/main/inc/ajax/model.ajax.php index e39493390b..f4fd80cefb 100644 --- a/main/inc/ajax/model.ajax.php +++ b/main/inc/ajax/model.ajax.php @@ -731,8 +731,6 @@ switch ($action) { 'homeworks', 'wikis', 'surveys', - //course description - 'course_description_progress', //exercises 'lessons_total' , 'lessons_done' , diff --git a/main/inc/lib/display.lib.php b/main/inc/lib/display.lib.php index 51c80915ae..e687f45808 100644 --- a/main/inc/lib/display.lib.php +++ b/main/inc/lib/display.lib.php @@ -942,7 +942,10 @@ class Display { // Adding extra params if (!empty($extra_params)) { foreach ($extra_params as $key => $element) { - $obj->$key = $element; + //groupHeaders has a especial treatment + if ($key != 'groupHeaders') { + $obj->$key = $element; + } } } @@ -975,9 +978,27 @@ class Display { // Creating the jqgrid element. $json .= '$("#'.$div_id.'").jqGrid({'; //$json .= $beforeSelectRow; + $json .= $json_encode; + $json .= '});'; + //Grouping headers option + if (isset($extra_params['groupHeaders'])) { + $groups = ''; + foreach ($extra_params['groupHeaders'] as $group) { + //{ "startColumnName" : "courses", "numberOfColumns" : 1, "titleText" : "Order Info" }, + $groups .= '{ "startColumnName" : "' . $group['startColumnName'] . '", "numberOfColumns" : ' . $group['numberOfColumns'] . ', "titleText" : "' . $group['titleText'] . '" },'; + + } + $json .= '$("#'.$div_id.'").jqGrid("setGroupHeaders", { + "useColSpanStyle" : false, + "groupHeaders" : [ + ' . $groups . ' + ] + });'; + } + $all_text = addslashes(get_lang('All')); $json .= '$("'.$obj->pager.' option[value='.$all_value.']").text("'.$all_text.'");'; $json.= "\n"; diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index 73e6a2a6dd..684533b6c0 100644 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -695,7 +695,9 @@ class SessionManager */ public static function get_session_progress($sessionId, $courseId, $options) { - + if (empty($sessionId)) { + $sessionId = 0; + } //tables $session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); $user = Database::get_main_table(TABLE_MAIN_USER); @@ -904,52 +906,58 @@ class SessionManager //Overall Total $overall_total = ($course_description_progress + $exercises_progress + $forums_progress + $assignments_progress + $wiki_progress + $surveys_progress) / 6; + $link = ' %s '; + $linkForum = ' %s '; + $linkWork = ' %s '; + $linkWiki = ' %s '; + $linkSurvey = ' %s '; + $table[] = array( 'lastname' => $user[1], 'firstname' => $user[2], 'username' => $user[3], #'profile' => '', 'total' => round($overall_total,2) . '%', - 'courses' => $course_description_progress . '%', - 'lessons' => $lessons_progress . '%', - 'exercises' => $exercises_progress . '%', - 'forums' => $forums_progress . '%', - 'homeworks' => $assignments_progress . '%', - 'wikis' => $wiki_progress . '%', - 'surveys' => $surveys_progress . '%', + 'courses' => sprintf($link, $course_description_progress . '%'), + 'lessons' => sprintf($link, $lessons_progress . '%'), + 'exercises' => sprintf($link, $exercises_progress . '%'), + 'forums' => sprintf($link, $forums_progress . '%'), + 'homeworks' => sprintf($link, $assignments_progress . '%'), + 'wikis' => sprintf($link, $wiki_progress . '%'), + 'surveys' => sprintf($link, $surveys_progress . '%'), //course description 'course_description_progress' => $course_description_progress . '%', //lessons - 'lessons_total' => $lessons_total, - 'lessons_done' => $lessons_done, - 'lessons_left' => $lessons_left, - 'lessons_progress' => $lessons_progress . '%', + 'lessons_total' => sprintf($link, $lessons_total), + 'lessons_done' => sprintf($link, $lessons_done), + 'lessons_left' => sprintf($link, $lessons_left), + 'lessons_progress' => sprintf($link, $lessons_progress . '%'), //exercises - 'exercises_total' => $exercises_total, - 'exercises_done' => $exercises_done, - 'exercises_left' => $exercises_left, - 'exercises_progress' => $exercises_progress . '%', + 'exercises_total' => sprintf($link, $exercises_total), + 'exercises_done' => sprintf($link, $exercises_done), + 'exercises_left' => sprintf($link, $exercises_left), + 'exercises_progress' => sprintf($link, $exercises_progress . '%'), //forums - 'forums_total' => $forums_total, - 'forums_done' => $forums_done, - 'forums_left' => $forums_left, - 'forums_progress' => $forums_progress . '%', + 'forums_total' => sprintf($linkForum, $forums_total), + 'forums_done' => sprintf($linkForum, $forums_done), + 'forums_left' => sprintf($linkForum, $forums_left), + 'forums_progress' => sprintf($linkForum, $forums_progress . '%'), //assignments - 'assignments_total' => $assignments_total, - 'assignments_done' => $assignments_done, - 'assignments_left' => $assignments_left, - 'assignments_progress' => $assignments_progress . '%', + 'assignments_total' => sprintf($linkWork, $assignments_total), + 'assignments_done' => sprintf($linkWork, $assignments_done), + 'assignments_left' => sprintf($linkWork, $assignments_left), + 'assignments_progress' => sprintf($linkWork, $assignments_progress . '%'), //wiki - 'wiki_total' => $wiki_total, - 'wiki_revisions' => $wiki_revisions, - 'wiki_read' => $wiki_read, - 'wiki_unread' => $wiki_unread, - 'wiki_progress' => $wiki_progress . '%', + 'wiki_total' => sprintf($linkWiki, $wiki_total), + 'wiki_revisions' => sprintf($linkWiki, $wiki_revisions), + 'wiki_read' => sprintf($linkWiki, $wiki_read), + 'wiki_unread' => sprintf($linkWiki, $wiki_unread), + 'wiki_progress' => sprintf($linkWiki, $wiki_progress . '%'), //survey - 'surveys_total' => $surveys_total, - 'surveys_done' => $surveys_done, - 'surveys_left' => $surveys_left, - 'surveys_progress' => $surveys_progress . '%', + 'surveys_total' => sprintf($linkSurvey, $surveys_total), + 'surveys_done' => sprintf($linkSurvey, $surveys_done), + 'surveys_left' => sprintf($linkSurvey, $surveys_left), + 'surveys_progress' => sprintf($linkSurvey, $surveys_progress . '%'), ); } return $table; diff --git a/main/mySpace/myspace.lib.php b/main/mySpace/myspace.lib.php index d22a3b9f61..3df79ac829 100644 --- a/main/mySpace/myspace.lib.php +++ b/main/mySpace/myspace.lib.php @@ -494,15 +494,13 @@ class MySpace { get_lang('Username'), #get_lang('Profile'), get_lang('Total'), - get_lang('CourseDescription'), + get_lang('Courses'), get_lang('LearningPaths'), get_lang('Exercises'), get_lang('Forums'), get_lang('Assignments'), get_lang('ToolWiki'), get_lang('ToolSurvey'), - //course description - get_lang('CourseDescriptionProgress'), //Learning paths get_lang('LearnpathsTotal'), get_lang('LearnpathsDone'), @@ -538,51 +536,49 @@ class MySpace { //Column config $column_model = array( - array('name'=>'lastname', 'index'=>'lastname', 'align'=>'left', 'search' => 'true'), - array('name'=>'firstname', 'index'=>'firstname', 'align'=>'left', 'search' => 'true'), - array('name'=>'username', 'index'=>'username', 'align'=>'left', 'search' => 'true'), - #array('name'=>'profile', 'index'=>'username', 'align'=>'left', 'search' => 'true'), - array('name'=>'total', 'index'=>'total', 'align'=>'left', 'search' => 'true'), - array('name'=>'courses', 'index'=>'courses', 'align'=>'left', 'search' => 'true'), - array('name'=>'lessons', 'index'=>'lessons', 'align'=>'left', 'search' => 'true'), - array('name'=>'exercises', 'index'=>'exercises', 'align'=>'left', 'search' => 'true'), - array('name'=>'forums', 'index'=>'forums', 'align'=>'left', 'search' => 'true'), - array('name'=>'homeworks', 'index'=>'homeworks', 'align'=>'left', 'search' => 'true'), - array('name'=>'wikis', 'index'=>'wikis', 'align'=>'left', 'search' => 'true'), - array('name'=>'surveys', 'index'=>'surveys', 'align'=>'left', 'search' => 'true'), - //Course description - array('name'=>'course_description_progress', 'index'=>'course_description_progress', 'align'=>'left', 'search' => 'true'), + array('name'=>'lastname', 'index'=>'lastname', 'align'=>'left'), + array('name'=>'firstname', 'index'=>'firstname', 'align'=>'left'), + array('name'=>'username', 'index'=>'username', 'align'=>'left'), + #array('name'=>'profile', 'index'=>'username', 'align'=>'left'), + array('name'=>'total', 'index'=>'total', 'align'=>'left'), + array('name'=>'courses', 'index'=>'courses', 'align'=>'left', 'sortable' => 'false'), + array('name'=>'lessons', 'index'=>'lessons', 'align'=>'left', 'sortable' => 'false'), + array('name'=>'exercises', 'index'=>'exercises', 'align'=>'left', 'sortable' => 'false'), + array('name'=>'forums', 'index'=>'forums', 'align'=>'left', 'sortable' => 'false'), + array('name'=>'homeworks', 'index'=>'homeworks', 'align'=>'left', 'sortable' => 'false'), + array('name'=>'wikis', 'index'=>'wikis', 'align'=>'left', 'sortable' => 'false'), + array('name'=>'surveys', 'index'=>'surveys', 'align'=>'left', 'sortable' => 'false'), //Lessons - array('name'=>'lessons_total', 'index'=>'lessons_total', 'align'=>'left', 'search' => 'true'), - array('name'=>'lessons_done', 'index'=>'lessons_done', 'align'=>'left', 'search' => 'true'), - array('name'=>'lessons_left', 'index'=>'lessons_left', 'align'=>'left', 'search' => 'true'), - array('name'=>'lessons_progress', 'index'=>'lessons_progress', 'align'=>'left', 'search' => 'true'), + array('name'=>'lessons_total', 'index'=>'lessons_total', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'lessons_done', 'index'=>'lessons_done', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'lessons_left', 'index'=>'lessons_left', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'lessons_progress', 'index'=>'lessons_progress', 'align'=>'center', 'sortable' => 'false'), //Exercises - array('name'=>'exercises_total', 'index'=>'exercises_total', 'align'=>'left', 'search' => 'true'), - array('name'=>'exercises_done', 'index'=>'exercises_done', 'align'=>'left', 'search' => 'true'), - array('name'=>'exercises_left', 'index'=>'exercises_left', 'align'=>'left', 'search' => 'true'), - array('name'=>'exercises_progress', 'index'=>'exercises_progress', 'align'=>'left', 'search' => 'true'), + array('name'=>'exercises_total', 'index'=>'exercises_total', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'exercises_done', 'index'=>'exercises_done', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'exercises_left', 'index'=>'exercises_left', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'exercises_progress', 'index'=>'exercises_progress', 'align'=>'center', 'sortable' => 'false'), //Assignments - array('name'=>'forums_total', 'index'=>'forums_total', 'align'=>'left', 'search' => 'true'), - array('name'=>'forums_done', 'index'=>'forums_done', 'align'=>'left', 'search' => 'true'), - array('name'=>'forums_left', 'index'=>'forums_left', 'align'=>'left', 'search' => 'true'), - array('name'=>'forums_progress', 'index'=>'forums_progress', 'align'=>'left', 'search' => 'true'), + array('name'=>'forums_total', 'index'=>'forums_total', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'forums_done', 'index'=>'forums_done', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'forums_left', 'index'=>'forums_left', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'forums_progress', 'index'=>'forums_progress', 'align'=>'center', 'sortable' => 'false'), //Assignments - array('name'=>'assigments_total', 'index'=>'assigments_total', 'align'=>'left', 'search' => 'true'), - array('name'=>'assigments_done', 'index'=>'assigments_done', 'align'=>'left', 'search' => 'true'), - array('name'=>'assigments_left', 'index'=>'assigments_left', 'align'=>'left', 'search' => 'true'), - array('name'=>'assigments_progress', 'index'=>'assigments_progress', 'align'=>'left', 'search' => 'true'), + array('name'=>'assigments_total', 'index'=>'assigments_total', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'assigments_done', 'index'=>'assigments_done', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'assigments_left', 'index'=>'assigments_left', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'assigments_progress', 'index'=>'assigments_progress', 'align'=>'center', 'sortable' => 'false'), //Assignments - array('name'=>'wiki_total', 'index'=>'wiki_total', 'align'=>'left', 'search' => 'true'), - array('name'=>'wiki_revisions', 'index'=>'wiki_revisions', 'align'=>'left', 'search' => 'true'), - array('name'=>'wiki_read', 'index'=>'wiki_read', 'align'=>'left', 'search' => 'true'), - array('name'=>'wiki_unread', 'index'=>'wiki_unread', 'align'=>'left', 'search' => 'true'), - array('name'=>'wiki_progress', 'index'=>'wiki_progress', 'align'=>'left', 'search' => 'true'), + array('name'=>'wiki_total', 'index'=>'wiki_total', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'wiki_revisions', 'index'=>'wiki_revisions', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'wiki_read', 'index'=>'wiki_read', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'wiki_unread', 'index'=>'wiki_unread', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'wiki_progress', 'index'=>'wiki_progress', 'align'=>'center', 'sortable' => 'false'), //Surveys - array('name'=>'surveys_total', 'index'=>'surveys_total', 'align'=>'left', 'search' => 'true'), - array('name'=>'surveys_done', 'index'=>'surveys_done', 'align'=>'left', 'search' => 'true'), - array('name'=>'surveys_left', 'index'=>'surveys_left', 'align'=>'left', 'search' => 'true'), - array('name'=>'surveys_progress', 'index'=>'surveys_progress', 'align'=>'left', 'search' => 'true'), + array('name'=>'surveys_total', 'index'=>'surveys_total', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'surveys_done', 'index'=>'surveys_done', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'surveys_left', 'index'=>'surveys_left', 'align'=>'center', 'sortable' => 'false'), + array('name'=>'surveys_progress', 'index'=>'surveys_progress', 'align'=>'center', 'sortable' => 'false'), ); $action_links = ''; @@ -595,6 +591,47 @@ class MySpace { //Autowidth $extra_params['autowidth'] = 'true'; + $extra_params['shrinkToFit'] = 'true'; + + $extra_params['headertitles'] = 'true'; + + $extra_params['groupHeaders'] = array( + 'courses_detail' => array( + "startColumnName" => 'courses', + "numberOfColumns" => 7, + "titleText" => get_lang('Global'), + ), + 'lessons' => array( + "startColumnName" => 'lessons_total', + "numberOfColumns" => 4, + "titleText" => get_lang('LearningPaths'), + ), + 'exercises' => array( + "startColumnName" => 'exercises_total', + "numberOfColumns" => 4, + "titleText" => get_lang('Exercises'), + ), + 'forums' => array( + "startColumnName" => 'forums_total', + "numberOfColumns" => 4, + "titleText" => get_lang('Forums'), + ), + 'assignments' => array( + "startColumnName" => 'assigments_total', + "numberOfColumns" => 4, + "titleText" => get_lang('Assignments'), + ), + 'wikis' => array( + "startColumnName" => 'wiki_total', + "numberOfColumns" => 5, + "titleText" => get_lang('Wiki'), + ), + 'surveys' => array( + "startColumnName" => 'surveys_total', + "numberOfColumns" => 4, + "titleText" => get_lang('Survey'), + ), + ); //height auto $extra_params['height'] = 'auto';