Skip to content

Commit 9f10d12

Browse files
authored
Merge pull request #4200 from christianbeeznest/majorel-19785
Admin: Add course extra fields as mandatory - refs BT#19785
2 parents 3c294af + 2bb9cfd commit 9f10d12

File tree

3 files changed

+48
-3
lines changed

3 files changed

+48
-3
lines changed

main/admin/course_add.php

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,29 @@
192192
$obj->fill_grade_model_select_in_form($form);
193193

194194
//Extra fields
195+
$setExtraFieldsMandatory = api_get_configuration_value('course_creation_form_set_extra_fields_mandatory');
196+
$fieldsRequired = [];
197+
if (false !== $setExtraFieldsMandatory && !empty($setExtraFieldsMandatory['fields'])) {
198+
$fieldsRequired = $setExtraFieldsMandatory['fields'];
199+
}
195200
$extra_field = new ExtraField('course');
196-
$extra = $extra_field->addElements($form);
201+
$extra = $extra_field->addElements(
202+
$form,
203+
0,
204+
[],
205+
false,
206+
false,
207+
[],
208+
[],
209+
[],
210+
false,
211+
false,
212+
[],
213+
[],
214+
false,
215+
[],
216+
$fieldsRequired
217+
);
197218

198219
if (api_get_configuration_value('allow_course_multiple_languages')) {
199220
// Course Multiple language.

main/create_course/add_course.php

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,12 +282,33 @@ function MM_openBrWindow(theURL, winName, features) { //v2.0
282282
);
283283
}
284284

285-
//Extra fields to show
285+
//Extra fields to show and mandatory
286+
$setExtraFieldsMandatory = api_get_configuration_value('course_creation_form_set_extra_fields_mandatory');
286287
$extraFieldsToShow = api_get_configuration_value('course_creation_by_teacher_extra_fields_to_show');
287288
$fillExtraField = api_get_configuration_value('course_creation_user_course_extra_field_relation_to_prefill');
288289
if (false !== $extraFieldsToShow && !empty($extraFieldsToShow['fields'])) {
290+
$fieldsRequired = [];
291+
if (false !== $setExtraFieldsMandatory && !empty($setExtraFieldsMandatory['fields'])) {
292+
$fieldsRequired = $setExtraFieldsMandatory['fields'];
293+
}
289294
$extra_field = new ExtraField('course');
290-
$extra = $extra_field->addElements($form, 0, [], false, false, $extraFieldsToShow['fields']);
295+
$extra = $extra_field->addElements(
296+
$form,
297+
0,
298+
[],
299+
false,
300+
false,
301+
$extraFieldsToShow['fields'],
302+
[],
303+
[],
304+
false,
305+
false,
306+
[],
307+
[],
308+
false,
309+
[],
310+
$fieldsRequired
311+
);
291312

292313
// Relation to prefill course extra field with user extra field
293314
if (false !== $fillExtraField && !empty($fillExtraField['fields'])) {

main/install/configuration.dist.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2136,6 +2136,9 @@
21362136
// Course extra fields to be presented on main/create_course/add_course.php
21372137
//$_configuration['course_creation_by_teacher_extra_fields_to_show'] = ['fields' => ['ExtrafieldLabel1', 'ExtrafieldLabel2']];
21382138

2139+
// Configuration setting to make some extra field required in course creation form.
2140+
//$_configuration['course_creation_form_set_extra_fields_mandatory'] = ['fields' => ['fieldLabel1','fieldLabel2']];
2141+
21392142
// Course extra fields to be presented on course settings
21402143
//$_configuration['course_configuration_tool_extra_fields_to_show_and_edit'] = ['fields' => ['ExtrafieldLabel1', 'ExtrafieldLabel2']];
21412144

0 commit comments

Comments
 (0)