diff --git a/config/install/user.role.uw_role_content_author.yml b/config/install/user.role.uw_role_content_author.yml index 980e028dc15c4434aad9c26b9a270db182377a41..68f877a17ae0765379d3c7590505a3136d8f3a52 100644 --- a/config/install/user.role.uw_role_content_author.yml +++ b/config/install/user.role.uw_role_content_author.yml @@ -47,6 +47,7 @@ permissions: - 'create terms in uw_vocab_news_tags' - 'create url aliases' - 'create uw_ct_blog content' + - 'create uw_ct_catalog_item content' - 'create uw_ct_event content' - 'create uw_ct_news_item content' - 'create uw_ct_sidebar content' @@ -63,12 +64,14 @@ permissions: - 'delete paragraph content uw_para_facts_and_figures' - 'delete paragraph content uw_para_ff' - 'edit any uw_ct_blog content' + - 'edit any uw_ct_catalog_item content' - 'edit any uw_ct_event content' - 'edit any uw_ct_news_item content' - 'edit any uw_ct_sidebar content' - 'edit any uw_ct_site_footer content' - 'edit any uw_ct_web_page content' - 'edit own uw_ct_blog content' + - 'edit own uw_ct_catalog_item content' - 'edit own uw_ct_event content' - 'edit own uw_ct_news_item content' - 'edit own uw_ct_sidebar content' @@ -85,6 +88,7 @@ permissions: - 'make smart dates recur' - 'reschedule smart date recur instances' - 'revert uw_ct_blog revisions' + - 'revert uw_ct_catalog_item revisions' - 'revert uw_ct_event revisions' - 'revert uw_ct_news_item revisions' - 'revert uw_ct_sidebar revisions' @@ -109,6 +113,7 @@ permissions: - 'view own unpublished media' - 'view unpublished paragraphs' - 'view uw_ct_blog revisions' + - 'view uw_ct_catalog_item revisions' - 'view uw_ct_event revisions' - 'view uw_ct_news_item revisions' - 'view uw_ct_sidebar revisions' diff --git a/config/install/user.role.uw_role_content_editor.yml b/config/install/user.role.uw_role_content_editor.yml index 269b69361e42eb29232df67531afb284db7925f4..4ba9b65671738ae78729540f4880c40f6a631664 100644 --- a/config/install/user.role.uw_role_content_editor.yml +++ b/config/install/user.role.uw_role_content_editor.yml @@ -48,6 +48,7 @@ permissions: - 'create terms in uw_vocab_news_tags' - 'create url aliases' - 'create uw_ct_blog content' + - 'create uw_ct_catalog_item content' - 'create uw_ct_event content' - 'create uw_ct_news_item content' - 'create uw_ct_sidebar content' @@ -64,12 +65,14 @@ permissions: - 'delete paragraph content uw_para_facts_and_figures' - 'delete paragraph content uw_para_ff' - 'edit any uw_ct_blog content' + - 'edit any uw_ct_catalog_item content' - 'edit any uw_ct_event content' - 'edit any uw_ct_news_item content' - 'edit any uw_ct_sidebar content' - 'edit any uw_ct_site_footer content' - 'edit any uw_ct_web_page content' - 'edit own uw_ct_blog content' + - 'edit own uw_ct_catalog_item content' - 'edit own uw_ct_event content' - 'edit own uw_ct_news_item content' - 'edit own uw_ct_sidebar content' @@ -86,6 +89,7 @@ permissions: - 'make smart dates recur' - 'reschedule smart date recur instances' - 'revert uw_ct_blog revisions' + - 'revert uw_ct_catalog_item revisions' - 'revert uw_ct_event revisions' - 'revert uw_ct_news_item revisions' - 'revert uw_ct_sidebar revisions' @@ -113,6 +117,7 @@ permissions: - 'view own unpublished media' - 'view unpublished paragraphs' - 'view uw_ct_blog revisions' + - 'view uw_ct_catalog_item revisions' - 'view uw_ct_event revisions' - 'view uw_ct_news_item revisions' - 'view uw_ct_sidebar revisions' diff --git a/config/install/user.role.uw_role_site_manager.yml b/config/install/user.role.uw_role_site_manager.yml index c99b9fcb043fcb2c59e960e76b6c2b30f663eb1b..1b852bf79087f1de2b92942abd15c379bdb1a08b 100644 --- a/config/install/user.role.uw_role_site_manager.yml +++ b/config/install/user.role.uw_role_site_manager.yml @@ -49,6 +49,7 @@ permissions: - 'create terms in uw_vocab_news_tags' - 'create url aliases' - 'create uw_ct_blog content' + - 'create uw_ct_catalog_item content' - 'create uw_ct_event content' - 'create uw_ct_news_item content' - 'create uw_ct_sidebar content' @@ -58,6 +59,7 @@ permissions: - 'delete all revisions' - 'delete any media' - 'delete any uw_ct_blog content' + - 'delete any uw_ct_catalog_item content' - 'delete any uw_ct_event content' - 'delete any uw_ct_news_item content' - 'delete any uw_ct_sidebar content' @@ -66,6 +68,7 @@ permissions: - 'delete any uw_news_item content' - 'delete orphan revisions' - 'delete own uw_ct_blog content' + - 'delete own uw_ct_catalog_item content' - 'delete own uw_ct_event content' - 'delete own uw_ct_news_item content' - 'delete own uw_ct_sidebar content' @@ -89,6 +92,7 @@ permissions: - 'delete terms in uw_vocab_news_tags' - 'delete uw_news_item revisions' - 'edit any uw_ct_blog content' + - 'edit any uw_ct_catalog_item content' - 'edit any uw_ct_event content' - 'edit any uw_ct_news_item content' - 'edit any uw_ct_sidebar content' @@ -96,6 +100,7 @@ permissions: - 'edit any uw_ct_web_page content' - 'edit any uw_news_item content' - 'edit own uw_ct_blog content' + - 'edit own uw_ct_catalog_item content' - 'edit own uw_ct_event content' - 'edit own uw_ct_news_item content' - 'edit own uw_ct_sidebar content' @@ -113,6 +118,7 @@ permissions: - 'reschedule smart date recur instances' - 'revert all revisions' - 'revert uw_ct_blog revisions' + - 'revert uw_ct_catalog_item revisions' - 'revert uw_ct_event revisions' - 'revert uw_ct_news_item revisions' - 'revert uw_ct_sidebar revisions' @@ -141,6 +147,7 @@ permissions: - 'view own unpublished media' - 'view unpublished paragraphs' - 'view uw_ct_blog revisions' + - 'view uw_ct_catalog_item revisions' - 'view uw_ct_event revisions' - 'view uw_ct_news_item revisions' - 'view uw_ct_sidebar revisions' diff --git a/src/UwPermissions/UwPermissions.php b/src/UwPermissions/UwPermissions.php index 7c229a783fa9ca98d18a98095a8b346294912f28..0f84c2d44936065a74034eb0d20aaf3a65fa73d2 100644 --- a/src/UwPermissions/UwPermissions.php +++ b/src/UwPermissions/UwPermissions.php @@ -61,6 +61,17 @@ class UwPermissions { UwPermissions::buildRolePermissionsListTaxonomyTerm('uw_vocab_blog_tags', ['delete']), ], + // Catalog permissions. + 'Catalog' => [ + 'Use content type' => UwPermissions::buildRolePermissionsListContentType('uw_ct_catalog_item'), + 'Create/edit audience' => UwPermissions::buildRolePermissionsListTaxonomyTerm('uw_vocab_audience', ['create', 'edit']), + 'Delete audience' => UwPermissions::buildRolePermissionsListTaxonomyTerm('uw_vocab_audience', ['delete']), + 'Create/edit categories' => UwPermissions::buildRolePermissionsListTaxonomyTerm('uw_vocab_catalog_categories', ['create', 'edit']), + 'Delete categories' => UwPermissions::buildRolePermissionsListTaxonomyTerm('uw_vocab_catalog_categories', ['delete']), + 'Create/edit catalogs' => UwPermissions::buildRolePermissionsListTaxonomyTerm('uw_vocab_catalogs', ['create', 'edit']), + 'Delete catalogs' => UwPermissions::buildRolePermissionsListTaxonomyTerm('uw_vocab_catalogs', ['delete']), + ], + // Event permissions. 'Event' => [ 'Use content type' => UwPermissions::buildRolePermissionsListContentType('uw_ct_event'), diff --git a/uw_cfg_common.install b/uw_cfg_common.install index 22a8f5e07651db13044d3237b5716b2913986253..56f436d81a8942ba3575ec53a3b8c0e9560decd6 100644 --- a/uw_cfg_common.install +++ b/uw_cfg_common.install @@ -27,6 +27,37 @@ function uw_cfg_common_install() { 'Site manager', ], ], + 'Catalog' => [ + 'Use content type' => [ + 'Site manager', + 'Content author', + 'Content editor', + ], + 'Create/edit audience' => [ + 'Site manager', + 'Content author', + 'Content editor', + ], + 'Delete audience' => [ + 'Site manager', + ], + 'Create/edit categories' => [ + 'Site manager', + 'Content author', + 'Content editor', + ], + 'Delete categories' => [ + 'Site manager', + ], + 'Create/edit catalogs' => [ + 'Site manager', + 'Content author', + 'Content editor', + ], + 'Delete catalogs' => [ + 'Site manager', + ], + ], 'Event' => [ 'Use content type' => [ 'Site manager',