|
38 | 38 |
|
39 | 39 | require_capability('moodle/site:config', context_system::instance()); |
40 | 40 |
|
41 | | -$action = optional_param('act', null, PARAM_ALPHA); |
| 41 | +$action = optional_param('action', null, PARAM_ALPHANUMEXT); |
42 | 42 | $ids = optional_param_array('c', [], PARAM_INT); |
43 | 43 | $stepid = required_param('stepid', PARAM_INT); |
44 | 44 |
|
|
110 | 110 | if (is_array($ids) && count($ids) > 0 && ($action == PROCEED || $action == ROLLBACK)) { |
111 | 111 | [$insql, $inparams] = $DB->get_in_or_equal($ids); |
112 | 112 | $sql = 'UPDATE {lifecyclestep_adminapprove} ' . |
113 | | - 'SET status = ' . ($action == PROCEED ? 1 : 2) . ' ' . |
114 | | - 'WHERE id ' . $insql . ' ' . |
115 | | - 'AND status = 0'; |
| 113 | + 'SET status = ' . ($action == PROCEED ? 1 : 2) . ' ' . |
| 114 | + 'WHERE id ' . $insql . ' ' . |
| 115 | + 'AND status = 0'; |
116 | 116 | $DB->execute($sql, $inparams); |
117 | | - } else if ($action == PROCEED_ALL || $action == ROLLBACK_ALL) { |
118 | | - $sql = 'SELECT p.id FROM {lifecyclestep_adminapprove} a ' . |
119 | | - 'JOIN {tool_lifecycle_process} p ON p.id = a.processid ' . |
120 | | - 'JOIN {tool_lifecycle_step} s ON s.workflowid = p.workflowid AND s.sortindex = p.stepindex ' . |
121 | | - 'JOIN {course} c ON p.courseid = c.id ' . |
122 | | - 'WHERE s.id = :stepid '; |
123 | | - $params = ['stepid' => $stepid]; |
124 | | - |
125 | | - if ($courseid) { |
126 | | - $sql .= 'AND c.id = :cid '; |
127 | | - $params['cid'] = $courseid; |
128 | | - } |
129 | | - if ($coursename) { |
130 | | - $sql .= "AND c.fullname LIKE :cname "; |
131 | | - $params['cname'] = '%' . $DB->sql_like_escape($coursename) . '%'; |
132 | | - } |
133 | | - |
134 | | - $ids = array_keys($DB->get_records_sql_menu($sql, $params)); |
135 | | - if (!empty($ids)) { |
136 | | - [$insql, $inparams] = $DB->get_in_or_equal($ids); |
137 | | - $sql = 'UPDATE {lifecyclestep_adminapprove} ' . |
138 | | - 'SET status = ' . ($action == PROCEED_ALL ? 1 : 2) . ' ' . |
139 | | - 'WHERE status = 0 ' . |
140 | | - 'AND processid ' . $insql; |
141 | | - $DB->execute($sql, $inparams); |
142 | | - } |
| 117 | + |
| 118 | + redirect($PAGE->url); |
143 | 119 | } |
144 | | - redirect($PAGE->url); |
145 | 120 | } |
146 | 121 |
|
147 | 122 | $renderer = $PAGE->get_renderer('tool_lifecycle'); |
|
165 | 140 | echo get_string('courses_waiting', 'lifecyclestep_adminapprove', |
166 | 141 | ['step' => $step->instancename, 'workflow' => $workflow->title]); |
167 | 142 |
|
168 | | - $rollbackallcustlabel = |
169 | | - settings_manager::get_settings($step->id, settings_type::STEP)['rollbackallbuttonlabel'] ?? null; |
170 | | - $proceedallcustlabel = |
171 | | - settings_manager::get_settings($step->id, settings_type::STEP)['proceedallbuttonlabel'] ?? null; |
172 | | - $rollbackselectedcustlabel = |
173 | | - settings_manager::get_settings($step->id, settings_type::STEP)['rollbackselectedbuttonlabel'] ?? null; |
174 | | - $proceedselectedcustlabel = |
175 | | - settings_manager::get_settings($step->id, settings_type::STEP)['proceedselectedbuttonlabel'] ?? null; |
176 | | - |
177 | | - echo '<div class="mt-2 mb-2">'; |
178 | | - echo \html_writer::div('0', 'totalrows badge badge-primary badge-pill mr-2', |
| 143 | + echo '<div class="mt-2">'; |
| 144 | + echo \html_writer::span('0', 'totalrows badge badge-primary badge-pill mr-1 mb-1', |
179 | 145 | ['id' => 'adminapprove_totalrows']); |
180 | | - $button = new \single_button(new moodle_url($PAGE->url, ['act' => ROLLBACK_ALL]), |
181 | | - !empty($rollbackallcustlabel) ? $rollbackallcustlabel : |
182 | | - get_string(ROLLBACK_ALL, 'lifecyclestep_adminapprove')); |
183 | | - echo $OUTPUT->render($button); |
184 | | - |
185 | | - $button = new \single_button(new moodle_url($PAGE->url, ['act' => PROCEED_ALL]), |
186 | | - !empty($proceedallcustlabel) ? $proceedallcustlabel : |
187 | | - get_string(PROCEED_ALL, 'lifecyclestep_adminapprove'), |
188 | | - 'post', 'primary'); |
189 | | - echo $OUTPUT->render($button); |
190 | | - |
191 | | - $button = new \single_button(new moodle_url($PAGE->url, ['act' => ROLLBACK]), |
192 | | - !empty($rollbackselectedcustlabel) ? $rollbackselectedcustlabel : |
193 | | - get_string('rollbackselected', 'lifecyclestep_adminapprove'), 'post', 'secondary'); |
194 | | - echo $OUTPUT->render($button); |
195 | | - |
196 | | - $button = new \single_button(new moodle_url($PAGE->url, ['act' => PROCEED]), |
197 | | - !empty($proceedselectedcustlabel) ? $proceedselectedcustlabel : |
198 | | - get_string('proceedselected', 'lifecyclestep_adminapprove'), 'post', 'primary'); |
199 | | - echo $OUTPUT->render($button); |
200 | | - |
| 146 | + echo \html_writer::span(get_string('courses')); |
201 | 147 | echo '</div>'; |
202 | 148 |
|
203 | 149 | echo '<form action="" method="post"><input type="hidden" name="sesskey" value="' . sesskey() . '">'; |
204 | 150 | $table = new lifecyclestep_adminapprove\decision_table($stepid, $courseid, $category, $coursename); |
205 | 151 | $table->out(100, false); |
206 | 152 | echo '</form>'; |
207 | 153 |
|
208 | | - $PAGE->requires->js_call_amd('lifecyclestep_adminapprove/init', 'init', |
209 | | - [sesskey(), $PAGE->url->out(), $table->totalrows]); |
| 154 | + $PAGE->requires->js_call_amd('lifecyclestep_adminapprove/init', 'init', [$table->totalrows]); |
210 | 155 | } else { |
211 | 156 | echo get_string('no_courses_waiting', 'lifecyclestep_adminapprove', |
212 | 157 | ['step' => $step->instancename, 'workflow' => $workflow->title]); |
|
0 commit comments