Update when the cloning is done.
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 13 Sep 2018 15:22:21 +0000 (11:22 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 13 Sep 2018 15:22:21 +0000 (11:22 -0400)
Should be done only when requesting update.

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

index af97583..691a165 100644 (file)
@@ -279,13 +279,35 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo
         // Determine if the current member info record active?
         $this->isActive = $this->isActive();
 
+
+        // Debug stuff
+        // echo '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
+        // echo '<pre>$this->memberInfoID: ' . print_r( $this->memberInfoID, true ) . '</pre>';
+
         // If the current record is active and the member editing is moderated.
-        // Then we need to clone the active record instead of editing it.
-        if ( $this->isActive && $lockedToMember && apply_filters( 'glm_user_is_moderated', $lockedToMember ) ) {
-            $option    = 'clone';
+        // Then we need to clone the record and update the clone with the pending data.
+        if (   $this->isActive && $lockedToMember
+            && apply_filters( 'glm_user_is_moderated', $lockedToMember )
+            && $option == 'submit'
+        ) {
+            // If there's a request to update and the member is locked to member
+            // We need to create the clone (Pending)
             $cloneType = 'PENDING';
+            // Load Member Info Clone Class
+            $CloneMemberInfo = new GlmMemberInfoClone($this->wpdb, $this->config);
+
+            $oldId = $this->memberInfoID;
+            // Clone the current member info
+            $this->memberInfoID = $CloneMemberInfo->cloneMemberInfo( $this->memberInfoID, $cloneType );
+
+            do_action( 'glm-member-db-clone-custom-fields', $oldId, $this->memberInfoID );
+            $_REQUEST['status'] = 20;
         }
 
+        // Debug stuff
+        // echo '<pre>$this->memberInfoID: ' . print_r( $this->memberInfoID, true ) . '</pre>';
+        // exit;
+
         // Get member base data
         $Members = new GlmDataMembers($this->wpdb, $this->config);
         $this->memberData = $Members->getEntry($this->memberID);
@@ -340,7 +362,10 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo
                 // Used after verifying data was saved
                 $old_entry  = $this->getEntry( $this->memberInfoID );
                 $old_status = $old_entry['status']['value'];
+                // echo '<pre>$old_status: ' . print_r( $old_status, true ) . '</pre>';
                 $new_status = isset( $_REQUEST['status'] ) ? $_REQUEST['status'] : null;
+                // echo '<pre>$new_status: ' . print_r( $new_status, true ) . '</pre>';
+                // exit;
 
                 // Check for new cities being submitted
                 $this->checkNewCities();
index 0e073d3..d36c33d 100644 (file)
                 value="Request Update">
         {* Else they can edit normally *}
         {else}
-            <input class="updateMemberProfile button-primary glm-right" type="submit" value="{if $memberInfoID && $memberInfo}Update {$terms.term_member} profile{else}Add new {$terms.term_member} profile{/if}">
+            {if $memberInfo.fieldData.status.value == '30'}
+                <input class="updateMemberProfile button-primary glm-right" type="submit" value="{if $memberInfoID && $memberInfo}Approve {$terms.term_member} profile{else}Add new {$terms.term_member} profile{/if}">
+            {else}
+                <input class="updateMemberProfile button-primary glm-right" type="submit" value="{if $memberInfoID && $memberInfo}Update {$terms.term_member} profile{else}Add new {$terms.term_member} profile{/if}">
+            {/if}
         {/if}
         <br>
         <br>