Admin: Add course extra fields as mandatory - refs BT#19785

pull/4200/head
Christian 4 years ago
parent 98909c821b
commit f5ba1326f1
  1. 23
      main/admin/course_add.php
  2. 25
      main/create_course/add_course.php
  3. 3
      main/install/configuration.dist.php

@ -192,8 +192,29 @@ $obj = new GradeModel();
$obj->fill_grade_model_select_in_form($form);
//Extra fields
$setExtraFieldsMandatory = api_get_configuration_value('course_creation_form_set_extra_fields_mandatory');
$fieldsRequired = [];
if (false !== $setExtraFieldsMandatory && !empty($setExtraFieldsMandatory['fields'])) {
$fieldsRequired = $setExtraFieldsMandatory['fields'];
}
$extra_field = new ExtraField('course');
$extra = $extra_field->addElements($form);
$extra = $extra_field->addElements(
$form,
0,
[],
false,
false,
[],
[],
[],
false,
false,
[],
[],
false,
[],
$fieldsRequired
);
if (api_get_configuration_value('allow_course_multiple_languages')) {
// Course Multiple language.

@ -282,12 +282,33 @@ if (api_get_setting('teacher_can_select_course_template') === 'true') {
);
}
//Extra fields to show
//Extra fields to show and mandatory
$setExtraFieldsMandatory = api_get_configuration_value('course_creation_form_set_extra_fields_mandatory');
$extraFieldsToShow = api_get_configuration_value('course_creation_by_teacher_extra_fields_to_show');
$fillExtraField = api_get_configuration_value('course_creation_user_course_extra_field_relation_to_prefill');
if (false !== $extraFieldsToShow && !empty($extraFieldsToShow['fields'])) {
$fieldsRequired = [];
if (false !== $setExtraFieldsMandatory && !empty($setExtraFieldsMandatory['fields'])) {
$fieldsRequired = $setExtraFieldsMandatory['fields'];
}
$extra_field = new ExtraField('course');
$extra = $extra_field->addElements($form, 0, [], false, false, $extraFieldsToShow['fields']);
$extra = $extra_field->addElements(
$form,
0,
[],
false,
false,
$extraFieldsToShow['fields'],
[],
[],
false,
false,
[],
[],
false,
[],
$fieldsRequired
);
// Relation to prefill course extra field with user extra field
if (false !== $fillExtraField && !empty($fillExtraField['fields'])) {

@ -2136,6 +2136,9 @@ INSERT INTO `extra_field` (`extra_field_type`, `field_type`, `variable`, `displa
// Course extra fields to be presented on main/create_course/add_course.php
//$_configuration['course_creation_by_teacher_extra_fields_to_show'] = ['fields' => ['ExtrafieldLabel1', 'ExtrafieldLabel2']];
// Configuration setting to make some extra field required in course creation form.
//$_configuration['course_creation_form_set_extra_fields_mandatory'] = ['fields' => ['fieldLabel1','fieldLabel2']];
// Relation to prefill course extra field with user extra field on course creacion on main/create_course/add_course.php and main/admin/course_add.php
/*$_configuration['course_creation_user_course_extra_field_relation_to_prefill'] = [
'fields' => [

Loading…
Cancel
Save