You are here

class SalesforceMappingUIController in Salesforce Suite 7.3

Salesforce Mapping UI controller.

Hierarchy

Expanded class hierarchy of SalesforceMappingUIController

1 string reference to 'SalesforceMappingUIController'
salesforce_mapping_entity_info in modules/salesforce_mapping/salesforce_mapping.module
Implements hook_entity_info().

File

modules/salesforce_mapping/includes/salesforce_mapping.ui_controller.inc, line 11
Contains SalesforceMappingUIController.

View source
class SalesforceMappingUIController extends EntityDefaultUIController {

  /**
   * Overrides hook_menu() defaults.
   *
   * Ignore that code sniffer wants hook_menu() to be in lowerCamelCase.
   */

  // @codingStandardsIgnoreStart
  public function hook_menu() {
    $items = parent::hook_menu();
    $items[$this->path]['description'] = 'Manage Salesforce mappings';
    return $items;
  }

  // @codingStandardsIgnoreEnd

  /**
   * Overrides EntityDefaultUIController::overviewForm().
   */
  public function overviewForm($form, &$form_state) {
    $query = new EntityFieldQuery();
    $query
      ->entityCondition('entity_type', $this->entityType);
    if ($this->overviewPagerLimit) {
      $query
        ->pager($this->overviewPagerLimit);
    }
    $results = $query
      ->execute();
    $ids = isset($results[$this->entityType]) ? array_keys($results[$this->entityType]) : array();
    $entities = $ids ? entity_load($this->entityType, $ids) : array();
    $rows = array();
    foreach ($entities as $entity) {
      $id = entity_id($this->entityType, $entity);
      $weight = isset($form_state['values']['table'][$id]['weight']) ? $form_state['values']['table'][$id]['weight'] : $entity->weight;
      $rows[$id]['#row'] = $this
        ->overviewTableRow(NULL, $id, $entity);
      $rows[$id]['#weight'] = $weight;
      $rows[$id]['weight'] = array(
        '#type' => 'weight',
        '#delta' => 30,
        '#default_value' => $weight,
      );
    }
    $form['table'] = $rows + array(
      '#theme' => 'salesforce_mapping_overview_tabledrag_form',
      '#tree' => TRUE,
      '#header' => $this
        ->overviewTableHeaders(NULL, $rows),
      '#entity_type' => $this->entityType,
    );
    $form['pager'] = array(
      '#theme' => 'pager',
    );

    // Only show the save button when there are entities in the list.
    if (!empty($rows)) {
      $form['actions']['#type'] = 'actions';
      $form['actions']['submit'] = array(
        '#type' => 'submit',
        '#value' => t('Save'),
      );
    }
    return $form;
  }

  /**
   * Overrides EntityDefaultUIController::overviewFormSubmit().
   */
  public function overviewFormSubmit($form, &$form_state) {

    // Update entity weights.
    if (!empty($form_state['values']['table'])) {
      $entities = entity_load($this->entityType, array_keys($form_state['values']['table']));
      foreach ($entities as $key => $entity) {
        $id = entity_id($this->entityType, $entity);
        $entity->weight = $form_state['values']['table'][$id]['weight'];
        entity_save($this->entityType, $entities[$key]);
      }
    }
  }

  /**
   * Overrides EntityDefaultUIController::overviewTableHeaders().
   */
  protected function overviewTableHeaders($conditions, $rows, $additional_header = array()) {
    $additional_header[] = t('Drupal entity');
    $additional_header[] = t('Drupal bundle');
    $additional_header[] = t('Salesforce object');
    $header = parent::overviewTableHeaders($conditions, $rows, $additional_header);
    $header[] = t('Weight');
    return $header;
  }

  /**
   * Overrides EntityDefaultUIController::overviewTableRow().
   */
  protected function overviewTableRow($conditions, $id, $entity, $additional_cols = array()) {
    $additional_cols[] = $entity->drupal_entity_type;
    $additional_cols[] = $entity->drupal_bundle;
    $additional_cols[] = $entity->salesforce_object_type;
    return parent::overviewTableRow($conditions, $id, $entity, $additional_cols);
  }

}

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::operationCount protected function Returns the operation count for calculating colspans.
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::overviewFormValidate public function Overview form validation callback.
EntityDefaultUIController::overviewTable public function Generates the render array for a overview table for arbitrary entities matching the given conditions.
EntityDefaultUIController::__construct public function
SalesforceMappingUIController::hook_menu public function Provides definitions for implementing hook_menu(). Overrides EntityDefaultUIController::hook_menu
SalesforceMappingUIController::overviewForm public function Overrides EntityDefaultUIController::overviewForm(). Overrides EntityDefaultUIController::overviewForm
SalesforceMappingUIController::overviewFormSubmit public function Overrides EntityDefaultUIController::overviewFormSubmit(). Overrides EntityDefaultUIController::overviewFormSubmit
SalesforceMappingUIController::overviewTableHeaders protected function Overrides EntityDefaultUIController::overviewTableHeaders(). Overrides EntityDefaultUIController::overviewTableHeaders
SalesforceMappingUIController::overviewTableRow protected function Overrides EntityDefaultUIController::overviewTableRow(). Overrides EntityDefaultUIController::overviewTableRow