Assignment MDL-22893 fixed display of response files and the redirect when (advanced) uploading multiple response file.

This commit is contained in:
aparup
2010-07-12 07:04:33 +00:00
parent f5ce6b71da
commit be534597c1
2 changed files with 9 additions and 10 deletions
+4 -4
View File
@@ -28,8 +28,8 @@ class mod_assignment_renderer extends plugin_renderer_base {
/**
* @return string
*/
public function assignment_files($context, $itemid) {
return $this->render(new assignment_files($context, $itemid));
public function assignment_files($context, $itemid, $filearea='submission') {
return $this->render(new assignment_files($context, $itemid, $filearea));
}
public function render_assignment_files(assignment_files $tree) {
@@ -74,10 +74,10 @@ class mod_assignment_renderer extends plugin_renderer_base {
class assignment_files implements renderable {
public $context;
public $dir;
public function __construct($context, $itemid) {
public function __construct($context, $itemid, $filearea='submission') {
global $USER;
$this->context = $context;
$fs = get_file_storage();
$this->dir = $fs->get_area_tree($this->context->id, 'mod_assignment', 'submission', $itemid);
$this->dir = $fs->get_area_tree($this->context->id, 'mod_assignment', $filearea, $itemid);
}
}
@@ -400,7 +400,7 @@ class assignment_upload extends assignment_base {
if ($submission = $this->get_submission($userid)) {
$renderer = $PAGE->get_renderer('mod_assignment');
$output = $OUTPUT->box_start('responsefiles').$output;
$output .= $renderer->assignment_files($this->context, $submission->id);
$output .= $renderer->assignment_files($this->context, $submission->id, 'response');
$output .= $OUTPUT->box_end();
}
@@ -419,7 +419,7 @@ class assignment_upload extends assignment_base {
*/
function upload($mform = null, $filemanager_options = null) {
$action = required_param('action', PARAM_ALPHA);
error_log($action);
switch ($action) {
case 'finalize':
$this->finalize();
@@ -516,8 +516,7 @@ class assignment_upload extends assignment_base {
$mode = required_param('mode', PARAM_ALPHA);
$offset = required_param('offset', PARAM_INT);
$returnurl = "submissions.php?id={$this->cm->id}&userid=$userid&mode=$mode&offset=$offset";
$returnurl = new moodle_url("submissions.php?id={$this->cm->id}&userid=$userid&mode=$mode&offset=$offset"); //not xhtml, just url.
$mform = new mod_assignment_upload_response_form(null, $this);
if ($mform->get_data() and $this->can_manage_responsefiles()) {
$fs = get_file_storage();
@@ -526,7 +525,7 @@ class assignment_upload extends assignment_base {
$submission = $this->get_submission($userid, true, true);
if (!$fs->file_exists($this->context->id, 'mod_assignment', 'response', $submission->id, '/', $filename)) {
if ($file = $mform->save_stored_file('newfile', $this->context->id, 'mod_assignment', 'response', $submission->id, '/', $filename, false, $USER->id)) {
redirect($returnurl);
redirect($returnurl->out(false));
}
}
}
@@ -534,7 +533,7 @@ class assignment_upload extends assignment_base {
$PAGE->set_title(get_string('upload'));
echo $OUTPUT->header();
echo $OUTPUT->notification(get_string('uploaderror', 'assignment'));
echo $OUTPUT->continue_button($returnurl);
echo $OUTPUT->continue_button($returnurl->out(true));
echo $OUTPUT->footer();
die;
}