From 9292e301262b53b7be5789011b5ca309a81aad80 Mon Sep 17 00:00:00 2001 From: Timi Wahalahti Date: Wed, 20 Sep 2023 20:28:33 +0300 Subject: [PATCH] Require the `wrangle_*` permission to manually create events Normally they're created dynamically through application forms, but occasionally Program Managers need to manually create one. --- .../plugins/wcpt/wcpt-meetup/meetup-loader.php | 13 +++++++++++++ .../plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/public_html/wp-content/plugins/wcpt/wcpt-meetup/meetup-loader.php b/public_html/wp-content/plugins/wcpt/wcpt-meetup/meetup-loader.php index 79a4a6e2d..5bd423498 100644 --- a/public_html/wp-content/plugins/wcpt/wcpt-meetup/meetup-loader.php +++ b/public_html/wp-content/plugins/wcpt/wcpt-meetup/meetup-loader.php @@ -152,6 +152,19 @@ public function register_post_types() { 'show_ui' => true, 'can_export' => true, 'capability_type' => Meetup_Application::POST_TYPE, + 'capabilities' => array( + // `read` and `edit_posts` are intentionally allowed, so organizers can edit their own posts (but not others'). + 'create_posts' => 'wordcamp_wrangle_meetups', + 'delete_posts' => 'wordcamp_wrangle_meetups', + 'delete_others_posts' => 'wordcamp_wrangle_meetups', + 'delete_private_posts' => 'wordcamp_wrangle_meetups', + 'delete_published_posts' => 'wordcamp_wrangle_meetups', + 'edit_others_posts' => 'wordcamp_wrangle_meetups', + 'edit_private_posts' => 'wordcamp_wrangle_meetups', + 'edit_published_posts' => 'wordcamp_wrangle_meetups', + 'publish_posts' => 'wordcamp_wrangle_meetups', + 'read_private_posts' => 'wordcamp_wrangle_meetups', + ), 'map_meta_cap' => true, 'hierarchical' => false, 'has_archive' => false, diff --git a/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php b/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php index 40300ec29..af580bbf1 100644 --- a/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php +++ b/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php @@ -100,6 +100,19 @@ function register_post_types() { 'show_ui' => true, 'can_export' => true, 'capability_type' => WCPT_POST_TYPE_ID, + 'capabilities' => array( + // `read` and `edit_posts` are intentionally allowed, so organizers can edit their own posts (but not others'). + 'create_posts' => 'wordcamp_wrangle_wordcamps', + 'delete_posts' => 'wordcamp_wrangle_wordcamps', + 'delete_others_posts' => 'wordcamp_wrangle_wordcamps', + 'delete_private_posts' => 'wordcamp_wrangle_wordcamps', + 'delete_published_posts' => 'wordcamp_wrangle_wordcamps', + 'edit_others_posts' => 'wordcamp_wrangle_wordcamps', + 'edit_private_posts' => 'wordcamp_wrangle_wordcamps', + 'edit_published_posts' => 'wordcamp_wrangle_wordcamps', + 'publish_posts' => 'wordcamp_wrangle_wordcamps', + 'read_private_posts' => 'wordcamp_wrangle_wordcamps', + ), 'map_meta_cap' => true, 'hierarchical' => false, 'has_archive' => true,