/**
  * Constructor. Sets local copies of user preferences and initialises grade_tree.
  * @param int $courseid
  * @param object $gpr grade plugin return tracking object
  * @param string $context
  * @param int $page The current page being viewed (when report is paged)
  * @param int $sortitemid The id of the grade_item by which to sort the table
  */
 function grade_report_laegrader($courseid, $gpr, $context, $page = null, $sortitemid = null)
 {
     global $CFG;
     parent::grade_report($courseid, $gpr, $context, $page);
     $this->canviewhidden = has_capability('moodle/grade:viewhidden', get_context_instance(CONTEXT_COURSE, $this->course->id));
     $this->accuratetotals = ($temp = grade_get_setting($this->courseid, 'report_laegrader_accuratetotals', $CFG->grade_report_laegrader_accuratetotals)) ? $temp : 0;
     // need this array, even tho its useless in the laegrader report or we'll generate warnings
     $this->collapsed = array('aggregatesonly' => array(), 'gradesonly' => array());
     if (empty($CFG->enableoutcomes)) {
         $nooutcomes = false;
     } else {
         $nooutcomes = get_user_preferences('grade_report_shownooutcomes');
     }
     // force category_last to true
     $switch = true;
     // Grab the grade_tree for this course
     $this->gtree = new grade_tree($this->courseid, false, $switch, null, $nooutcomes);
     // Fill items with parent information needed later
     $this->gtree->parents = array();
     fill_parents($this->gtree->parents, $this->gtree->items, $this->gtree->top_element, $this->gtree->top_element['object']->grade_item->id, $this->accuratetotals);
     //        fill_parents($this->gtree->items, $this->gtree->top_element,$this->gtree->top_element['object']->id,$this->gtree->top_element['object']->aggregation);
     $this->sortitemid = $sortitemid;
     // base url for sorting by first/last name
     $studentsperpage = 0;
     //$this->get_pref('studentsperpage');
     $perpage = '';
     $curpage = '';
     $this->baseurl = 'index.php?id=' . $this->courseid . $perpage . $curpage . '&';
     $this->pbarurl = 'index.php?id=' . $this->courseid . $perpage . '&';
     $this->setup_groups();
     $this->setup_sortitemid();
 }
