Skip to content

Commit

Permalink
Fix - Denied filter not working
Browse files Browse the repository at this point in the history
  • Loading branch information
salimshrestha98 committed Aug 28, 2023
1 parent 6abc0bd commit 96861a0
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 36 deletions.
94 changes: 62 additions & 32 deletions includes/admin/class-ur-admin-user-list-manager.php
Original file line number Diff line number Diff line change
Expand Up @@ -432,46 +432,17 @@ public function filter_users_by_approval_status( $query ) {
if ( isset( $status ) && '' !== $status ) {
switch ( $status ) {
case 'approved':
$status = UR_Admin_User_Manager::APPROVED;
$meta_query = $this->get_approved_users_meta_query();
break;
case 'pending':
$status = UR_Admin_User_Manager::PENDING;
$meta_query = $this->get_pending_users_meta_query();
break;
case 'denied':
$status = UR_Admin_User_Manager::DENIED;
$meta_query = $this->get_denied_users_meta_query();
break;
default:
return;
}

$meta_query = $this->get_pending_users_meta_query();

if ( UR_Admin_User_Manager::APPROVED === $status ) {
$meta_query = array(
'relation' => 'OR',
array(
'relation' => 'AND',
array(
'key' => 'ur_user_status',
'compare' => 'NOT EXISTS', // works!
'value' => '', // This is ignored, but is necessary...
),
array(
'key' => 'ur_confirm_email',
'compare' => 'NOT EXISTS', // works!
'value' => '', // This is ignored, but is necessary...
),
),
array(
'key' => 'ur_user_status',
'value' => UR_Admin_User_Manager::APPROVED,
),
array(
'key' => 'ur_confirm_email',
'value' => UR_Admin_User_Manager::APPROVED,
),
);
}
}

// Deduct meta_query to filter user according to form id and approval status set.
Expand Down Expand Up @@ -641,6 +612,40 @@ public function save_profile_field( $user_id ) {
}
}

/**
* Returns meta query array to fetch approved users.
*
* @return array
*/
private function get_approved_users_meta_query() {
$meta_query = array(
'relation' => 'OR',
array(
'relation' => 'AND',
array(
'key' => 'ur_user_status',
'compare' => 'NOT EXISTS', // works!
'value' => '', // This is ignored, but is necessary...
),
array(
'key' => 'ur_confirm_email',
'compare' => 'NOT EXISTS', // works!
'value' => '', // This is ignored, but is necessary...
),
),
array(
'key' => 'ur_user_status',
'value' => UR_Admin_User_Manager::APPROVED,
),
array(
'key' => 'ur_confirm_email',
'value' => UR_Admin_User_Manager::APPROVED,
),
);

return $meta_query;
}

/**
* Returns meta query array to fetch pending users.
*
Expand Down Expand Up @@ -687,6 +692,31 @@ private function get_pending_users_meta_query() {

return $meta_query;
}

/**
* Returns meta query array to fetch denied users.
*
* @return array
*/
private function get_denied_users_meta_query() {
$meta_query = array(
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'ur_user_status',
'value' => '-1',
'compare' => '=',
),
array(
'key' => 'ur_confirm_email',
'value' => '-1',
'compare' => '=',
),
),
);

return $meta_query;
}
}

return new UR_Admin_User_List_Manager();
4 changes: 0 additions & 4 deletions includes/admin/class-ur-admin-user-manager.php
Original file line number Diff line number Diff line change
Expand Up @@ -116,10 +116,6 @@ public function save_status( $status, $alert_user = true ) {
}
$this->user_status = $status;

// if ( is_super_admin( $this->user->ID ) ) {
// return;
// }

return update_user_meta( absint( $this->user->ID ), 'ur_user_status', sanitize_text_field( $status ) );
}

Expand Down

0 comments on commit 96861a0

Please sign in to comment.