Updated permissions to use new glmMembersUserCan() function and fixed other permissio...
authorChuck Scott <cscott@gaslightmedia.com>
Thu, 13 Oct 2016 20:12:01 +0000 (16:12 -0400)
committerChuck Scott <cscott@gaslightmedia.com>
Thu, 13 Oct 2016 20:12:01 +0000 (16:12 -0400)
setup/adminMenus.php
setup/permissions.php
views/admin/events/index.html

index 87a1137..060c278 100644 (file)
@@ -89,7 +89,7 @@ add_submenu_page(
 );
 
 // If a contact is logged in (ownEntity isn't false), add Contact Profile menu item
-if ($this->config['loggedInUser']['contactUser']) {
+if (isset($this->config['loggedInUser']) && isset($this->config['loggedInUser']['contactUser']) && $this->config['loggedInUser']['contactUser']) {
 
     add_submenu_page(
         $mainMenuSlug,
index ca66d0d..a0987d2 100644 (file)
  * 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.
  */
 
 // Logged in all members manager user may edit an event for all members
 add_filter('glm_members_permit_admin_members_event',
     function($permit) {
-        if (!$permit) { return false; }
-        return current_user_can('glm_members_edit_any_member');
+        return glmMembersUserCan('glm_members_edit_any_member', $permit);
     }
 );
 
 // Logged in member user may edit an event only for their own entity
 add_filter('glm_members_permit_admin_member_event',
     function($permit) {
-        if (!$permit) { return false; }
-        return current_user_can('glm_members_edit_my_member');
+        return glmMembersUserCan('glm_members_edit_my_member', $permit);
     }
 );
index b2b03cb..167eebc 100644 (file)
@@ -25,7 +25,7 @@
         <tr><td colspan="2">&nbsp;</td></tr>
         <tr>
            <th> <span class="glm-error">You do not have any events listed.</span></th>
-            <td><a href="{$thisUrl}?page=glm-members-admin-menu-events&glm_action=eventEdit&option=add">Click here to create your first event.</a></td>
+            <td><a href="{$thisUrl}?page={$thisPage}&glm_action=list&option=add">Click here to create your first event.</a></td>
         </tr>
 {/if}                
     </table>