protected function add_base_fields() { global $CFG, $USER; $mform = $this->_form; // exclusivity $exclgroup = array(); $exclgroup[] = $mform->createElement('text', 'exclusivity', '', array('size' => '10')); $mform->setType('exclusivity', PARAM_INTEGER); $mform->setDefault('exclusivity', 1); $exclgroup[] = $mform->createElement('advcheckbox', 'exclusivityenable', '', get_string('enable')); $mform->setDefault('exclusivityenable', 1); $mform->disabledIf('exclusivity', 'exclusivityenable', 'eq', 0); $mform->addGroup($exclgroup, 'exclusivitygroup', get_string('maxstudentsperslot', 'scheduler'), ' ', false); $mform->addHelpButton('exclusivitygroup', 'exclusivity', 'scheduler'); // location of the appointment $mform->addElement('text', 'appointmentlocation', get_string('location', 'scheduler'), array('size' => '30')); $mform->setType('appointmentlocation', PARAM_TEXT); $mform->addRule('appointmentlocation', get_string('error'), 'maxlength', 255); $mform->setDefault('appointmentlocation', $this->scheduler->get_last_location($USER)); $mform->addHelpButton('appointmentlocation', 'location', 'scheduler'); // Choose the teacher (if allowed) if (has_capability('mod/scheduler:canscheduletootherteachers', $this->context)) { $teachername = s($this->scheduler->get_teacher_name()); $teachers = scheduler_get_attendants($this->cm->id); $teachersmenu = array(); if ($teachers) { foreach ($teachers as $teacher) { $teachersmenu[$teacher->id] = fullname($teacher); } $mform->addElement('select', 'teacherid', $teachername, $teachersmenu); $mform->addRule('teacherid', get_string('noteacherforslot', 'scheduler'), 'required'); $mform->setDefault('teacherid', $USER->id); } else { $mform->addElement('static', 'teacherid', $teachername, get_string('noteachershere', 'scheduler', $teachername)); } $mform->addHelpButton('teacherid', 'bookwithteacher', 'scheduler'); } else { $mform->addElement('hidden', 'teacherid'); $mform->setDefault('teacherid', $USER->id); $mform->setType('teacherid', PARAM_INT); } }
$returnurl = new moodle_url('/mod/scheduler/view.php', array('id' => $scheduler->cmid)); echo $output->header(); // Print top tabs. echo $output->teacherview_tabs($scheduler, $taburl, 'datelist'); // Find active group in case that group mode is in use. $currentgroupid = 0; $groupmode = groups_get_activity_groupmode($scheduler->cm); if ($groupmode) { $currentgroupid = groups_get_activity_group($scheduler->cm, true); echo html_writer::start_div('dropdownmenu'); groups_print_activity_menu($scheduler->cm, $taburl); echo html_writer::end_div(); } $scopemenukey = 'scopemenuself'; if (has_capability('mod/scheduler:canseeotherteachersbooking', $scopecontext)) { $teachers = scheduler_get_attendants($cm->id, $currentgroupid); $teachermenu = array(); foreach ($teachers as $teacher) { $teachermenu[$teacher->id] = fullname($teacher); } $select = $output->single_select($taburl, 'teacherid', $teachermenu, $teacherid, array(0 => get_string('myself', 'scheduler')), 'teacheridform'); echo html_writer::div(get_string('teachersmenu', 'scheduler', $select), 'dropdownmenu'); $scopemenukey = 'scopemenu'; } if (has_capability('mod/scheduler:seeoverviewoutsideactivity', $context)) { $scopemenu = array('activity' => get_string('thisscheduler', 'scheduler'), 'course' => get_string('thiscourse', 'scheduler'), 'site' => get_string('thissite', 'scheduler')); $select = $output->single_select($taburl, 'scope', $scopemenu, $scope, null, 'scopeform'); echo html_writer::div(get_string($scopemenukey, 'scheduler', $select), 'dropdownmenu'); } // Getting date list. $params = array();