class SalesforceMappingUIController in Salesforce Suite 7.3
Salesforce Mapping UI controller.
Hierarchy
- class \EntityDefaultUIController
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);
}
}