function opigno_assessment_form_course_node_form_alter in Opigno 7.0
Implements hook_form_course_node_form_alter()
File
- modules/
opigno_assessment/ opigno_assessment.module, line 122 - Contains all hook_implementations and module specific API.
Code
function opigno_assessment_form_course_node_form_alter(&$form, $form_state) {
if (user_access('edit course assessment options')) {
$node = $form['#node'];
$form['opigno_assessment'] = array(
'#type' => 'fieldset',
'#title' => t("Course assessment"),
'#weight' => 10,
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#group' => 'additional_settings',
'#attached' => array(
'js' => array(
drupal_get_path('module', 'opigno_assessment') . '/js/opigno_assessment.js',
),
),
'#attributes' => array(
'class' => array(
'opigno-assessment-form',
),
),
'#tree' => TRUE,
);
$form['opigno_assessment']['option'] = array(
'#type' => 'radios',
'#title' => t("Assessment options"),
'#options' => array(
'no' => t("No assessment for this course"),
'all' => t("Student must accomplish all assignments"),
'some' => t("Student must accomplish certain assignments"),
),
'#default_value' => isset($node->opigno_assessment['option']) ? $node->opigno_assessment['option'] : 'no',
);
$quizzes = opigno_assessment_get_quizzes($node);
$form['opigno_assessment']['quizzes'] = array(
'#type' => 'select',
'#title' => t("Select assignments to complete"),
'#description' => t("A student must accomplish all selected assignments in order to finish the course."),
'#options' => $quizzes,
'#multiple' => TRUE,
'#default_value' => isset($node->opigno_assessment['quizzes']) ? $node->opigno_assessment['quizzes'] : array(),
);
if (empty($quizzes)) {
$form['opigno_assessment']['quizzes'] = array_merge($form['opigno_assessment']['quizzes'], array(
'#options' => array(
t("This course has no assignments yet."),
),
'#multiple' => FALSE,
'#attributes' => array(
'disabled' => 'disabled',
),
));
}
$form['opigno_assessment']['rule'] = array(
'#type' => 'radios',
'#title' => t("Success rule"),
'#description' => t("A student successfully accomplishes this course if the following rule(s) is(are) met."),
'#options' => array(
'average' => t("The average grade is higher than X"),
'average_neg' => t("The average grade is higher than X AND no grade is lower than Y"),
),
'#default_value' => isset($node->opigno_assessment['rule']) ? $node->opigno_assessment['rule'] : 'average',
);
$form['opigno_assessment']['average'] = array(
'#type' => 'select',
'#title' => t("Minimum grade"),
'#options' => opigno_assessment_get_scale(),
'#default_value' => isset($node->opigno_assessment['average']) ? $node->opigno_assessment['average'] : round(variable_get('opigno_assessment_grade_scale', 10) / 2),
);
$form['opigno_assessment']['min'] = array(
'#type' => 'select',
'#title' => t("No grade lower than"),
'#options' => opigno_assessment_get_scale(),
'#default_value' => isset($node->opigno_assessment['min']) ? $node->opigno_assessment['min'] : round(variable_get('opigno_assessment_grade_scale', 10) / 2),
);
}
}