BugFix: for add member with same name as another member.
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 22 Jun 2018 19:14:49 +0000 (15:14 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 22 Jun 2018 19:14:49 +0000 (15:14 -0400)
Add member page now gives the error message when you try to add member
with the same name as another member.

models/admin/member/memberEdit.php
views/admin/member/memberEdit.html

index 922e049..8e99123 100644 (file)
@@ -106,16 +106,17 @@ class GlmMembersAdmin_member_memberEdit extends GlmDataMembers
     public function modelAction ($actionData = false)
     {
 
-        $success = true;
-        $option = false;
-        $haveMemberTypes = false;
-        $this->memberID = false;
-        $memberUpdated = false;
+        $success           = true;
+        $option            = false;
+        $haveMemberTypes   = false;
+        $this->memberID    = false;
+        $memberUpdated     = false;
         $memberUpdateError = false;
-        $memberData = false;
-        $haveMember = false;
-        $memberName = false;
-        $addingMember = false;
+        $memberAddingError = false;
+        $memberData        = false;
+        $haveMember        = false;
+        $memberName        = false;
+        $addingMember      = false;
 
         // Check for action option - Should be one of the values in the "switch" statement below
         $option = false;
@@ -172,11 +173,11 @@ class GlmMembersAdmin_member_memberEdit extends GlmDataMembers
         if ($this->memberID <= 0 && $option != 'add' && $option != 'addNew') {
 
             return array(
-                    'status' => true,
+                    'status'           => true,
                     'menuItemRedirect' => 'error',
-                    'modelRedirect' => 'index',
-                    'view' => 'admin/error/index.html',
-                    'data' => false
+                    'modelRedirect'    => 'index',
+                    'view'             => 'admin/error/index.html',
+                    'data'             => false
             );
 
         }
@@ -220,6 +221,7 @@ class GlmMembersAdmin_member_memberEdit extends GlmDataMembers
 
                 } else {
                     $memberUpdateError = true;
+                    $memberAddingError = true;
                 }
 
                 $haveMember = true;
@@ -234,7 +236,7 @@ class GlmMembersAdmin_member_memberEdit extends GlmDataMembers
                 $memberData = $this->insertEntry();
 
                 // If update was successful then use editEntry() to setup for the edit again.
-                if ($memberData['status']) {
+                if ( $memberData['status'] ) {
 
                     $this->memberID = $memberData['fieldData']['id'];
 
@@ -242,24 +244,26 @@ class GlmMembersAdmin_member_memberEdit extends GlmDataMembers
                     $slug = $this->updateSlug( $this->memberID );
 
                     // Set this member as the current one
-                    setcookie("glmMembersDatabaseMemberID", $this->memberID, time()+86400);
+                    setcookie( "glmMembersDatabaseMemberID", $this->memberID, time()+86400 );
                     $_COOKIE['glmMembersDatabaseMemberID'] = $this->memberID;
 
+                    // Clear the shortcode cache
+                    glmClearShortcodeCache();
+
                     // Redirect to the Member Dashboard where it will pick up on this member
                     return array(
-                        'status' => $success,
+                        'status'           => $success,
                         'menuItemRedirect' => 'member',
-                        'modelRedirect' => 'index',
-                        'view' => 'admin/member/memberEdit.html',
-                        'data' => array()
+                        'modelRedirect'    => 'index',
+                        'view'             => 'admin/member/memberEdit.html',
+                        'data'             => array()
                     );
 
                 } else {
-                    $memberUpdateError = true;
+                    $memberAddingError = true;
+                    $addingMember      = true;
                 }
 
-                glmClearShortcodeCache();
-
                 break;
 
                 // Delete this member
@@ -286,24 +290,25 @@ class GlmMembersAdmin_member_memberEdit extends GlmDataMembers
 
         // Compile template data
         $templateData = array(
-            'success' => $success,
-            'haveMemberTypes' => $haveMemberTypes,
-            'memberID' => $this->memberID,
-            'haveMember' => $haveMember,
-            'member' => $memberData,
-            'memberName' => $memberName,
-            'addingMember' => $addingMember,
-            'memberUpdated' => $memberUpdated,
-            'memberUpdateError' => $memberUpdateError
+            'success'           => $success,
+            'haveMemberTypes'   => $haveMemberTypes,
+            'memberID'          => $this->memberID,
+            'haveMember'        => $haveMember,
+            'member'            => $memberData,
+            'memberName'        => $memberName,
+            'addingMember'      => $addingMember,
+            'memberUpdated'     => $memberUpdated,
+            'memberUpdateError' => $memberUpdateError,
+            'memberAddingError' => $memberAddingError,
         );
 
         // Return status, suggested view, and data to controller
         return array(
-            'status' => $success,
+            'status'           => $success,
             'menuItemRedirect' => false,
-            'modelRedirect' => false,
-            'view' => 'admin/member/memberEdit.html',
-            'data' => $templateData
+            'modelRedirect'    => false,
+            'view'             => 'admin/member/memberEdit.html',
+            'data'             => $templateData
         );
 
     }
index bb06ac6..0569f36 100644 (file)
@@ -12,6 +12,7 @@
   {/if}
         {if $memberUpdated}<span class="glm-notice glm-flash-updated glm-right">{$terms.term_member_cap} Updated</span>{/if}
         {if $memberUpdateError}<span class="glm-error glm-flash-updated glm-right">{$terms.term_member_cap} Update Error</span>{/if}
+        {if $memberAddingError}<span class="glm-error glm-flash-updated glm-right">{$terms.term_member_cap} Add Error</span>{/if}
     </h2>
     <div class="glm-admin-table glm-admin-table-inner">
     {if apply_filters('glm_members_permit_admin_member_index_edit_member', true)}
@@ -33,7 +34,7 @@
                   <h4 {if $member.fieldRequired.name}class="glm-required"{/if}>{$terms.term_member_cap} Name:</h4>
                   <td {if $member.fieldFail.name}class="glm-form-bad-input glm-form-bad-input-general"{/if}>
                       <input type="text" name="name" value="{$member.fieldData.name}" class="glm-form-text-input-medium">
-                      {if $member.fieldFail.name}<p>{$member.fieldFail.name}</p>{/if}
+                      {if $member.fieldFail.name}<p class="glm-error">{$member.fieldFail.name}</p>{/if}
                   </td>
               </div>
 
@@ -83,7 +84,7 @@
                       <textarea name="notes" class="glm-form-textarea">{$member.fieldData.notes}</textarea>
                       {if $member.fieldFail.notes}<p>{$member.fieldFail.notes}</p>{/if}<br>
                       This "Notes" field is not displayed anywhere else. It is strictly for making and keeping
-                      notes related to this {$terms.term_member} profile. 
+                      notes related to this {$terms.term_member} profile.
                   </td>
               </div>
           </div>
@@ -96,7 +97,7 @@
       </form>
     {/if}
 
-   {else}        
+   {else}
       <h3 class="glm-error">You do not have any {$terms.term_member_cap} Types setup.</h3>
       <p>You must have at least one {$terms.term_member_cap} Type to add a new {$terms.term_member}.</p>
       <td><a href="{$thisUrl}?page=glm-members-admin-menu-settings&glm_action=index">Click here to add {$terms.term_member_cap} Types.</a></td>
 </div>
 
     <script type="text/javascript">
-        jQuery(document).ready(function($) {            
+        jQuery(document).ready(function($) {
 
-            // Flash certain elements for a short time after display      
+            // Flash certain elements for a short time after display
             $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
 
             /*
             var glmSubmitRequired = false;
             $('input, textarea, select').on( 'change', function() {
                 glmPageUpdateRequired();
-            }); 
-            
+            });
+
             /*
              * Checks for leaving the page
              */
-             
+
             // Flag submit button when updates are required.
             function glmPageUpdateRequired() {
                 $('#updateMember').addClass('glm-bad-input-area');
                 glmSubmitRequired = false;
                 return true;
             });
-            
+
             // If submit is required and we're laving the page, alert the user
             $(window).bind('beforeunload', function() {
                 if (glmSubmitRequired) {
                     return true;
                 }
             });
-            
+
 
         });
     </script>
 
-    
 {include file='admin/footer.html'}