]> git.mjollnir.org Git - moodle.git/commitdiff
Assessment form preview handled by a dedicated script
authorDavid Mudrak <david.mudrak@gmail.com>
Mon, 4 Jan 2010 18:19:37 +0000 (18:19 +0000)
committerDavid Mudrak <david.mudrak@gmail.com>
Mon, 4 Jan 2010 18:19:37 +0000 (18:19 +0000)
This was part of assessment.php but it makes the things too complicated.

mod/workshop/editformpreview.php [new file with mode: 0644]
mod/workshop/locallib.php

diff --git a/mod/workshop/editformpreview.php b/mod/workshop/editformpreview.php
new file mode 100644 (file)
index 0000000..ae13527
--- /dev/null
@@ -0,0 +1,58 @@
+<?php
+
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Preview the assessment form.
+ *
+ * @package   mod-workshop
+ * @copyright 2009 David Mudrak <david.mudrak@gmail.com>
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+require_once(dirname(dirname(dirname(__FILE__))).'/config.php');
+require_once(dirname(__FILE__).'/locallib.php');
+
+$cmid     = required_param('cmid', PARAM_INT);
+$cm       = get_coursemodule_from_id('workshop', $cmid, 0, false, MUST_EXIST);
+$course   = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
+$workshop = $DB->get_record('workshop', array('id' => $cm->instance), '*', MUST_EXIST);
+
+require_login($course, false, $cm);
+if (isguestuser()) {
+    print_error('guestsarenotallowed');
+}
+$workshop = new workshop($workshop, $cm, $course);
+
+require_capability('mod/workshop:editdimensions', $workshop->context);
+$PAGE->set_url($workshop->previewform_url());
+$PAGE->set_title($workshop->name);
+$PAGE->set_heading($course->fullname);
+$PAGE->navbar->add(get_string('editingassessmentform', 'workshop'), $workshop->editform_url(), navigation_node::TYPE_CUSTOM);
+$PAGE->navbar->add(get_string('previewassessmentform', 'workshop'));
+$currenttab = 'editform';
+
+// load the grading strategy logic
+$strategy = $workshop->grading_strategy_instance();
+
+// load the assessment form
+$mform = $strategy->get_assessment_form($workshop->editform_url(), 'preview');
+
+// output starts here
+echo $OUTPUT->header();
+echo $OUTPUT->heading(get_string('assessmentform', 'workshop'), 2);
+$mform->display();
+echo $OUTPUT->footer();
index 87a0dd574d507004028c565852a77f0d1d2ffa68..50f5ec0f383087f919e0cab05eafb234d01a39b0 100644 (file)
@@ -544,7 +544,7 @@ class workshop {
      */
     public function previewform_url() {
         global $CFG;
-        return new moodle_url($CFG->wwwroot . '/mod/workshop/assessment.php', array('preview' => $this->cm->id));
+        return new moodle_url($CFG->wwwroot . '/mod/workshop/editformpreview.php', array('cmid' => $this->cm->id));
     }
 
     /**