Change billing_city to select list.
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 3 Aug 2018 12:51:08 +0000 (08:51 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 3 Aug 2018 12:51:08 +0000 (08:51 -0400)
Using the list of cities from main plugin.

models/admin/billing/contact.php
views/admin/billing/contact.html

index 9eaf5cf..6078ad3 100644 (file)
@@ -125,10 +125,19 @@ class GlmMembersAdmin_billing_contact extends GlmDataAccounts
             $account = $this->newEntry();
         }
 
+        // Get list of Cities
+        $cities = $this->wpdb->get_results(
+            "SELECT id,name
+               FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "cities
+            ORDER BY name",
+            ARRAY_A
+        );
+
         $templateData = array(
             'option'     => $option,
             'account_id' => $this->account_id,
             'account'    => $account,
+            'cities'     => $cities,
         );
 
         // Return status, any suggested view, and any data to controller
index 270a343..3ea9058 100644 (file)
         <tr>
             <th class="{if $account.fieldRequired.billing_city} glm-required{/if}">Billing City</th>
             <td class="{if $account.fieldFail.billing_city} glm-form-bad-input{/if}" data-tabid="glm-billing-city">
-                <input type="text" name="billing_city" value="{$account.fieldData.billing_city}" class="glm-form-text-input-medium"{if $account.fieldRequired.billing_city} required{/if}>
+                <select name="billing_city"{if $account.fieldRequired.billing_city} required{/if}>
+                    <option value=""></option>
+                {foreach $cities as $city}
+                    <option value="{$city.name}"{if $city.name == $account.fieldData.billing_city} selected{/if}>{$city.name}</option>
+                {/foreach}
+                </select>
             {if $account.fieldFail.billing_city}<p>{$account.fieldFail.billing_city}</p>{/if}<br>
             </td>
         </tr>
@@ -196,7 +201,7 @@ jQuery(document).ready(function($){
             setFieldRequired( 'billing_fname', 'input' );
             setFieldRequired( 'billing_lname', 'input' );
             setFieldRequired( 'billing_addr1', 'input' );
-            setFieldRequired( 'billing_city', 'input' );
+            setFieldRequired( 'billing_city', 'select' );
             setFieldRequired( 'billing_state', 'select' );
             setFieldRequired( 'billing_zip', 'input' );
             enableBillingForm();
@@ -205,7 +210,7 @@ jQuery(document).ready(function($){
             setFieldUnRequired( 'billing_fname', 'input' );
             setFieldUnRequired( 'billing_lname', 'input' );
             setFieldUnRequired( 'billing_addr1', 'input' );
-            setFieldUnRequired( 'billing_city', 'input' );
+            setFieldUnRequired( 'billing_city', 'select' );
             setFieldUnRequired( 'billing_state', 'select' );
             setFieldUnRequired( 'billing_zip', 'input' );
             disableBillingForm();
@@ -238,7 +243,7 @@ jQuery(document).ready(function($){
         $('input[name=billing_lname]').prop('disabled', true);
         $('input[name=billing_addr1]').prop('disabled', true);
         $('input[name=billing_addr2]').prop('disabled', true);
-        $('input[name=billing_city]').prop('disabled', true);
+        $('select[name=billing_city]').prop('disabled', true);
         $('select[name=billing_state]').prop('disabled', true);
         $('input[name=billing_zip]').prop('disabled', true);
         $('input[name=billing_country]').prop('disabled', true);
@@ -256,7 +261,7 @@ jQuery(document).ready(function($){
         $('input[name=billing_lname]').prop('disabled', false);
         $('input[name=billing_addr1]').prop('disabled', false);
         $('input[name=billing_addr2]').prop('disabled', false);
-        $('input[name=billing_city]').prop('disabled', false);
+        $('select[name=billing_city]').prop('disabled', false);
         $('select[name=billing_state]').prop('disabled', false);
         $('input[name=billing_zip]').prop('disabled', false);
         $('input[name=billing_country]').prop('disabled', false);