You are here

function salesforce_mapping_update_8004 in Salesforce Suite 5.0.x

Same name and namespace in other branches
  1. 8.4 modules/salesforce_mapping/salesforce_mapping.install \salesforce_mapping_update_8004()
  2. 8.3 modules/salesforce_mapping/salesforce_mapping.install \salesforce_mapping_update_8004()

Verify Salesforce admin content permissions.

File

modules/salesforce_mapping/salesforce_mapping.install, line 92
Install file.

Code

function salesforce_mapping_update_8004() {
  try {
    $view = Views::getView('salesforce_mapped_objects');
  } catch (\Exception $e) {
    return t('Exception while loading Salesforce admin view.');
  }
  if (!$view) {
    return t('Salesforce objects admin view not found');
  }

  // If access has been changed from defaults, we're done.
  $options = $view
    ->getDisplay()
    ->getOption('access');
  if (!empty($options['type']) && $options['type'] != 'none') {
    return t('Salesforce admin permissions confirmed.');
  }

  // Otherwise, set access.
  $view
    ->getDisplay()
    ->setOption('access', [
    'type' => 'perm',
    'options' => [
      'perm' => 'administer salesforce mapped objects',
    ],
  ]);
  $view
    ->save();
  return t('Salesforce admin permissions updated. You may wish to review your user permission settings.');
}