You are here

function workbench_moderation_admin_transitions_form in Workbench Moderation 7.3

Same name and namespace in other branches
  1. 7 workbench_moderation.admin.inc \workbench_moderation_admin_transitions_form()

Administration form to create and delete moderation transitions.

Transition ordering is based on state ordering.

1 string reference to 'workbench_moderation_admin_transitions_form'
workbench_moderation_menu in ./workbench_moderation.module
Implements hook_menu().

File

./workbench_moderation.admin.inc, line 172
Administrative functions for Workbench Moderation.

Code

function workbench_moderation_admin_transitions_form($form, &$form_state) {
  $form['transitions'] = array(
    '#tree' => TRUE,
  );

  // List existing states.
  $transitions = workbench_moderation_transitions();
  foreach ($transitions as $transition) {
    $element = array();
    $element['transition'] = array(
      '#type' => 'value',
      '#value' => $transition,
    );
    $element['name'] = array(
      '#markup' => check_plain($transition->name),
    );
    $element['from_name'] = array(
      '#markup' => check_plain(workbench_moderation_state_label($transition->from_name)),
    );
    $element['to_name'] = array(
      '#markup' => check_plain(workbench_moderation_state_label($transition->to_name)),
    );
    $element['delete'] = array(
      '#type' => 'checkbox',
      '#title' => t('Delete'),
      '#title_display' => 'invisible',
      '#default_value' => FALSE,
    );
    $form['transitions'][] = $element;
  }

  // Provide fields to create a new transition.
  $options = workbench_moderation_state_labels();
  array_unshift($options, t('- Choose state -'));
  $element = array();
  $element['name'] = array(
    '#type' => 'textfield',
    '#title' => t('Transition Name'),
    '#size' => '35',
  );
  $element['from_name'] = array(
    '#type' => 'select',
    '#title' => t('New transition'),
    '#options' => $options,
  );
  $element['to_name'] = array(
    '#type' => 'select',
    '#title' => ' ',
    '#options' => $options,
  );
  $form['transitions']['new'] = $element;
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
  return $form;
}