fixing regressions in grade export

This commit is contained in:
skodak
2007-08-30 08:19:44 +00:00
parent 74af2ea5ef
commit c901b7a652
5 changed files with 21 additions and 29 deletions

View File

@@ -34,7 +34,7 @@ class grade_export {
var $format = ''; // export format var $format = ''; // export format
var $id; // course id var $id; // course id
var $itemids; // comma separated grade_item ids; var $itemids; // array of grade_item ids;
var $grades = array(); // Collect all grades in this array var $grades = array(); // Collect all grades in this array
var $gradeshtml= array(); // Collect all grades html formatted in this array var $gradeshtml= array(); // Collect all grades html formatted in this array
var $comments = array(); // Collect all comments for each grade var $comments = array(); // Collect all comments for each grade
@@ -53,11 +53,11 @@ class grade_export {
/** /**
* Constructor should set up all the private variables ready to be pulled * Constructor should set up all the private variables ready to be pulled
* @param int $id course id * @param int $id course id
* @param string $itemids comma separated value of itemids to process for this export * @param string $itemids array of item ids
* @param boolean $export_letters Whether to export letter grade_items as literal letters, or as numerical values * @param boolean $export_letters Whether to export letter grade_items as literal letters, or as numerical values
* @note Exporting as letters will lead to data loss if that exported set it re-imported. * @note Exporting as letters will lead to data loss if that exported set it re-imported.
*/ */
function grade_export($id, $itemids = '', $export_letters=false, $publish=false) { function grade_export($id, $itemids = null, $export_letters=false, $publish=false) {
global $CFG, $COURSE; global $CFG, $COURSE;
if ($export_letters) { if ($export_letters) {
@@ -118,12 +118,9 @@ class grade_export {
// if grade_item ids are specified // if grade_item ids are specified
if ($itemids) { if ($itemids) {
$gradeitems = array();
foreach ($itemids as $iid) { foreach ($itemids as $iid) {
$gradeitems[] = grade_item::fetch(array('id'=>(int)$iid, 'courseid'=>$this->id));
if ($iid) {
$params->id = clean_param($iid, PARAM_INT);
$gradeitems[] = new grade_item($params);
}
} }
} else { } else {
// else we get all items for this course // else we get all items for this course
@@ -132,7 +129,6 @@ class grade_export {
if ($gradeitems) { if ($gradeitems) {
foreach ($gradeitems as $gradeitem) { foreach ($gradeitems as $gradeitem) {
// load as an array of grade_final objects // load as an array of grade_final objects
if ($itemgrades = $gradeitem->get_final()) { if ($itemgrades = $gradeitem->get_final()) {

View File

@@ -52,22 +52,20 @@ $mform = new grade_export_form(null, array('publishing' => true));
// process post information // process post information
if ($data = $mform->get_data()) { if ($data = $mform->get_data()) {
$itemids = array();
if ($data->itemids) { if ($data->itemids) {
$items = array();
foreach ($data->itemids as $itemid=>$selected) { foreach ($data->itemids as $itemid=>$selected) {
if ($selected) { if ($selected) {
$items[] = $itemid; $itemids[] = $itemid;
} }
} }
$itemidsurl = implode(",", $items); $itemidsurl = implode(",", $itemids);
} else { } else {
//error? //error?
$itemidsurl = ''; $itemidsurl = '';
} }
// print the grades on screen for feedbacks $export = new grade_export($id, $itemids, $data->export_letters);
$export = new grade_export($id, $data->itemids, $data->export_letters);
$export->display_grades($feedback, $data->previewrows); $export->display_grades($feedback, $data->previewrows);
// this redirect should trigger a download prompt // this redirect should trigger a download prompt

View File

@@ -52,20 +52,20 @@ $mform = new grade_export_form(null, array('includeseparator'=>true, 'publishing
// process post information // process post information
if ($data = $mform->get_data()) { if ($data = $mform->get_data()) {
$itemids = array();
if ($data->itemids) { if ($data->itemids) {
$items = array();
foreach ($data->itemids as $itemid=>$selected) { foreach ($data->itemids as $itemid=>$selected) {
if ($selected) { if ($selected) {
$items[] = $itemid; $itemids[] = $itemid;
} }
} }
$itemidsurl = implode(",", $items); $itemidsurl = implode(",", $itemids);
} else { } else {
//error? //error?
$itemidsurl = ''; $itemidsurl = '';
} }
$export = new grade_export($id, $data->itemids, $data->export_letters); $export = new grade_export($id, $itemids, $data->export_letters);
$export->display_grades($feedback, $data->previewrows); $export->display_grades($feedback, $data->previewrows);
// this redirect should trigger a download prompt // this redirect should trigger a download prompt

View File

@@ -52,22 +52,20 @@ $mform = new grade_export_form();
// process post information // process post information
if ($data = $mform->get_data()) { if ($data = $mform->get_data()) {
$itemids = array();
if ($data->itemids) { if ($data->itemids) {
$items = array();
foreach ($data->itemids as $itemid=>$selected) { foreach ($data->itemids as $itemid=>$selected) {
if ($selected) { if ($selected) {
$items[] = $itemid; $itemids[] = $itemid;
} }
} }
$itemidsurl = implode(",", $items); $itemidsurl = implode(",", $itemids);
} else { } else {
//error? //error?
$itemidsurl = ''; $itemidsurl = '';
} }
// print the grades on screen for feedbacks $export = new grade_export($id, $itemids, $data->export_letters);
$export = new grade_export($id, $data->itemids, $data->export_letters);
$export->display_grades($feedback, $data->previewrows); $export->display_grades($feedback, $data->previewrows);
// this redirect should trigger a download prompt // this redirect should trigger a download prompt

View File

@@ -52,14 +52,14 @@ $mform = new grade_export_form(null, array('idnumberrequired'=>true, 'publishing
// process post information // process post information
if ($data = $mform->get_data()) { if ($data = $mform->get_data()) {
$itemids = array();
if ($data->itemids) { if ($data->itemids) {
$items = array();
foreach ($data->itemids as $itemid=>$selected) { foreach ($data->itemids as $itemid=>$selected) {
if ($selected) { if ($selected) {
$items[] = $itemid; $itemids[] = $itemid;
} }
} }
$itemidsurl = implode(",", $items); $itemidsurl = implode(",", $itemids);
} else { } else {
//error? //error?
$itemidsurl = ''; $itemidsurl = '';
@@ -67,7 +67,7 @@ if ($data = $mform->get_data()) {
// print the grades on screen for feedbacks // print the grades on screen for feedbacks
$export = new grade_export($id, $data->itemids, $data->export_letters, !empty($data->key)); $export = new grade_export($id, $itemids, $data->export_letters, !empty($data->key));
$export->display_grades($feedback, $data->previewrows); $export->display_grades($feedback, $data->previewrows);