ed9f5fa5 by Marty Penner

Added some more js for confirmation of merge; further cleaned SQL for search users

1 parent e89ec688
...@@ -994,8 +994,8 @@ class Actions { ...@@ -994,8 +994,8 @@ class Actions {
994 994
995 // Check for search term in first_name, last_name, user_login, and user_email, but only if user status is not 'terminated' 995 // Check for search term in first_name, last_name, user_login, and user_email, but only if user status is not 'terminated'
996 $query = " 996 $query = "
997 SELECT ID, user_email 997 SELECT u.ID, u.user_email, umf.meta_value AS first_name, uml.meta_value AS last_name, umm.meta_value AS member_id
998 FROM $wpdb->users AS u, $wpdb->usermeta AS uml, $wpdb->usermeta AS umf, $wpdb->usermeta AS ums 998 FROM $wpdb->users AS u, $wpdb->usermeta AS uml, $wpdb->usermeta AS umf, $wpdb->usermeta AS umm, $wpdb->usermeta AS ums
999 WHERE (uml.user_id = u.ID 999 WHERE (uml.user_id = u.ID
1000 AND uml.meta_key = 'last_name' 1000 AND uml.meta_key = 'last_name'
1001 ) 1001 )
...@@ -1005,8 +1005,12 @@ class Actions { ...@@ -1005,8 +1005,12 @@ class Actions {
1005 AND (ums.user_id = u.ID 1005 AND (ums.user_id = u.ID
1006 AND ums.meta_key = 'status' 1006 AND ums.meta_key = 'status'
1007 ) 1007 )
1008 AND (umm.user_id = u.ID
1009 AND umm.meta_key = 'member_id'
1010 )
1008 AND ((uml.meta_value LIKE '%$username%' 1011 AND ((uml.meta_value LIKE '%$username%'
1009 OR umf.meta_value LIKE '%$username%') 1012 OR umf.meta_value LIKE '%$username%'
1013 OR umm.meta_value LIKE '%$username%')
1010 AND ums.meta_value != 'terminated' 1014 AND ums.meta_value != 'terminated'
1011 ) 1015 )
1012 ORDER BY user_email"; 1016 ORDER BY user_email";
...@@ -1015,17 +1019,12 @@ class Actions { ...@@ -1015,17 +1019,12 @@ class Actions {
1015 1019
1016 if (! empty($result)) { 1020 if (! empty($result)) {
1017 foreach ($result as $user) { 1021 foreach ($result as $user) {
1018 // Get the member ID as well
1019 $member_id = get_user_meta($user['ID'], 'member_id', TRUE);
1020 $first_name = get_user_meta($user['ID'], 'first_name', TRUE);
1021 $last_name = get_user_meta($user['ID'], 'last_name', TRUE);
1022
1023 $html .= <<<HTML 1022 $html .= <<<HTML
1024 1023
1025 <tr> 1024 <tr>
1026 <td><input type="radio" name="merge_user_{$direction}" value="{$user['ID']}" />$first_name</td> 1025 <td><input type="radio" name="merge_user_{$direction}" value="{$user['ID']}" />{$user['first_name']}</td>
1027 <td>$last_name</td> 1026 <td>{$user['last_name']}</td>
1028 <td>$member_id</td> 1027 <td>{$user['member_id']}</td>
1029 <td>{$user['user_email']}</td> 1028 <td>{$user['user_email']}</td>
1030 </tr> 1029 </tr>
1031 HTML; 1030 HTML;
...@@ -1059,9 +1058,16 @@ HTML; ...@@ -1059,9 +1058,16 @@ HTML;
1059 ))); 1058 )));
1060 } 1059 }
1061 1060
1062 $html = '';
1063 $from_user = new User\Account($_POST['merge_user_from']); 1061 $from_user = new User\Account($_POST['merge_user_from']);
1064 $to_user = new User\Account($_POST['merge_user_to']); 1062 $to_user = new User\Account($_POST['merge_user_to']);
1063 if ($from_user->ID == $to_user->ID) {
1064 die(json_encode(array(
1065 'success' => 'false',
1066 'msg' => 'You cannot merge the same user!'
1067 )));
1068 }
1069
1070 $html = '';
1065 $skipped_fields = array( 1071 $skipped_fields = array(
1066 'ID', 1072 'ID',
1067 'user_login', 1073 'user_login',
......
...@@ -125,7 +125,7 @@ h4 { ...@@ -125,7 +125,7 @@ h4 {
125 125
126 <div id="field-list" class="changed"> 126 <div id="field-list" class="changed">
127 <h6>Success!</h6> 127 <h6>Success!</h6>
128 <ul></ul> 128 <table></table>
129 </div> 129 </div>
130 130
131 <div style="clear:both;"></div> 131 <div style="clear:both;"></div>
...@@ -150,27 +150,29 @@ var $which_user_search = $('[name=which_user_search]'); ...@@ -150,27 +150,29 @@ var $which_user_search = $('[name=which_user_search]');
150 var $do_search = $('[name=do_search]'); 150 var $do_search = $('[name=do_search]');
151 var $do_merge = $('[name=do_merge]'); 151 var $do_merge = $('[name=do_merge]');
152 var $form = $('#admin-search-merge-form'); 152 var $form = $('#admin-search-merge-form');
153 var $error_container = $('.validation-errors');
154 var $field_list = $('#field-list'); 153 var $field_list = $('#field-list');
154 var $error_container = $('.validation-errors');
155
155 156
156 $('[name=btn_user_from]').click(function() { 157 $('[name=btn_user_from]').click(function() {
157 $which_user_search.val("from"); 158 $which_user_search.val("from");
158 $do_search.val("yes"); 159 $do_search.val("yes");
159 $('[name=merge_user_from]').attr("checked", false);
160 $form.submit(); 160 $form.submit();
161 }); 161 });
162 162
163 $('[name=btn_user_to]').click(function() { 163 $('[name=btn_user_to]').click(function() {
164 $which_user_search.val("to"); 164 $which_user_search.val("to");
165 $do_search.val("yes"); 165 $do_search.val("yes");
166 $('[name=merge_user_to]').attr("checked", false);
167 $form.submit(); 166 $form.submit();
168 }); 167 });
169 168
170 $('[name=btn_merge]').click(function() { 169 $('[name=btn_merge]').click(function() {
171 $do_search.val("no"); 170 $do_search.val("no");
172 $do_merge.val("yes"); 171 $do_merge.val("yes");
172
173 if (confirm('Are you sure you want to merge users? This action is NOT reversible!')) {
173 $form.submit(); 174 $form.submit();
175 }
174 }); 176 });
175 177
176 $(function() { 178 $(function() {
......