Example #1
0
    function definition_after_data() {
        global $DB, $PAGE, $USER, $hierarchy, $exams, $selected_class;

        $hierarchy = new hierarchy();
        $gradesub = new grade_submission();

        $mform = $this->_form;


        $id = $this->_customdata['id'];
        $selected_school = $mform->getElementValue('schoolid');
        $selected_program = array();
        $disable = ($id > 0) ? 'disabled="disabled"' : '';

        // for programs and semesters in a school
        if ($selected_school[0] > 0) {

            $programs_list = array();
            $programs_list = $hierarchy->get_records_cobaltselect_menu('local_program', "schoolid=$selected_school[0] AND visible=1", null, '', 'id,fullname', '--Select--');

            $programs_listdrop = $mform->createElement('select', 'programid', get_string('programslist', 'local_scheduleexam'), $programs_list, $disable);
            $mform->insertElementBefore($programs_listdrop, 'addprogramslisthere');
            if ($id < 0) {
                $mform->addRule('programid', get_string('programreq', 'local_scheduleexam'), 'required', null, 'client');
            }
            $semesters_list = array();
            $semesters_list = $hierarchy->get_school_semesters($selected_school[0]);

            $semesters_listdrop = $mform->createElement('select', 'semesterid', get_string('semesterslist', 'local_scheduleexam'), $semesters_list, $disable);
            $mform->insertElementBefore($semesters_listdrop, 'addsemesterslisthere');
            if ($id < 0) {
                $mform->addRule('semesterid', get_string('semestersreq', 'local_scheduleexam'), 'required', null, 'client');
            }

            $selected_semester = array();
            $selected_semester = $mform->getElementValue('semesterid');
        }

        // for clclasses assigned to a semester
        if (($selected_school[0]) AND ( $selected_semester[0] > 0)) {

            $clclasses_list = array();
            $clclasses_list = $hierarchy->get_records_cobaltselect_menu('local_clclasses', "semesterid=$selected_semester[0] and schoolid=$selected_school[0] AND visible=1", null, '', 'id,fullname', 'Select Class');

            $clclasses_listdrop = $mform->createElement('select', 'classid', get_string('clclasseslist', 'local_scheduleexam'), $clclasses_list, $disable);
            $mform->insertElementBefore($clclasses_listdrop, 'addclclasseslisthere');
            if ($id < 0)
                $mform->addRule('classid', get_string('clclassesreq', 'local_scheduleexam'), 'required', null, 'client');

            $selected_class = array();
            $selected_class = $mform->getElementValue('classid');
        }

        if (!empty($selected_class[0])) {

            $today = time();

            $users = $gradesub->get_class_users($selected_semester[0], $selected_class[0]);
            $exams = $gradesub->get_class_exams($selected_semester[0], $selected_class[0]);

            if (empty($users)) {
                echo '<div style="border:1px groove red; padding:10px;color:red;">' . (get_string('nousers', 'local_gradesubmission')) . '</div>';
            }
            if (empty($exams)) {
                echo '<div style="border:1px groove red; padding:10px;color:red;">' . (get_string('noexam', 'local_gradesubmission')) . '</div>';
            }

            foreach ($exams as $exam) {
                if ($exam->opendate > $today) {
                    $examsnotcomp = 1;
                    echo '<div style="border:1px groove red; padding:10px;color:red;">' . (get_string('examnotcompleted', 'local_gradesubmission')) . '</div>';
                }
            }
        }
    }