Example #2
0
// Handle toggle change request
if (!is_null($toggle) && !empty($toggle_type)) {
    set_user_preferences(array('grade_report_show' . $toggle_type => $toggle));
}
//first make sure we have proper final grades - this must be done before constructing of the grade tree
grade_regrade_final_grades($courseid);
// Perform actions
if (!empty($target) && !empty($action) && confirm_sesskey()) {
    grade_report_grader::process_action($target, $action);
}
$reportname = get_string('pluginname', 'gradereport_grader');
/// Print header
print_grade_page_head($COURSE->id, 'report', 'grader', $reportname, false, $buttons);
//Initialise the grader report object that produces the table
//the class grade_report_grader_ajax was removed as part of MDL-21562
$report = new grade_report_grader($courseid, $gpr, $context, $page, $sortitemid);
// make sure separate group does not prevent view
if ($report->currentgroup == -2) {
    echo $OUTPUT->heading(get_string("notingroup"));
    echo $OUTPUT->footer();
    exit;
}
/// processing posted grades & feedback here
if ($data = data_submitted() and confirm_sesskey() and has_capability('moodle/grade:edit', $context)) {
    $warnings = $report->process_data($data);
} else {
    $warnings = array();
}
// final grades MUST be loaded after the processing
$report->load_users();
$numusers = $report->get_numusers();
Example #3
0
    $USER->gradeediting[$course->id] = 0;
    $buttons = '';
}
$gradeserror = array();
// Handle toggle change request
if (!is_null($toggle) && !empty($toggle_type)) {
    set_user_preferences(array('grade_report_show' . $toggle_type => $toggle));
}
//first make sure we have proper final grades - this must be done before constructing of the grade tree
grade_regrade_final_grades($courseid);
// Perform actions
if (!empty($target) && !empty($action) && confirm_sesskey()) {
    grade_report_grader::process_action($target, $action);
}
// Initialise the grader report object
$report = new grade_report_grader($courseid, $gpr, $context, $page, $sortitemid);
/// processing posted grades & feedback here
if ($data = data_submitted() and confirm_sesskey() and has_capability('moodle/grade:edit', $context)) {
    $warnings = $report->process_data($data);
} else {
    $warnings = array();
}
// Override perpage if set in URL
if ($perpageurl) {
    $report->user_prefs['studentsperpage'] = $perpageurl;
}
// final grades MUST be loaded after the processing
$report->load_users();
$numusers = $report->get_numusers();
$report->load_final_grades();
/// Print header
Example #4
0
 foreach ($cmdb as $cm) {
     $mod = $cm->module;
     $module = $blocks[$mod];
     $instance = $cm->instance;
     $cms[$module][$instance] = $cm->id;
 }
 include_once $CFG->dirroot . '/blocks/evalcomix/classes/evalcomix_grades.php';
 $finalgrades = evalcomix_grades::get_grades($courseid);
 //$users = $report_evalcomix->load_users();
 //$finalgrades = $report_evalcomix->get_grades();
 $numpages = (int) ($numusers / $studentsperpage);
 if ($numusers % $studentsperpage > 0) {
     $numpages += 1;
 }
 for ($ipage = 0; $ipage < $numpages; ++$ipage) {
     $report_grader = new grade_report_grader($courseid, null, $context, $ipage, $sortitemid);
     $report_grader->load_users();
     $report_grader->load_final_grades();
     foreach ($report_grader->users as $userid => $user) {
         if ($report_grader->canviewhidden) {
             $altered = array();
             $unknown = array();
         } else {
             $hidingaffected = grade_grade::get_hiding_affected($report_grader->grades[$userid], $report_grader->gtree->get_items());
             $altered = $hidingaffected['altered'];
             $unknown = $hidingaffected['unknown'];
             unset($hidingaffected);
         }
         foreach ($report_grader->gtree->items as $itemid => $unused) {
             $item =& $report_grader->gtree->items[$itemid];
             $grade = $report_grader->grades[$userid][$item->id];
Example #5
0
    $buttons = '';
}
$gradeserror = array();
// Handle toggle change request
if (!is_null($toggle) && !empty($toggle_type)) {
    set_user_preferences(array('grade_report_show' . $toggle_type => $toggle));
}
//first make sure we have proper final grades - this must be done before constructing of the grade tree
grade_regrade_final_grades($courseid);
// Perform actions
if (!empty($target) && !empty($action) && confirm_sesskey()) {
    grade_report_grader::process_action($target, $action);
}
$reportname = get_string('modulename', 'gradereport_grader');
// Initialise the grader report object
$report = new grade_report_grader($courseid, $gpr, $context, $page, $sortitemid);
$PAGE->requires->yui_lib('event')->in_head();
// TODO change the JS so we can remove the ->in_head()
$PAGE->requires->yui_lib('json')->in_head();
$PAGE->requires->yui_lib('connection')->in_head();
$PAGE->requires->yui_lib('dragdrop')->in_head();
$PAGE->requires->yui_lib('element')->in_head();
$PAGE->requires->yui_lib('container')->in_head();
$PAGE->requires->js('grade/report/grader/functions.js')->in_head();
if ($report->get_pref('enableajax')) {
    $report = new grade_report_grader_ajax($courseid, $gpr, $context, $page, $sortitemid);
}
// make sure separate group does not prevent view
if ($report->currentgroup == -2) {
    print_grade_page_head($COURSE->id, 'report', 'grader', $reportname, false, $buttons);
    echo $OUTPUT->heading(get_string("notingroup"));
Example #6
0
 /**
  * Processes a single action against a category, grade_item or grade.
  * @param string $target eid ({type}{id}, e.g. c4 for category4)
  * @param string $action Which action to take (edit, delete etc...)
  * @return
  */
 function process_action($target, $action)
 {
     return parent::process_action($target, $action);
 }
    print_error('noitemid', 'grades');
}
require_login($course);
$context = get_context_instance(CONTEXT_COURSE, $course->id);
require_capability('gradereport/grader:view', $context);
require_capability('moodle/grade:viewall', $context);
require_capability('moodle/grade:edit', $context);
/// return tracking object
$gpr = new grade_plugin_return(array('type' => 'report', 'plugin' => 'grader', 'courseid' => $courseid, 'page' => $page));
/// last selected report session tracking
if (!isset($USER->grade_last_report)) {
    $USER->grade_last_report = array();
}
$USER->grade_last_report[$course->id] = 'grader';
// Initialise the grader report object
$report = new grade_report_grader($courseid, $gpr, $context, $page);
/// processing posted grades & feedback here
if ($data = data_submitted() and confirm_sesskey() and has_capability('moodle/grade:edit', $context)) {
    $warnings = $report->process_data($data);
} else {
    $warnings = array();
}
// Override perpage if set in URL
if ($perpageurl) {
    $report->user_prefs['studentsperpage'] = $perpageurl;
}
// final grades MUST be loaded after the processing
$report->load_users();
$numusers = $report->get_numusers();
$report->load_final_grades();
/// Print header