public function MappedObjectController::access in Salesforce Suite 8.4
Same name and namespace in other branches
- 5.0.x modules/salesforce_mapping_ui/src/Controller/MappedObjectController.php \Drupal\salesforce_mapping_ui\Controller\MappedObjectController::access()
Access callback for Mapped Object entity.
File
- modules/
salesforce_mapping_ui/ src/ Controller/ MappedObjectController.php, line 19
Class
- MappedObjectController
- Returns responses for devel module routes.
Namespace
Drupal\salesforce_mapping_ui\ControllerCode
public function access(AccountInterface $account) {
if (!$account
->hasPermission('administer salesforce')) {
return AccessResult::forbidden();
}
// There must be a better way to get the entity from a route match.
$param = current(\Drupal::routeMatch()
->getParameters()
->all());
if (!is_object($param)) {
return AccessResult::forbidden();
}
$implements = class_implements($param);
if (empty($implements['Drupal\\Core\\Entity\\EntityInterface'])) {
return AccessResult::forbidden();
}
// Only allow access for entities with mappings.
return $this
->entityTypeManager()
->getStorage('salesforce_mapping')
->loadByEntity($param) ? AccessResult::allowed() : AccessResult::forbidden();
}