|
51 | 51 |
|
52 | 52 | $data = $cache->get('manageroverview');
|
53 | 53 |
|
| 54 | +$field = $DB->get_record('customfield_field', array('shortname' => 'semester', 'type' => 'semester'), '*', MUST_EXIST); |
| 55 | +$fieldcontroller = \core_customfield\field_controller::create($field->id); |
| 56 | +$datacontroller = \core_customfield\data_controller::create(0, null, $fieldcontroller); |
| 57 | + |
| 58 | +if (!$data) { |
| 59 | + $data = new stdClass(); |
| 60 | + $data->semester = $datacontroller->get_default_value(); |
| 61 | +} |
| 62 | + |
| 63 | +$catids = array_merge($category->get_all_children_ids(), [$category->id]); |
| 64 | + |
| 65 | +$errtable = new error_courses_table($catids, $data->semester ?? null, $evasyscategory, $search); |
| 66 | +$errtable->define_baseurl($PAGE->url); |
| 67 | + |
| 68 | +$reqtable = new course_manager_table($catids, $data->semester ?? null, $search); |
| 69 | +$reqtable->define_baseurl($PAGE->url); |
| 70 | + |
| 71 | +$remtable = new remaining_courses_table($catids, $data->semester ?? null, $evasyscategory,$search); |
| 72 | +$remtable->define_baseurl($PAGE->url); |
| 73 | + |
| 74 | +$mantable = new manual_courses_table($catids, $data->semester ?? null, $search); |
| 75 | +$mantable->define_baseurl($PAGE->url); |
| 76 | + |
| 77 | +$invtable = new invalid_courses_table($catids, $data->semester ?? null, $evasyscategory, $search); |
| 78 | +$invtable->define_baseurl($PAGE->url); |
| 79 | + |
54 | 80 | $action = optional_param('action', null, PARAM_ALPHAEXT);
|
55 | 81 | $forall = optional_param('all', 0, PARAM_INT);
|
| 82 | + |
56 | 83 | switch ($action) {
|
57 | 84 | case 'clearerror':
|
58 | 85 | require_sesskey();
|
59 |
| - $ids = required_param_array('ids', PARAM_INT); |
| 86 | + if ($forall === 1) { |
| 87 | + $ids = $errtable->get_all_error_courseids(); |
| 88 | + } else { |
| 89 | + $ids = required_param_array('ids', PARAM_INT); |
| 90 | + } |
60 | 91 | list($insql, $params) = $DB->get_in_or_equal($ids, SQL_PARAMS_NAMED);
|
61 | 92 | $params['time'] = time();
|
62 | 93 | $params['evasyscat'] = $evasyscategory->get('id');
|
|
67 | 98 | case 'seteval':
|
68 | 99 | require_sesskey();
|
69 | 100 | if ($forall === 1) {
|
70 |
| - // $courses = array_keys(array_keys($table->get_all_courses())); |
| 101 | + $courses = $remtable->get_all_remaining_courseids(); |
71 | 102 | } else {
|
72 | 103 | $courses = required_param_array('ids', PARAM_INT);
|
73 | 104 | }
|
|
87 | 118 | redirect($PAGE->url);
|
88 | 119 | }
|
89 | 120 |
|
90 |
| -$field = $DB->get_record('customfield_field', array('shortname' => 'semester', 'type' => 'semester'), '*', MUST_EXIST); |
91 |
| -$fieldcontroller = \core_customfield\field_controller::create($field->id); |
92 |
| -$datacontroller = \core_customfield\data_controller::create(0, null, $fieldcontroller); |
93 |
| - |
94 |
| -if (!$data) { |
95 |
| - $data = new stdClass(); |
96 |
| - $data->semester = $datacontroller->get_default_value(); |
97 |
| -} |
98 |
| - |
99 |
| -$catids = array_merge($category->get_all_children_ids(), [$category->id]); |
100 |
| - |
101 |
| - |
102 | 121 | $PAGE->navigation->add('EvaSys', new moodle_url('/blocks/evasys_sync/manageroverview.php'))
|
103 | 122 | ->add(
|
104 | 123 | get_string('evaluations', 'block_evasys_sync') . ' in ' . data_controller::get_name_for_semester($data->semester),
|
|
120 | 139 | 'extraclasses' => 'mb-3',
|
121 | 140 | 'inform' => false,
|
122 | 141 | 'searchstring' => get_string('search_for_courses', 'block_evasys_sync'),
|
| 142 | + // Id as url param doesn't work, so set as hidden field. |
123 | 143 | 'hiddenfields' => [
|
124 | 144 | (object) ['type' => 'hidden', 'name' => 'id', 'value' => $id]
|
125 | 145 | ],
|
126 | 146 | 'query' => $search
|
127 | 147 | ]);
|
128 | 148 |
|
129 |
| -$errtable = new error_courses_table($catids, $data->semester ?? null, $evasyscategory, $search); |
130 |
| -$errtable->define_baseurl($PAGE->url); |
| 149 | + |
| 150 | +// Output search results ordered by tables the courses are in. |
| 151 | + |
| 152 | +$somethingfound = false; |
| 153 | + |
131 | 154 | $errtable->setup();
|
132 | 155 | $errtable->query_db(48, false);
|
133 | 156 | $errtable->build_table();
|
134 | 157 | $errtable->close_recordset();
|
135 | 158 | if ($errtable->started_output) {
|
136 | 159 | echo $OUTPUT->heading('<br>' . get_string('courses_with_errors', 'block_evasys_sync') . '<br>');
|
137 | 160 | $errtable->finish_output();
|
| 161 | + $somethingfound = true; |
138 | 162 | }
|
139 | 163 |
|
140 |
| -$somethingfound = false; |
141 |
| - |
142 |
| -$reqtable = new course_manager_table($catids, $data->semester ?? null, $search); |
143 |
| -$reqtable->define_baseurl($PAGE->url); |
144 | 164 | $reqtable->setup();
|
145 | 165 | $reqtable->query_db(48, false);
|
146 | 166 | $reqtable->build_table();
|
|
151 | 171 | $somethingfound = true;
|
152 | 172 | }
|
153 | 173 |
|
154 |
| -$remtable = new remaining_courses_table($catids, $data->semester ?? null, $evasyscategory,$search); |
155 |
| -$remtable->define_baseurl($PAGE->url); |
156 | 174 | $remtable->setup();
|
157 | 175 | $remtable->query_db(48, false);
|
158 | 176 | $remtable->build_table();
|
|
163 | 181 | $somethingfound = true;
|
164 | 182 | }
|
165 | 183 |
|
166 |
| -$mantable = new manual_courses_table($catids, $data->semester ?? null, $search); |
167 |
| -$mantable->define_baseurl($PAGE->url); |
168 | 184 | $mantable->setup();
|
169 | 185 | $mantable->query_db(48, false);
|
170 | 186 | $mantable->build_table();
|
171 | 187 | $mantable->close_recordset();
|
172 | 188 | if ($mantable->started_output) {
|
173 |
| - //echo $OUTPUT->heading(''); |
174 | 189 | echo $OUTPUT->heading('<br>' . get_string('courses_with_manual_evals', 'block_evasys_sync') . '<br>');
|
175 | 190 | $mantable->finish_output();
|
176 | 191 | $somethingfound = true;
|
177 | 192 | }
|
178 | 193 |
|
179 |
| -$invtable = new invalid_courses_table($catids, $data->semester ?? null, $evasyscategory, $search); |
180 |
| -$invtable->define_baseurl($PAGE->url); |
181 | 194 | $invtable->setup();
|
182 | 195 | $invtable->query_db(48, false);
|
183 | 196 | $invtable->build_table();
|
|
0 commit comments