You are here

class FlexiformWebformUIController in Flexiform 7

UI Class

Hierarchy

Expanded class hierarchy of FlexiformWebformUIController

1 string reference to 'FlexiformWebformUIController'
flexiform_webform_entity_info in flexiform_webform/flexiform_webform.module
Implements hook_entity_info().

File

flexiform_webform/flexiform_webform.admin.inc, line 10
Model type editing UI.

View source
class FlexiformWebformUIController extends EntityDefaultUIController {

  /**
   * {@inheritdoc}
   */
  public function hook_menu() {
    $items = parent::hook_menu();

    // Change the way they clone things.
    $items['admin/structure/flexiform_webforms/manage/%entity_object/clone']['page callback'] = 'flexiform_webform_ui_get_clone_form';
    return $items;
  }

  /**
   * {@inheritdoc}
   */
  public function operationCount() {
    $count = parent::operationCount() + 1;
    if (module_exists('panelizer')) {
      $count++;
    }
    return $count;
  }

  /**
   * {@inheritdoc}
   */
  public function overviewForm($form, &$form_state, $conditions = array()) {
    $collapsed = TRUE;
    if (!empty($_GET['form_group'])) {
      $conditions['form_group'] = $_GET['form_group'];
      $collapsed = FALSE;
    }
    $form['filter'] = array(
      '#type' => 'fieldset',
      '#title' => t('Filter'),
      '#collapsible' => TRUE,
      '#collapsed' => $collapsed,
    );
    $form['filter']['#id'] = 'flexiform-filter-form';
    $groups = flexiform_get_groups();
    if (count($groups) > 0) {
      $form['filter']['form_group'] = array(
        '#title' => t('Filter by group'),
        '#type' => 'select',
        '#default_value' => !empty($conditions['form_group']) ? $conditions['form_group'] : 'general',
      );
      foreach ($groups as $group => $info) {
        $form['filter']['form_group']['#options'][$group] = $info['label'];
      }
    }
    $form['filter']['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Filter'),
      '#name' => '',
    );

    // Overridden to allow the passing of conditions through.
    $form['table'] = $this
      ->overviewTable($conditions);
    $form['pager'] = array(
      '#theme' => 'pager',
    );
    $form['#method'] = 'get';
    $form['#submit'][] = 'flexiform_form_submit_rebuild';
    return $form;
  }

  /**
   * Overrides overviewTable();
   */
  public function overviewTable($conditions = array()) {
    $entities = entity_load($this->entityType, FALSE, $conditions);
    ksort($entities);
    $rows = array();
    foreach ($entities as $entity) {
      $rows[] = $this
        ->overviewTableRow($conditions, entity_id($this->entityType, $entity), $entity);
    }
    $render = array(
      '#theme' => 'table',
      '#header' => $this
        ->overviewTableHeaders($conditions, $rows),
      '#rows' => $rows,
      '#empty' => t('None.'),
    );
    return $render;
  }

  /**
   * {@inheritdoc}
   */
  public function overviewTableRow($conditions, $id, $entity, $additional_cols = array()) {
    $row = parent::overviewTableRow($conditions, $id, $entity, $additional_cols);

    // We want to put 2 operations in the table before clone, export and revert.
    $lastOperations = array_splice($row, -3, 3);

    // Add the manage forms element.
    $row[] = l(t('manage forms'), $this->path . '/manage/' . $id . '/forms');
    if (module_exists('panelizer')) {
      $row[] = l(t('panelizer'), 'admin/config/content/panelizer/flexiform_webform_submission/' . $id . '.default/content');
    }
    $row = array_merge($row, $lastOperations);
    return $row;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
EntityDefaultUIController::$entityInfo protected property
EntityDefaultUIController::$entityType protected property
EntityDefaultUIController::$id_count protected property
EntityDefaultUIController::$overviewPagerLimit public property Defines the number of entries to show per page in overview table.
EntityDefaultUIController::applyOperation public function Applies an operation to the given entity.
EntityDefaultUIController::entityFormSubmitBuildEntity public function Entity submit builder invoked via entity_ui_form_submit_build_entity().
EntityDefaultUIController::hook_forms public function Provides definitions for implementing hook_forms().
EntityDefaultUIController::operationForm public function Builds the operation form.
EntityDefaultUIController::operationFormSubmit public function Operation form submit callback. 1
EntityDefaultUIController::operationFormValidate public function Operation form validation callback.
EntityDefaultUIController::overviewFormSubmit public function Overview form submit callback.
EntityDefaultUIController::overviewFormValidate public function Overview form validation callback.
EntityDefaultUIController::overviewTableHeaders protected function Generates the table headers for the overview table.
EntityDefaultUIController::__construct public function
FlexiformWebformUIController::hook_menu public function Provides definitions for implementing hook_menu(). Overrides EntityDefaultUIController::hook_menu
FlexiformWebformUIController::operationCount public function Returns the operation count for calculating colspans. Overrides EntityDefaultUIController::operationCount
FlexiformWebformUIController::overviewForm public function Builds the entity overview form. Overrides EntityDefaultUIController::overviewForm
FlexiformWebformUIController::overviewTable public function Overrides overviewTable(); Overrides EntityDefaultUIController::overviewTable
FlexiformWebformUIController::overviewTableRow public function Generates the row for the passed entity and may be overridden in order to customize the rows. Overrides EntityDefaultUIController::overviewTableRow