123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <?php
- // This file is part of
- //
- // 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/>.
- defined('MOODLE_INTERNAL') || die();
- require_once("$CFG->dirroot/course/moodleform_mod.php");
- require_once("$CFG->libdir/formslib.php");
- require_once("submission_functions.php");
- class mod_gradeimporter_submission_form extends moodleform {
- public function definition() {
- global $CFG, $DB;
- $mform = $this->_form;
- // Custom data
- $submission = $this->_customdata['submission']; // Load fields data
- $filemanageroptions = $this->_customdata['filemanageroptions'];
- $gradeimporterid = $this->_customdata['gradeimporterid'];
- $cmid = $this->_customdata['cmid'];
- // ----------------------------------------------------------------
- // General information
- // Header
- $mform->addElement('header', 'newsub', get_string('newsubmission', 'gradeimporter'));
- // Submission name field
- $mform->addElement('text', 'name', get_string('submissionname', 'gradeimporter'), array('maxlength' => '256'));
- $mform->setType('name', PARAM_TEXT);
- $mform->addRule('name', null, 'required', null, 'client');
- // Description
- $mform->addElement('editor', 'intro', get_string('submissionintro', 'gradeimporter'));
- $mform->setType('intro', PARAM_RAW);
- $mform->addElement('filemanager', 'submissionfiles_filemanager', get_string('submissionfiles', 'gradeimporter'),
- null, $filemanageroptions);
- $mform->addHelpButton('submissionfiles_filemanager', 'submissionfiles', 'gradeimporter');
- // Add button to open new subtypeform
- $subtypeformurl = new moodle_url("/mod/gradeimporter/forms/submissiontype/submissiontype.php",
- array('cmid' => $cmid, 'id' => $gradeimporterid)
- );
- $newsubtypebutton = "<div class=\"col-md-9 form-inline align-items-start felement\">
- <button class=\"btn btn-primary\" onclick=\"window.open('$subtypeformurl','_self')\">
- New type
- </button>
- </div>";
- $mform->addElement('html', $newsubtypebutton);
- // To edit
- $subtypes = get_types_array($gradeimporterid);
- if ($subtypes) {
- $selectvalues = array();
- foreach ($subtypes as $id => $type) {
- $selectvalues[$id] = $type->name;
- }
- } else {
- $selectvalues = array(-1 => 'create new type first');
- }
- $mform->addElement('select', 'type', get_string('submissiontype', 'gradeimporter'), $selectvalues);
- $mform->addElement('selectyesno', 'visibility', get_string('visibility', 'gradeimporter'));
- $mform->setDefault('visibility', array('value' => 1));
- $mform->addHelpButton('visibility', 'visibility', 'gradeimporter');
- $mform->addElement('selectyesno', 'gradebook', get_string('gradebook', 'gradeimporter'));
- $mform->setDefault('gradebook', array('value' => 0));
- $mform->addHelpButton('gradebook', 'gradebook', 'gradeimporter');
- $mform->addElement('text', 'maxgrade', get_string('maxgrade', 'gradeimporter'), array('type' => 'number', 'value' => 100));
- $mform->setType('maxgrade', PARAM_INT);
- $mform->hideIf('maxgrade', 'gradebook', 'eq', 0);
- // -----------------------------
- // Hidden fields
- $mform->addElement('hidden', 'id');
- $mform->setType('id', PARAM_INT);
- $mform->addElement('hidden', 'cmid');
- $mform->setType('cmid', PARAM_INT);
- // ------------------------------
- // Save and cancel buttons
- $this->add_action_buttons();
- // ------------------------------
- // Sets preloaded data to fields
- $this->set_data($submission);
- }
- }
|