From 127032fe3d1b262026eb28b4fbcc5852b57cbfcc Mon Sep 17 00:00:00 2001 From: David Mudrak Date: Mon, 4 Jan 2010 17:42:37 +0000 Subject: [PATCH] Some plays with submission, to do --- mod/workshop/submission.php | 32 +++++++++++++++++--------------- mod/workshop/submission_form.php | 7 +++++-- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/mod/workshop/submission.php b/mod/workshop/submission.php index b4bd15c1d0..454d4db9b3 100644 --- a/mod/workshop/submission.php +++ b/mod/workshop/submission.php @@ -26,6 +26,7 @@ require_once(dirname(dirname(dirname(__FILE__))).'/config.php'); require_once(dirname(__FILE__).'/lib.php'); +require_once(dirname(__FILE__).'/locallib.php'); require_once(dirname(__FILE__).'/submission_form.php'); $cmid = required_param('cmid', PARAM_INT); // course module id @@ -51,17 +52,21 @@ if (!$workshop = $DB->get_record('workshop', array('id' => $cm->instance))) { print_error('invalidid', 'workshop'); } -if ($id) { // if submission is specified +if ($id) { // submission is specified if (!$submission = $DB->get_record('workshop_submissions', array('id' => $id, 'workshopid' => $workshop->id))) { print_error('invalidsubmissionid', 'workshop'); } // todo check access rights - -} else { // new submission - //require_capability('mod/workshop:submit', $context); - $submission = new object(); - $submission->id = null; + //require_capability('mod/workshop:submit', $context) or user has cap edit all submissions? + +} else { // no submission specified + //todo require_capability('mod/workshop:submit', $context); + if (!$submission = workshop_get_user_submission($workshop->id, $USER->id)) { + $submission = new object(); + $submission->id = null; + } } +unset($id); // not needed anymore $maxfiles = $workshop->nattachments; $maxbytes = $workshop->maxbytes; @@ -80,6 +85,7 @@ $mform = new workshop_submission_form(null, array('current' => $submission, 'cm' 'dataoptions' => $dataoptions, 'attachmentoptions'=>$attachmentoptions)); if ($mform->is_cancelled()){ + die(); if ($id){ redirect("view.php?id=$cm->id"); } else { @@ -104,21 +110,17 @@ if ($mform->is_cancelled()){ $submission->datatrust = 0; // updated later if (empty($submission->id)) { - //new submission $submission->id = $DB->insert_record('workshop_submissions', $submission); // todo add to log - - } else { - //existing submission - $DB->update_record('workshop_submissions', $submission); - // todo add to log } // save and relink embedded images and save attachments - $submission = file_postupdate_standard_editor($submission, 'data', $dataoptions, $context, 'workshop_submission', $submission->id); - $submission = file_postupdate_standard_filemanager($submission, 'attachment', $attachmentoptions, $context, 'workshop_attachment', $submission->id); + $submission = file_postupdate_standard_editor($submission, 'data', $dataoptions, $context, + 'workshop_submission', $submission->id); + $submission = file_postupdate_standard_filemanager($submission, 'attachment', $attachmentoptions, $context, + 'workshop_attachment', $submission->id); - // store the updated value values + // store the updated values or re-save the new submission $DB->update_record('workshop_submissions', $submission); redirect("view.php?id=$cm->id"); diff --git a/mod/workshop/submission_form.php b/mod/workshop/submission_form.php index 8991652d5e..45be3e62b5 100644 --- a/mod/workshop/submission_form.php +++ b/mod/workshop/submission_form.php @@ -49,8 +49,11 @@ class workshop_submission_form extends moodleform { $mform->addElement('editor', 'data_editor', get_string('submissiondata', 'workshop'), null, $dataoptions); $mform->setType('data_editor', PARAM_RAW); - $mform->addElement('filemanager', 'attachment_filemanager', get_string('submissionattachment', 'workshop'), - null, $attachmentoptions); + if ($workshop->nattachments > 0) { + $mform->addElement('static', 'filemanagerinfo', get_string('nattachments', 'workshop'), $workshop->nattachments); + $mform->addElement('filemanager', 'attachment_filemanager', get_string('submissionattachment', 'workshop'), + null, $attachmentoptions); + } $mform->addElement('hidden', 'id'); $mform->addElement('hidden', 'cmid'); -- 2.39.5