From 14b35b0a766bed8a9e4660210b039352bd424546 Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Thu, 13 Oct 2016 16:12:41 -0400 Subject: [PATCH] Updated permissions to use new glmMembersUserCan() function. --- setup/permissions.php | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/setup/permissions.php b/setup/permissions.php index 346c44e..f42372d 100644 --- a/setup/permissions.php +++ b/setup/permissions.php @@ -39,53 +39,61 @@ * to permit the action. * * Of course any of these may test more than one capability if that's desired. + * + * Since we have capabilities that only exist if a particular add-on (such as Contacts) + * has been loaded and activated, it can be helpful to be able to test for a capability + * for the current user and permit some action if that capability doesn't exist. The + * main plugin therefore provides the following globally accessible function that will + * return true if the capability doesn't exist, otherwise it respects the capability. + * + * glmMembersUserCan('glm_members_edit_any_member', $permit); + * + * $permit is a boolean set before this function call for passing on permissions. */ // glm-member-db, view/members/index.html, Display Multi-Member (CVB) Packages tab add_filter('glm_members_permit_admin_members_packages_tab', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_view_any_member'); + return glmMembersUserCan('glm_members_view_any_member', $permit); } ); // glm-member-db, view/members/packaging.html, Add a Multi-Member (CVB) Package add_filter('glm_members_permit_admin_members_packaging_add_package', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit); } ); // glm-member-db, view/member/packaging.html, Edit a Multi-Member (CVB) Package add_filter('glm_members_permit_admin_members_packaging_edit_package', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member') || current_user_can('glm_members_edit_my_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit) || + glmMembersUserCan('glm_members_edit_my_member', $permit); } ); // glm-member-db, view/member/index.html, Display Member Packages tab add_filter('glm_members_permit_admin_member_packages_tab', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_view_any_member') || current_user_can('glm_members_view_my_member'); + return glmMembersUserCan('glm_members_view_any_member', $permit) || + glmMembersUserCan('glm_members_view_my_member', $permit); } ); // glm-member-db, view/member/packaging.html, View a Member Package add_filter('glm_members_permit_admin_member_packaging_add_package', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member') || current_user_can('glm_members_edit_my_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit) || + glmMembersUserCan('glm_members_edit_my_member', $permit); } ); // glm-member-db, view/member/contacts.html, Edit a Member Package add_filter('glm_members_permit_admin_member_packaging_edit_package', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member') || current_user_can('glm_members_edit_my_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit) || + glmMembersUserCan('glm_members_edit_my_member', $permit); } ); -- 2.17.1