Skip to content
Snippets Groups Projects
Commit 8dab107d authored by Lily Yan's avatar Lily Yan
Browse files

ISTWCMS-3002 Add hook update to load config and assign permissions to roles...

ISTWCMS-3002 Add hook update to load config and assign permissions to roles which are depended on uw_sites_all hook update 8105
parent 8f1da49d
No related branches found
No related tags found
1 merge request!136ISTWCMS-3002 Enable quick node clone module
...@@ -9,6 +9,7 @@ use Drupal\taxonomy\Entity\Term; ...@@ -9,6 +9,7 @@ use Drupal\taxonomy\Entity\Term;
use Drupal\node\Entity\Node; use Drupal\node\Entity\Node;
use Drupal\uw_cfg_common\UwPermissions\UwPermissions; use Drupal\uw_cfg_common\UwPermissions\UwPermissions;
use Drupal\user\Entity\Role; use Drupal\user\Entity\Role;
use Drupal\Core\Config\FileStorage;
/** /**
* Implements hook_install(). * Implements hook_install().
...@@ -374,3 +375,62 @@ function uw_cfg_common_update_8102() { ...@@ -374,3 +375,62 @@ function uw_cfg_common_update_8102() {
$role_object->save(); $role_object->save();
} }
} }
/**
* Load config and assigns permissions to roles.
*
* Load quick_node_clone config.
*/
function uw_cfg_common_update_8103() {
// Load config that is not being set properly by config distro update.
$config_path = drupal_get_path('module', 'uw_cfg_common') . '/config/install';
$source = new FileStorage($config_path);
$config_storage = \Drupal::service('config.storage');
$config_storage->write('quick_node_clone.settings', $source->read('quick_node_clone.settings'));
// List of permissions needed to be applied to roles.
$permissions = [
'clone uw_ct_blog content',
'clone uw_ct_catalog_item content',
'clone uw_ct_contact content',
'clone uw_ct_event content',
'clone uw_ct_news_item content',
'clone uw_ct_profile content',
'clone uw_ct_sidebar content',
'clone uw_ct_web_page content',
];
// Roles that require updated permissions.
$role_ids = [
'uw_role_site_manager',
'uw_role_content_editor',
'uw_role_content_author',
];
$roles = Role::loadMultiple($role_ids);
// Grant all all roles.
foreach ($permissions as $permission) {
$roles['uw_role_site_manager']->grantPermission($permission);
$roles['uw_role_content_editor']->grantPermission($permission);
$roles['uw_role_content_author']->grantPermission($permission);
}
// Save role with new permissions.
$roles['uw_role_site_manager']->save();
$roles['uw_role_content_editor']->save();
$roles['uw_role_content_author']->save();
}
/**
* Implements hook_update_dependencies().
*/
function uw_cfg_common_update_dependencies() {
$dependencies['uw_cfg_common'][8103] = [
'uw_sites_all' => 8105,
];
return $dependencies;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment