You are here

function opigno_in_house_training_score_form in Opigno in house training app 7

1 string reference to 'opigno_in_house_training_score_form'
opigno_in_house_score_page in ./opigno_in_house_training_app.module

File

./opigno_in_house_training_app.module, line 177

Code

function opigno_in_house_training_score_form($form, &$form_state, $node) {
  $form['submit_scores'] = array(
    '#type' => 'fieldset',
    '#title' => $form_state['build_info']['args'][0]->title,
    '#collapsible' => FALSE,
    '#collapsed' => FALSE,
    '#prefix' => '<table><thead><tr><th>' . t("Student name") . '</th><th>' . t("Attendance") . '</th><th>' . t("Score") . '</th></tr></thead><tbody>',
    '#suffix' => '</tbody></table>',
  );
  $group = og_context('node');
  if (!empty($group['gid'])) {
    $memberships = opigno_in_house_training_get_users_membership($group['gid']);
    $next = false;
    $nextlink = "";
    $lessons = opigno_in_house_training_app_get_all_iht($group['gid']);
    if (isset($lessons[$group['gid']])) {
      foreach ($lessons[$group['gid']] as $ihl_id => $ihl) {
        if ($next == true) {
          $nextlink = "node/" . $ihl_id . "/score";
          break;
        }
        if ($ihl_id == $node->nid) {
          $next = true;
        }
      }
    }
    foreach ($memberships as $m_id => $membership_id) {
      $og_membership = og_membership_load($membership_id);

      //Check if user is a student (not a teacher, not a coach and not a manager)
      $user_roles_in_group = og_get_user_roles($og_membership->group_type, $og_membership->gid, $og_membership->etid);
      $non_student_roles = array(
        'manager',
        'teacher',
        'coach',
      );
      if (count(array_intersect($user_roles_in_group, $non_student_roles)) == 0) {
        $user = user_load($og_membership->etid);
        $defaults = opigno_in_house_training_score_form_get_default_value($form_state['build_info']['args'][0]->nid, $user->uid);
        $form['submit_scores']['name_' . $user->uid] = array(
          '#type' => 'item',
          '#title' => $user->name,
          '#prefix' => '<tr><td>',
          '#suffix' => '</td>',
        );
        $form['submit_scores']['status_' . $user->uid] = array(
          '#type' => 'select',
          '#options' => array(
            0 => t('Absent'),
            1 => t('Attended'),
          ),
          '#default_value' => $defaults['status'],
          '#prefix' => '<td>',
          '#suffix' => '</td>',
        );
        $form['submit_scores']['score_' . $user->uid] = array(
          '#type' => 'textfield',
          '#size' => '10',
          '#required' => FALSE,
          '#prefix' => '<td>',
          '#suffix' => '</td></tr>',
          '#default_value' => $defaults['score'],
        );
      }
    }
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Score attendance'),
    '#submit' => array(
      'opigno_in_house_training_score_form_submit',
    ),
    '#prefix' => '<div class="form-submits">',
  );
  if ($next == true && !empty($nextlink)) {
    $form['store'] = array(
      '#type' => 'value',
      '#value' => $nextlink,
    );
    $form['submit_1'] = array(
      '#type' => 'submit',
      '#value' => t('Score and go to next'),
      '#submit' => array(
        'opigno_in_house_training_score_form_submit_1',
      ),
      '#suffix' => '</div>',
    );
  }
  else {
    $form['submit']['#suffix'] = '</div>';
  }
  return $form;
}