You are here

function opigno_live_meetings_score_form in Opigno Moxtra App 7

1 string reference to 'opigno_live_meetings_score_form'
opigno_live_meetings_score_page in modules/opigno_live_meetings/includes/opigno_live_meetings.score_form.inc
Created by PhpStorm. User: amermod Date: 22/10/2015 Time: 14:44

File

modules/opigno_live_meetings/includes/opigno_live_meetings.score_form.inc, line 14

Code

function opigno_live_meetings_score_form($form, &$form_state, $node) {
  $live_meeting_info = opigno_live_meetings_api_get_live_meeting_info($node->uid, $node->session_key[LANGUAGE_NONE][0]['value']);
  if ($live_meeting_info->data->status != 'SESSION_ENDED') {
    drupal_set_message(t('The meeting has to be ended in order to save the presences.'), 'error');
    return $form;
  }
  $participants_ids = array_map(function ($participant) {
    return $participant->unique_id;
  }, $live_meeting_info->data->participants);
  $users = opigno_get_users_in_group($node->og_group_ref[LANGUAGE_NONE][0]['target_id']);
  $defaultValues = opigno_live_meetings_score_get_default_value($node->nid, $users, $participants_ids);
  $form['submit_scores'] = array(
    '#type' => 'fieldset',
    '#title' => t('Participants for') . ' ' . $node->title,
    '#collapsible' => FALSE,
    '#collapsed' => TRUE,
    '#prefix' => '<table><thead><tr><th>' . t("Name") . '</th><th>' . t("Attendance") . '</th><th>' . t("Score") . '</th></tr></thead><tbody>',
    '#suffix' => '</tbody></table>',
  );
  foreach ($users as $user) {
    $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' => $defaultValues[$user->uid]['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' => $defaultValues[$user->uid]['score'],
    );
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save attendances'),
    '#submit' => array(
      'opigno_live_meetings_score_form_submit',
    ),
  );
  return $form;
}