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 {
// Check for search term in first_name, last_name, user_login, and user_email, but only if user status is not 'terminated'
$query = "
SELECT ID, user_email
FROM $wpdb->users AS u, $wpdb->usermeta AS uml, $wpdb->usermeta AS umf, $wpdb->usermeta AS ums
SELECT u.ID, u.user_email, umf.meta_value AS first_name, uml.meta_value AS last_name, umm.meta_value AS member_id
FROM $wpdb->users AS u, $wpdb->usermeta AS uml, $wpdb->usermeta AS umf, $wpdb->usermeta AS umm, $wpdb->usermeta AS ums
WHERE (uml.user_id = u.ID
AND uml.meta_key = 'last_name'
)
......@@ -1005,8 +1005,12 @@ class Actions {
AND (ums.user_id = u.ID
AND ums.meta_key = 'status'
)
AND (umm.user_id = u.ID
AND umm.meta_key = 'member_id'
)
AND ((uml.meta_value LIKE '%$username%'
OR umf.meta_value LIKE '%$username%')
OR umf.meta_value LIKE '%$username%'
OR umm.meta_value LIKE '%$username%')
AND ums.meta_value != 'terminated'
)
ORDER BY user_email";
......@@ -1015,17 +1019,12 @@ class Actions {
if (! empty($result)) {
foreach ($result as $user) {
// Get the member ID as well
$member_id = get_user_meta($user['ID'], 'member_id', TRUE);
$first_name = get_user_meta($user['ID'], 'first_name', TRUE);
$last_name = get_user_meta($user['ID'], 'last_name', TRUE);
$html .= <<<HTML
<tr>
<td><input type="radio" name="merge_user_{$direction}" value="{$user['ID']}" />$first_name</td>
<td>$last_name</td>
<td>$member_id</td>
<td><input type="radio" name="merge_user_{$direction}" value="{$user['ID']}" />{$user['first_name']}</td>
<td>{$user['last_name']}</td>
<td>{$user['member_id']}</td>
<td>{$user['user_email']}</td>
</tr>
HTML;
......@@ -1059,9 +1058,16 @@ HTML;
)));
}
$from_user = new User\Account($_POST['merge_user_from']);
$to_user = new User\Account($_POST['merge_user_to']);
if ($from_user->ID == $to_user->ID) {
die(json_encode(array(
'success' => 'false',
'msg' => 'You cannot merge the same user!'
)));
}
$html = '';
$from_user = new User\Account($_POST['merge_user_from']);
$to_user = new User\Account($_POST['merge_user_to']);
$skipped_fields = array(
'ID',
'user_login',
......
......@@ -125,7 +125,7 @@ h4 {
<div id="field-list" class="changed">
<h6>Success!</h6>
<ul></ul>
<table></table>
</div>
<div style="clear:both;"></div>
......@@ -145,32 +145,34 @@ h4 {
<script src="<?php echo Tools\url('../UserManager.js', __FILE__);?>" type="text/javascript"></script>
<script type="text/javascript">
var $ = jQuery;
var $which_user_search = $('[name=which_user_search]');
var $do_search = $('[name=do_search]');
var $do_merge = $('[name=do_merge]');
var $form = $('#admin-search-merge-form');
var $error_container = $('.validation-errors');
var $field_list = $('#field-list');
var $ = jQuery;
var $which_user_search = $('[name=which_user_search]');
var $do_search = $('[name=do_search]');
var $do_merge = $('[name=do_merge]');
var $form = $('#admin-search-merge-form');
var $field_list = $('#field-list');
var $error_container = $('.validation-errors');
$('[name=btn_user_from]').click(function() {
$which_user_search.val("from");
$do_search.val("yes");
$('[name=merge_user_from]').attr("checked", false);
$form.submit();
});
$('[name=btn_user_to]').click(function() {
$which_user_search.val("to");
$do_search.val("yes");
$('[name=merge_user_to]').attr("checked", false);
$form.submit();
});
$('[name=btn_merge]').click(function() {
$do_search.val("no");
$do_merge.val("yes");
$form.submit();
if (confirm('Are you sure you want to merge users? This action is NOT reversible!')) {
$form.submit();
}
});
$(function() {
......