Changed member records so the user can't edit the member slug anymore.
authorChuck Scott <cscott@gaslightmedia.com>
Mon, 2 Nov 2015 18:50:31 +0000 (13:50 -0500)
committerChuck Scott <cscott@gaslightmedia.com>
Mon, 2 Nov 2015 18:50:31 +0000 (13:50 -0500)
classes/data/dataMembers.php
models/admin/member/index.php
views/admin/member/index.html

index d1e7739..5f94165 100644 (file)
@@ -150,8 +150,8 @@ class GlmDataMembers extends GlmDataAbstract {
                        'member_slug' => array(
                                'field' => 'member_slug',
                                'type' => 'text',
-                               'required' => true,
-                               'use' => 'a'
+                               'required' => false,
+                               'use' => 'gl'
                        ),
 
                        // Date created
@@ -207,6 +207,35 @@ class GlmDataMembers extends GlmDataAbstract {
 
        }
 
+       /*
+        * Update member slug - should be called after a member record is added or updated
+        *
+        * @param integer id ID of member that needs the slug updated
+        * @access public
+        */
+       public function updateSlug($id = false)
+       {
+
+           if ($id == false) {
+               return false;
+           }
+
+           $m = $this->getEntry($id);
+
+           $slug = sanitize_title($m['name']);
+
+           // Update the city selected for this memberInfo record
+           $sql = "
+            UPDATE ".GLM_MEMBERS_PLUGIN_DB_PREFIX."members
+                    SET member_slug = '$slug'
+                    WHERE id = $id
+                ;";
+           $this->wpdb->query($sql);
+
+           return $slug;
+
+       }
+
        /*
         * Get a simple members list - Name and ID only
         *
index 30b7c88..7b3855b 100644 (file)
@@ -147,6 +147,9 @@ class GlmMembersAdmin_member_index extends GlmDataMembers
                     $memberID = $memberData['fieldData']['id'];
                     $haveMember = true;
 
+                    // Update the member slug then get member data again
+                    $this->updateSlug($memberID);
+
                     // Go directly to the member information entry page
                     return array(
                         'status' => true,
@@ -165,7 +168,6 @@ class GlmMembersAdmin_member_index extends GlmDataMembers
                     glmMembersAdmin::addNotice($memberData, 'DataBlock', 'Member Data');
                 }
 
-
             // Otherwise setup to get new mmember data
             } else {
 
@@ -194,6 +196,8 @@ class GlmMembersAdmin_member_index extends GlmDataMembers
             // If update was successful then use editEntry() to setup for the edit again.
             if ($memberData['status']) {
 
+                $slug = $this->updateSlug($memberID);
+
                 $memberData = $this->editEntry($memberID);
                 $updated = true;
 
index acdd205..c9ff480 100644 (file)
                 </td>
             </tr>
             
-            
+      {if $haveMember}
             <tr>
-                <th {if $member.fieldRequired.member_slug}class="glm-required"{/if}>Name for URLs:</th>
-                <td {if $member.fieldFail.member_slug}class="glm-form-bad-input"{/if}>
-                    <input type="text" name="member_slug" value="{$member.fieldData.member_slug}" class="glm-form-text-input" placeholder="Slug of member name used for URLs.">
-                    {if $member.fieldFail.member_slug}<p>{$member.fieldFail.member_slug}</p>{/if}
+                <th>Name for URLs:</th>
+                <td>
+                    {$member.fieldData.member_slug}
                 </td>
             </tr>
-            
+      {/if}
             
             <tr>
                 <th {if $member.fieldRequired.access}class="glm-required"{/if}>Member Display & Access:</th>