You are here

function tmgmt_local_translation_form_update_state_submit in Translation Management Tool 7

Form submit callback for the translation state update button.

1 string reference to 'tmgmt_local_translation_form_update_state_submit'
tmgmt_local_translation_form_element in translators/tmgmt_local/includes/tmgmt_local.pages.inc
Builds a translation form element.

File

translators/tmgmt_local/includes/tmgmt_local.pages.inc, line 360
Provides page and forms callbacks.

Code

function tmgmt_local_translation_form_update_state_submit($form, &$form_state) {
  $values = $form_state['values'];

  /**
   * @var TMGMTLocalTaskItem $item.
   */
  $item = $form_state['task_item'];
  $action = $form_state['triggering_element']['#tmgmt_local_action'];
  $key = $form_state['triggering_element']['#tmgmt_local_key'];

  // Write the translated data into the job item.
  if (isset($values[$key]) && is_array($values[$key]) && isset($values[$key]['translation'])) {
    $update['#status'] = $action == 'finish' ? TMGMT_DATA_ITEM_STATE_TRANSLATED : TMGMT_DATA_ITEM_STATE_PENDING;
    $update['#text'] = $values[$key]['translation'];
    $item
      ->updateData($key, $update);
    $item
      ->save();

    // We need to rebuild form so we get updated action button state.
    $form_state['rebuild'] = TRUE;
  }
}