<?php
// This file is part of LInE contributions to Free Education, Private Data
// LInE (Laboratory of Informatics in Education)
// http://www.usp.br/line
//
// Moodle is free software: you can redistribute it 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_form_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');
$mform->addElement('editor', 'description', get_string('description'));
$mform->setType('description', PARAM_TEXT);
$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>\n";
$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');
// -----------------------------
// 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);
} // public function definition()
} // class mod_gradeimporter_submission_form extends moodleform