From: Steve Sutton Date: Fri, 22 Jun 2018 13:05:04 +0000 (-0400) Subject: Update to edit active process for moderated members. X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=5625829b0ed963097f89651ac2001245a9a7b2ad;p=WP-Plugins%2Fglm-member-db.git Update to edit active process for moderated members. Moderated members should not be allowed to edit the active record. Cloning the record for them to edit. --- diff --git a/classes/glmMemberInfoClone.php b/classes/glmMemberInfoClone.php index e630e7b9..e88c2494 100644 --- a/classes/glmMemberInfoClone.php +++ b/classes/glmMemberInfoClone.php @@ -70,7 +70,7 @@ class GlmMemberInfoClone * @return void * @access public */ - public function cloneMemberInfo($id) + public function cloneMemberInfo( $id, $cloneType = 'CLONED' ) { // Load Member Info Data Class and get info data for later use @@ -89,7 +89,7 @@ class GlmMemberInfoClone // Update create and update times to now and set info record to pending $t = date('Y-m-d H:i:s', time()); - $newReferenceName = "CLONED - ".$memberInfo['reference_name']; + $newReferenceName = $cloneType . " - ".$memberInfo['reference_name']; $sql = " UPDATE ".$MemberInfo->table." SET create_time = '$t', modify_time = '$t', status = ".$this->config['status_numb']['Pending'].", reference_name = '".addslashes($newReferenceName)."' diff --git a/models/admin/member/memberInfo.php b/models/admin/member/memberInfo.php index e8e99c38..65ed8d4d 100644 --- a/models/admin/member/memberInfo.php +++ b/models/admin/member/memberInfo.php @@ -218,6 +218,7 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo $errorMessage = false; $customFieldResults = false; $multipleProfileEnabeled = $this->config['settings']['enable_multiple_profiles']; + $cloneType = 'CLONED'; // Check for action option - Should be one of the values in the "switch" statement below $option = false; @@ -266,6 +267,13 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo // Determine if the current member info record active? $this->isActive = $this->isActive(); + // 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'; + $cloneType = 'PENDING'; + } + // Get member base data require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMembers.php'; $Members = new GlmDataMembers($this->wpdb, $this->config); @@ -358,7 +366,7 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo $memberUpdated = true; $memberUpdateError = false; } - + } else { $memberUpdateError = true; } @@ -419,7 +427,7 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo $oldId = $this->memberInfoID; // Clone the current member info - $this->memberInfoID = $CloneMemberInfo->cloneMemberInfo($this->memberInfoID); + $this->memberInfoID = $CloneMemberInfo->cloneMemberInfo( $this->memberInfoID, $cloneType ); do_action( 'glm-member-db-clone-custom-fields', $oldId, $this->memberInfoID ); diff --git a/views/admin/dashboard/index.html b/views/admin/dashboard/index.html index 010c0d77..dd770926 100644 --- a/views/admin/dashboard/index.html +++ b/views/admin/dashboard/index.html @@ -1,3 +1,4 @@ +{* Dashboard for members (own entity) *}

@@ -5,53 +6,54 @@ Add New {$terms.term_member_cap} Information Version

- {if apply_filters('glm_members_permit_admin_member_index_view_member_info_version', true)} - {if apply_filters('glm_members_permit_admin_member_index_add_member_info_version', true)} - {/if} -
- - - - - - - - - - - {if $haveInfoRecords} - {assign var="i" value="0"} - {foreach $memberInfoRecords as $m} - - {if $m.status.value == $statusTypeNumbers.Active || apply_filters('glm_members_permit_admin_member_index_list_inactive_info', true)} - {if $i++ is odd by 1} - - {else} - - {/if} - - - - + {if apply_filters('glm_members_permit_admin_member_index_add_member_info_version', true)} + {/if} +
+
StatusReference Name
- {$m.status.name} - {$m.reference_name} - {if $m.bad_lat_lon}Bad Map Location{/if} - {if apply_filters('glm_members_permit_admin_member_index_clone_activate_info_version', true)} - Clone  - {if $m.status.name != 'Active'}Activate{/if} - {/if} -
+ + + + + + + + + {if $haveInfoRecords} + {assign var="i" value="0"} + {foreach $memberInfoRecords as $m} - {/if} - {/foreach} - {else} - - {/if} - -
StatusReference Name
Click here to start entering information for this {$terms.term_member}.
- {/if} + {if $m.status.value == $statusTypeNumbers.Active || apply_filters('glm_members_permit_admin_member_index_list_inactive_info', true)} + {if $i++ is odd by 1} + + {else} + + {/if} + + {$m.status.name} + + {$m.reference_name} + + {if $m.bad_lat_lon}Bad Map Location{/if} + {if apply_filters('glm_members_permit_admin_member_index_clone_activate_info_version', true)} + Clone  + {* Adding a check for moderated. If locked to member and moderated they should not be able to activate an inactive profile. *} + {if $lockedToMember && apply_filters('glm_user_is_moderated', $lockedToMember)} + {else} + {if $m.status.name != 'Active'}Activate{/if} + {/if} + {/if} + + + {/if} + {/foreach} + {else} + Click here to start entering information for this {$terms.term_member}. + {/if} + + + {/if}
diff --git a/views/admin/member/memberEdit.html b/views/admin/member/memberEdit.html index bb06ac6e..84454373 100644 --- a/views/admin/member/memberEdit.html +++ b/views/admin/member/memberEdit.html @@ -83,7 +83,7 @@ {if $member.fieldFail.notes}

{$member.fieldFail.notes}

{/if}
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.
@@ -96,7 +96,7 @@ {/if} - {else} + {else}

You do not have any {$terms.term_member_cap} Types setup.

You must have at least one {$terms.term_member_cap} Type to add a new {$terms.term_member}.

Click here to add {$terms.term_member_cap} Types. @@ -108,9 +108,9 @@ - + {include file='admin/footer.html'} diff --git a/views/admin/member/memberInfo.html b/views/admin/member/memberInfo.html index 06d60919..e64a7b2d 100644 --- a/views/admin/member/memberInfo.html +++ b/views/admin/member/memberInfo.html @@ -1,3 +1,6 @@ +{* View File: memberInfo.html *} +{* glm_action: memberinfo *} +{* Used for editing member profile records by members_manager or Own Enttity Manager *} {include file='admin/member/header.html'} @@ -111,7 +114,14 @@ {if $errorMessage}{$errorMessage}{/if} - + {if $lockedToMember && apply_filters( 'glm_user_is_moderated', $lockedToMember )} + + + {else} + + {/if}

diff --git a/views/admin/member/memberInfo/editProfileStatus.html b/views/admin/member/memberInfo/editProfileStatus.html index 51fbcf15..bd5f3ae5 100644 --- a/views/admin/member/memberInfo/editProfileStatus.html +++ b/views/admin/member/memberInfo/editProfileStatus.html @@ -1,17 +1,19 @@
-
-

Profile Status:

-
- - {if $memberInfo.fieldFail.status}

{$memberInfo.fieldFail.status}

{/if} - - Has no profile page + {if !$lockedToMember} +
+

Profile Status:

+
+ + {if $memberInfo.fieldFail.status}

{$memberInfo.fieldFail.status}

{/if} + + Has no profile page +
-
+ {/if}