If the logged in user is member manager then allow adding to any member.
authorSteve Sutton <steve@gaslightmedia.com>
Mon, 24 Oct 2016 18:11:19 +0000 (14:11 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Mon, 24 Oct 2016 18:11:19 +0000 (14:11 -0400)
Add event form is now working for member contact and member manager to
add event from the front end event form.

models/front/events/frontAdd.php
views/front/events/frontAdd.html

index a08cde5..2db1e04 100644 (file)
@@ -118,16 +118,18 @@ class GLmMembersFront_events_frontAdd extends GlmDataEvents
         $status         = false;
         $memberOnly     = false;
         $memberContact  = false;
-
-        echo '<br style="clear: right;">';
-        echo '<pre>$actionData: ' . print_r( $actionData, true ) . '</pre>';
+        $memberManager  = false;
+        $members        = false;
 
         if ( isset( $actionData['request']['member_only'] )
             && $memberOnly = filter_var( $actionData['request']['member_only'], FILTER_VALIDATE_BOOLEAN ) ) {
 
             $config        = apply_filters( 'glm_associate_config', '' );
             $memberContact = ( isset( $config['loggedInUser']['contactUser'] ) ) ? $config['loggedInUser']['contactUser']: null;
-            echo '<pre>$memberContact: ' . print_r( $memberContact, true ) . '</pre>';
+            if ( current_user_can( 'glm_members_members' ) ) {
+                $memberManager = true;
+                $members = apply_filters( 'member_names_and_ids', '' );
+            }
         }
 
         if( ! wp_script_is( 'jquery-ui', 'enqueued' ) ){
@@ -386,6 +388,12 @@ class GLmMembersFront_events_frontAdd extends GlmDataEvents
                     $eventDataFormat[] = '%d';
                     $eventDataFormat[] = '%d';
                 }
+                if ( $memberOnly && $ref_dest = filter_var( $_REQUEST['ref_dest'], FILTER_VALIDATE_INT ) ) {
+                    $eventData['ref_type'] = 10;
+                    $eventData['ref_dest'] = $ref_dest;
+                    $eventDataFormat[] = '%d';
+                    $eventDataFormat[] = '%d';
+                }
                 $this->wpdb->insert(
                     GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events',
                     $eventData,
@@ -553,12 +561,14 @@ class GLmMembersFront_events_frontAdd extends GlmDataEvents
             : ( $this->config['settings']['event_default_state'] ) ? $this->config['settings']['event_default_state']: 'MI';
         // Compile template data
         $templateData = array(
+            'members'       => $members,
+            'memberManager' => $memberManager,
             'memberOnly'    => $memberOnly,
             'memberContact' => $memberContact,
             'states'        => $this->config['states'],
             'state_def'     => $default_state,
             'siteBaseUrl'   => GLM_MEMBERS_EVENTS_SITE_BASE_URL,
-            'currentUrl'    => $_SERVER['HTTP_REFERER'],
+            'currentUrl'    => ((isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''),
             'categories'    => $eventCategories,
             'fromDate'      => $fromDate,
             'event'         => $newEvent,
index a7e5e65..4effe9e 100644 (file)
             <td>Real Email</td>
             <td><input type="text" name="real_email"></td>
         </tr>
+        {if $memberManager}
+        <tr>
+            <td> Member </td>
+            <td>
+                <select name="ref_dest">
+                    <option value="0">Choose Member</option>
+                    {foreach $members as $m}
+                    <option value="{$m.id}">{$m.name}</option>
+                    {/foreach}
+                </select>
+            </td>
+        </tr>
+        {/if}
         <tr>
             <th style="color: red;">Event Name: </th>
             <td>