kewljuice / calibr8_civicrm
Calibrate module for CiviCRM + Drupal 8 projects
Installs: 1 613
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
Type:drupal-custom
Requires
- composer/installers: ~1.0
README
This module is installed as any other Drupal module.
-
with Drush
drush pm-enable -y calibr8_civicrm
-
with Composer
composer config repositories.calibr8_civicrm vcs https://github.com/kewljuice/calibr8_civicrm
composer require calibrate/calibr8_civicrm
Development
// Export CiviCRM permissions as JSON.
// Fetch roles.
$permissions = \Drupal::service('user.permissions')->getPermissions();
$permissions_by_provider = [];
foreach ($permissions as $key => $permission) {
$permissions_by_provider[$permission['provider']][] = $key;
}
// Loop all roles from System.
$roles = \Drupal\user\Entity\Role::loadMultiple();
$permissions_by_role = [];
foreach ($roles as $role) {
$perms = $role->getPermissions();
foreach ($perms as $perm) {
if (in_array($perm, $permissions_by_provider['civicrm'])) {
$permissions_by_role[$role->id()][] = $perm;
}
}
}
// Export.
$permissions_by_role = json_encode($permissions_by_role);
dpm($permissions_by_role);