From: David Mudrak Date: Mon, 4 Jan 2010 18:19:37 +0000 (+0000) Subject: Assessment form preview handled by a dedicated script X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=43b34576a4afd386c93e9518d65f837448303137;p=moodle.git Assessment form preview handled by a dedicated script This was part of assessment.php but it makes the things too complicated. --- diff --git a/mod/workshop/editformpreview.php b/mod/workshop/editformpreview.php new file mode 100644 index 0000000000..ae135279e3 --- /dev/null +++ b/mod/workshop/editformpreview.php @@ -0,0 +1,58 @@ +. + +/** + * Preview the assessment form. + * + * @package mod-workshop + * @copyright 2009 David Mudrak + * @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(); diff --git a/mod/workshop/locallib.php b/mod/workshop/locallib.php index 87a0dd574d..50f5ec0f38 100644 --- a/mod/workshop/locallib.php +++ b/mod/workshop/locallib.php @@ -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)); } /**