Update options for picklist
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 26 Jul 2018 13:29:29 +0000 (09:29 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 26 Jul 2018 13:29:29 +0000 (09:29 -0400)
Use the option_text field.

models/admin/management/fields.php
views/admin/entity/fields.html
views/admin/management/fields.html

index 8a6e9ef..8b8413a 100644 (file)
@@ -177,25 +177,27 @@ class GlmMembersAdmin_management_fields extends GlmDataFieldsCustomFields
                 $id             = filter_var( $_REQUEST['id'], FILTER_VALIDATE_INT );
                 $field_id       = filter_var( $_REQUEST['field_id'], FILTER_VALIDATE_INT );
                 $option_text    = filter_var( $_REQUEST['option_text'] );
+                $option_value   = filter_var( $_REQUEST['option_value'] );
                 // $option_default = filter_var( $_REQUEST['option_default'], FILTER_VALIDATE_BOOLEAN );
                 if ( $field_id ) {
                     $option_data = array(
                         'field_id'       => $field_id,
                         'option_text'    => $option_text,
+                        'option_value'   => $option_value,
                     );
                     if ( $id ) {
                         $this->wpdb->update(
                             GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . 'custom_field_options',
                             $option_data,
                             array( 'id' => $id ),
-                            array( '%d', '%s' ),
+                            array( '%d', '%s', '%s' ),
                             array( '%d' )
                         );
                     } else {
                         $this->wpdb->insert(
                             GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . 'custom_field_options',
                             $option_data,
-                            array( '%d', '%s' )
+                            array( '%d', '%s', '%s' )
                         );
                         $id = $this->wpdb->insert_id;
                     }
index 9e11ed8..a86417e 100644 (file)
@@ -43,8 +43,8 @@
                             <select name="{$prefix}[{$field.id}]">
                                 <option value=""></option>
                                 {foreach $field.options as $option}
-                                    <option value="{$option.option_text|escape:'html'}"
-                                        {if (isset($customFieldsData[$field.id]) && $customFieldsData[$field.id] == $option.option_text) || $option.option_default}
+                                    <option value="{$option.option_value|escape:'html'}"
+                                        {if (isset($customFieldsData[$field.id]) && $customFieldsData[$field.id] == $option.option_value) || $option.option_default}
                                             selected
                                         {/if}>{$option.option_text}</option>
                                 {/foreach}
index 98d7338..e3b3d07 100644 (file)
                 <th class="glm-required">Option Name:</th>
                 <td><input id="optionName" type="text" name="option_text" class="glm-form-text-input" required></td>
             </tr>
+            <tr>
+                <th class="glm-required">Option Text:</th>
+                <td><input id="optionValue" type="text" name="option_value" class="glm-form-text-input" required></td>
+            </tr>
         </table>
 
         <a id="cfOptionCancel" class="button button-primary glm-right">Cancel</a>
                                                     <thead>
                                                         <tr style="background-color: #ddd;">
                                                             <th style="text-align: left;"> Option Name </th>
+                                                            <th style="text-align: left;"> Option Text </th>
                                                             <th width="10%">
                                                                 <div class="fieldoption button button-secondary glm-button-small" data-field-id="{$field.id}"> Add Option </div>
                                                             </th>
                                                     {if $field.options && !empty($field.options)}
                                                         {foreach $field.options as $option}
                                                             <tr>
+                                                                <td style="text-align: left;"> {$option.option_value} </td>
                                                                 <td style="text-align: left;"> {$option.option_text} </td>
                                                                 <td width="10%">
                                                                     <div class="deleteOptionButton button button-secondary glm-button-small"
                                                                         data-id="{$option.id}"
                                                                         data-field-id="{$option.field_id}"
                                                                         data-option-name="{$option.option_text|escape:'html'}"
+                                                                        data-option-value="{$option.option_value|escape:'html'}"
                                                                     >Edit</div>
                                                                 </td>
                                                             </tr>
@@ -441,9 +448,11 @@ jQuery(document).ready(function($) {
         var f_id             = $('#optionId');
         var f_field_id       = $('#fieldId');
         var f_option_name    = $('#optionName');
+        var f_option_value   = $('#optionValue');
         f_id.val('');
         f_field_id.val('');
         f_option_name.val('');
+        f_option_value.val('');
 
         // if there's a data id attr
         var optionId = $(this).attr('data-id');
@@ -455,6 +464,7 @@ jQuery(document).ready(function($) {
             f_id.val( $(this).attr('data-id') );
             f_field_id.val( $(this).attr('data-field-id') );
             f_option_name.val( $(this).attr('data-option-name') );
+            f_option_value.val( $(this).attr('data-option-value') );
         }
 
         $('#cfOptionDialog').dialog('open');