mirror of
https://github.com/moodle/moodle.git
synced 2025-03-14 04:30:15 +01:00
MDL-10490 Finished coding and testing.
This commit is contained in:
parent
7e8311d491
commit
86655fb693
@ -5,14 +5,16 @@ class grade_export_form extends moodleform {
|
||||
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 =& $this->_form;
|
||||
|
||||
$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))) {
|
||||
|
@ -69,10 +69,11 @@ class grade_export {
|
||||
* @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();
|
||||
}
|
||||
|
||||
@ -141,7 +142,6 @@ class grade_export {
|
||||
|
||||
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()) {
|
||||
@ -165,9 +165,13 @@ class grade_export {
|
||||
$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)) {
|
||||
|
@ -29,6 +29,7 @@ require_once 'grade_export_ods.php';
|
||||
|
||||
$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)) {
|
||||
@ -43,7 +44,7 @@ require_capability('gradeexport/ods:view', $context);
|
||||
|
||||
|
||||
// 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);
|
||||
|
||||
?>
|
||||
|
@ -62,7 +62,7 @@ if (($data = data_submitted()) && confirm_sesskey()) {
|
||||
$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;
|
||||
}
|
||||
|
||||
|
@ -27,9 +27,10 @@ require_once '../../../config.php';
|
||||
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');
|
||||
@ -42,7 +43,7 @@ require_capability('moodle/grade:export', $context);
|
||||
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);
|
||||
|
||||
|
@ -61,7 +61,7 @@ if (($data = data_submitted()) && confirm_sesskey()) {
|
||||
$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;
|
||||
}
|
||||
|
||||
|
@ -29,6 +29,7 @@ require_once 'grade_export_xls.php';
|
||||
|
||||
$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)) {
|
||||
@ -42,7 +43,7 @@ require_capability('moodle/grade:export', $context);
|
||||
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);
|
||||
|
||||
?>
|
||||
|
@ -62,7 +62,7 @@ if (($data = data_submitted()) && confirm_sesskey()) {
|
||||
$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;
|
||||
}
|
||||
|
||||
|
@ -29,6 +29,7 @@ require_once 'grade_export_xml.php';
|
||||
|
||||
$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)) {
|
||||
@ -42,7 +43,7 @@ require_capability('moodle/grade:export', $context);
|
||||
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);
|
||||
|
||||
?>
|
||||
|
@ -62,7 +62,7 @@ if (($data = data_submitted()) && confirm_sesskey()) {
|
||||
$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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user