function definition (){
global $CFG;
include_once($CFG->libdir.'/pear/HTML/QuickForm/advcheckbox.php');
+
$mform =& $this->_form;
- $mform->addElement('header', 'general', get_string('gradeitemsinc', 'grades')); // TODO: localize
- $mform->addElement('checkbox', 'export_letters', get_string('exportletters', 'grades'));
+ $mform->addElement('advcheckbox', 'export_letters', get_string('exportletters', 'grades'));
$mform->setDefault('export_letters', 0);
$mform->setHelpButton('export_letters', array(false, get_string('exportletters', 'grades'),
false, true, false, get_string("exportlettershelp", 'grades')));
+ $mform->addElement('header', 'general', get_string('gradeitemsinc', 'grades')); // TODO: localize
+
$id = $this->_customdata['id']; // course id
$mform->addElement('hidden', 'id', $id);
if ($grade_items = grade_item::fetch_all(array('courseid'=>$id))) {
* @note Exporting as letters will lead to data loss if that exported set it re-imported.
*/
function grade_export($id, $itemids = '', $export_letters=false) {
+ global $CFG, $COURSE;
if ($export_letters) {
require_once($CFG->dirroot . '/grade/report/lib.php');
- $report = new grade_report();
+ $report = new grade_report($COURSE->id, null, null);
$letters = $report->get_grade_letters();
}
if ($gradeitems) {
foreach ($gradeitems as $gradeitem) {
- $grade_item_displaytype = $report->get_pref('gradedisplaytype', $gradeitem->id);
// load as an array of grade_final objects
if ($itemgrades = $gradeitem->get_final()) {
$studentgrade = $itemgrades[$student->id];
}
- // TODO Convert final grade to letter if export option is on, and grade_item is set to letter type MDL-10490
- if ($grade_item_displaytype == GRADE_REPORT_GRADE_DISPLAY_TYPE_LETTER && $export_letters) {
- $studentgrade->finalgrade = $studentgrade->get_letter($letters);
+ if ($export_letters) {
+ $grade_item_displaytype = $report->get_pref('gradedisplaytype', $gradeitem->id);
+ // TODO Convert final grade to letter if export option is on, and grade_item is set to letter type MDL-10490
+ if ($grade_item_displaytype == GRADE_REPORT_GRADE_DISPLAY_TYPE_LETTER && !empty($studentgrade)) {
+ $studentgrade->finalgrade = grade_grade::get_letter($letters, $studentgrade->finalgrade,
+ $gradeitem->grademin, $gradeitem->grademax);
+ }
}
if (!empty($studentgrade->finalgrade)) {
$id = required_param('id', PARAM_INT); // course id
$feedback = optional_param('feedback', '', PARAM_ALPHA);
+$export_letters = optional_param('export_letters', '', PARAM_INT);
$itemids = explode(",", required_param('itemids', PARAM_RAW));
if (!$course = get_record('course', 'id', $id)) {
// print all the exported data here
-$export = new grade_export_ods($id, $itemids);
+$export = new grade_export_ods($id, $itemids, $export_letters);
$export->print_grades($feedback);
?>
$export->display_grades($feedback);
// this redirect should trigger a download prompt
- redirect('export.php?id='.$id.'&itemids='.$itemidsurl);
+ redirect('export.php?id='.$id.'&itemids='.$itemidsurl.'&export_letters='.$data->export_letters);
exit;
}
require_once $CFG->dirroot.'/grade/export/lib.php';
require_once 'grade_export_txt.php';
-$id = required_param('id', PARAM_INT); // course id
-$feedback = optional_param('feedback', '', PARAM_ALPHA);
-$itemids = explode(",", required_param('itemids', PARAM_RAW));
+$id = required_param('id', PARAM_INT); // course id
+$feedback = optional_param('feedback', '', PARAM_ALPHA);
+$export_letters = optional_param('export_letters', '', PARAM_INT);
+$itemids = explode(",", required_param('itemids', PARAM_RAW));
if (!$course = get_record('course', 'id', $id)) {
print_error('nocourseid');
require_capability('gradeexport/txt:view', $context);
// print all the exported data here
-$export = new grade_export_txt($id, $itemids);
+$export = new grade_export_txt($id, $itemids, $export_letters);
$export->set_separator(optional_param('separator'));
$export->print_grades($feedback);
$export->display_grades($feedback);
// this redirect should trigger a download prompt
- redirect('export.php?id='.$id.'&itemids='.$itemidsurl.'&separator='.$data->separator);
+ redirect('export.php?id='.$id.'&itemids='.$itemidsurl.'&separator='.$data->separator.'&export_letters='.$data->export_letters);
exit;
}
$id = required_param('id', PARAM_INT); // course id
$feedback = optional_param('feedback', '', PARAM_ALPHA);
+$export_letters = optional_param('export_letters', '', PARAM_INT);
$itemids = explode(",", required_param('itemids', PARAM_RAW));
if (!$course = get_record('course', 'id', $id)) {
require_capability('gradeexport/xls:view', $context);
// print all the exported data here
-$export = new grade_export_xls($id, $itemids);
+$export = new grade_export_xls($id, $itemids, $export_letters);
$export->print_grades($feedback);
?>
$export->display_grades($feedback);
// this redirect should trigger a download prompt
- redirect('export.php?id='.$id.'&itemids='.$itemidsurl);
+ redirect('export.php?id='.$id.'&itemids='.$itemidsurl.'&export_letters='.$data->export_letters);
exit;
}
$id = required_param('id', PARAM_INT); // course id
$feedback = optional_param('feedback', '', PARAM_ALPHA);
+$export_letters = optional_param('export_letters', '', PARAM_INT);
$itemids = explode(",", required_param('itemids', PARAM_RAW));
if (!$course = get_record('course', 'id', $id)) {
require_capability('gradeexport/xml:view', $context);
// print all the exported data here
-$export = new grade_export_xml($id, $itemids);
+$export = new grade_export_xml($id, $itemids, $export_letters);
$export->print_grades($feedback);
?>
$export->display_grades($feedback);
// this redirect should trigger a download prompt
- redirect('export.php?id='.$id.'&itemids='.$itemidsurl);
+ redirect('export.php?id='.$id.'&itemids='.$itemidsurl.'&export_letters='.$data->export_letters);
exit;
}