exercises report BT#7017

1.9.x
César Perales 12 years ago
parent 1a48018c15
commit 2189b17ad8
  1. 11
      main/inc/ajax/model.ajax.php
  2. 7
      main/inc/lib/sessionmanager.lib.php
  3. 11
      main/mySpace/index.php
  4. 7
      main/mySpace/myspace.lib.php

@ -251,7 +251,7 @@ switch ($action) {
break;
case 'get_exercise_progress':
//@TODO replace this for a more efficient function (not retrieving the whole data)
$records = SessionManager::get_exercise_progress(intval($_GET['session_id']), intval($_GET['session_id']));
$records = SessionManager::get_exercise_progress(intval($_GET['session_id']), intval($_GET['course_id']), intval($_GET['exercise_id']));
$count = count($records);
break;
case 'get_session_access_overview':
@ -597,10 +597,11 @@ switch ($action) {
break;
case 'get_exercise_progress':
$sessionId = 0;
if (!empty($_GET['course_id']) && !empty($_GET['session_id']))
if (!empty($_GET['course_id']) && !empty($_GET['session_id']) && !empty($_GET['exercise_id']))
{
$sessionId = intval($_GET['session_id']);
$courseId = intval($_GET['course_id']);
$sessionId = intval($_GET['session_id']);
$courseId = intval($_GET['course_id']);
$exerciseId = intval($_GET['exercise_id']);
}
$columns = array(
@ -617,7 +618,7 @@ switch ($action) {
'correct'
);
$result = SessionManager::get_exercise_progress($sessionId, $courseId,
$result = SessionManager::get_exercise_progress($sessionId, $courseId, $exerciseId,
array(
'where' => $where_condition,
'order' => "$sidx $sord",

@ -506,7 +506,7 @@ class SessionManager
* @param int session id
* @return array
*/
public static function get_exercise_progress($sessionId = 0, $courseId = 0, $options = array())
public static function get_exercise_progress($sessionId = 0, $courseId = 0, $exerciseId = 0, $options = array())
{
$session = Database::get_main_table(TABLE_MAIN_SESSION);
$user = Database::get_main_table(TABLE_MAIN_USER);
@ -519,7 +519,8 @@ class SessionManager
$course = api_get_course_info_by_id($courseId);
$where = " WHERE a.session_id = %d
AND a.course_code = '%s'";
AND a.course_code = '%s'
AND q.id = %d";
$limit = null;
if (!empty($options['limit'])) {
@ -557,7 +558,7 @@ class SessionManager
$where $order $limit";
$sql_query = sprintf($sql, $sessionId, $course['code']);
$sql_query = sprintf($sql, $sessionId, $course['code'], $exerciseId);
$rs = Database::query($sql_query);
while ($row = Database::fetch_array($rs))

@ -736,10 +736,17 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
Display::display_warning_message(get_lang('ChooseSession'));
}
} else if($display == 'exerciseprogress') {
if (!empty($_GET['session_id'])) {
if (!empty($_GET['session_id']))
{
if (!empty($_GET['course_id']))
{
echo MySpace::display_tracking_exercise_progress_overview(intval($_GET['session_id']), intval($_GET['course_id']));
if (!empty($_GET['exercise_id']))
{
echo MySpace::display_tracking_exercise_progress_overview(intval($_GET['session_id']), intval($_GET['course_id']), intval($_GET['exercise_id']));
} else
{
Display::display_warning_message(get_lang('ChooseExercise'));
}
} else
{
Display::display_warning_message(get_lang('ChooseCourse'));

@ -335,11 +335,8 @@ class MySpace {
* Display a sortable table that contains an overview off all the progress of the user in a session
* @author César Perales <cesar.perales@beeznest.com>, Beeznest Team
*/
function display_tracking_exercise_progress_overview($sessionId = 0, $courseId = 0) {
function display_tracking_exercise_progress_overview($sessionId = 0, $courseId = 0, $exerciseId = 0) {
$courses = SessionManager::get_course_list_by_session_id($sessionId);
//TODO let select course
$course = current($courses);
/**
* Column name
* The order is important you need to check the $column variable in the model.ajax.php file
@ -378,7 +375,7 @@ class MySpace {
$action_links = '';
// jqgrid will use this URL to do the selects
$url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_exercise_progress&session_id=' . intval($sessionId) . '&course_id=' . intval($courseId) ;
$url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_exercise_progress&session_id=' . intval($sessionId) . '&course_id=' . intval($courseId) . '&exercise_id=' . intval($exerciseId);
$tableId = 'exerciseProgressOverview';
$table = Display::grid_js($tableId, $url, $columns, $column_model, $extra_params, array(), $action_links, true);

Loading…
Cancel
Save