Setup the event form for venue location.
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 2 Nov 2016 20:34:02 +0000 (16:34 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 2 Nov 2016 20:34:02 +0000 (16:34 -0400)
If other_ref_dest is set it will hide the location.

classes/data/dataEvents.php
views/admin/events/edit.html
views/admin/events/editLocation.html

index 145811b..4f7f27a 100644 (file)
@@ -400,6 +400,17 @@ class GlmDataEvents extends GlmDataAbstract
                 'use' => 'a'
             ),
 
+            // Other Member Ref for Location
+            'other_ref_dest' => array(
+                'field' => 'other_ref_dest',
+                'type' => 'pointer',
+                    'p_table' => GLM_MEMBERS_PLUGIN_DB_PREFIX . 'members',
+                    'p_field' => 'name',
+                    'p_orderby' => 'name',
+                    'p_blank' => true,
+                'use' => 'a'
+            ),
+
             // Admin Reference Type
             'admin_ref_type' => array (
                 'field' => 'admin_ref_type',
index 34184e2..4a7cf3d 100644 (file)
 
                     // Check Use Member Location checkbox
                     memberID = $('#memberSelect').val();
+                    otherMemberID = $('#useOtherRefDest').val();
                     if (memberID == '') {
 
                         // No member selected - Clear checkbox, Dissable checkbox, Show location
                         $('#useMemberLocationCheckbox').prop('disabled', true);
                         $('#useMemberMessage').addClass('glm-hidden');
                         $('#notUseMemberMessage').removeClass('glm-hidden');
-                        $('#locationContainer').removeClass('glm-hidden');
+                        if ( otherMemberID == '' ) {
+                            $('#locationContainer').removeClass('glm-hidden');
+                        }
 
                     } else {
 
                 }
             });
 
+            // Hide location if other_ref_dest is set
+            $('#useOtherRefDest').on('change', function(){
+                if ($(this).val()) {
+                    $('#locationContainer').addClass('glm-hidden');
+                } else {
+                    $('#locationContainer').removeClass('glm-hidden');
+                    initLocations();
+                }
+            });
+
             // Display number of characters remaining in limited field
             function glmCharsRemaining(f) {
                 var maxChar = f.attr('maxlength');
index f0b7a05..fd9336d 100644 (file)
                     <td>
                         <input id="useMemberLocationCheckbox" type="checkbox" name="use_member_location" {if $event.fieldData.use_member_location.value} checked{/if}>
                         <span id="useMemberMessage">Uses location data from the selected {$terms.term_member} rather than location data from here.</span>
-                        <span id="notUseMemberMessage" class="glm-hidden">(To use {$terms.term_member} information instead of this location data, select a {$terms.term_member} for the event in the "Event Desription" tab.)</span>
+                        <span id="notUseMemberMessage" class="glm-hidden">(To use {$terms.term_member} information instead of this location data, select a {$terms.term_member} for the event in the "Event Description" tab.)</span>
                     </td>
                 </tr>
+                {if $settings.use_venue_locations}
+                <tr>
+                    <th>Venue</th>
+                    <td>
+                        <select id="useOtherRefDest" name="other_ref_dest">
+                            {foreach $event.fieldData.other_ref_dest.list as $v}
+                                <option value="{$v.value}"{if $v.default} selected{/if}>{$v.name}</option>
+                            {/foreach}
+                        </select>
+                    </td>
+                </tr>
+                {/if}
             </table>
         </td>
     </tr>
 
-    <tr id="locationContainer" {if $event.fieldData.use_member_location.value}class="glm-hidden"{/if}>
+    <tr id="locationContainer" {if $event.fieldData.use_member_location.value || $event.fieldData.other_ref_dest.value}class="glm-hidden"{/if}>
         <td>
             <table id="locationTable" width="100%">
                 <!-- Location forms go here. -->