DONE: use full name for date in letter, include password in email after membership is done, block ic_number to exclude -
This commit is contained in:
@@ -26,6 +26,25 @@ class UserRepository implements UserRepositoryInterface
|
||||
});
|
||||
}
|
||||
|
||||
private function applyDateRangeFilters($query, array $dateFilters): void
|
||||
{
|
||||
if (! empty($dateFilters['join_date_from'])) {
|
||||
$query->whereDate('join_date', '>=', $dateFilters['join_date_from']);
|
||||
}
|
||||
|
||||
if (! empty($dateFilters['join_date_to'])) {
|
||||
$query->whereDate('join_date', '<=', $dateFilters['join_date_to']);
|
||||
}
|
||||
|
||||
if (! empty($dateFilters['leave_date_from'])) {
|
||||
$query->whereDate('leave_date', '>=', $dateFilters['leave_date_from']);
|
||||
}
|
||||
|
||||
if (! empty($dateFilters['leave_date_to'])) {
|
||||
$query->whereDate('leave_date', '<=', $dateFilters['leave_date_to']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all Users with pagination and search
|
||||
*/
|
||||
@@ -46,7 +65,8 @@ class UserRepository implements UserRepositoryInterface
|
||||
string $search = '',
|
||||
string $status = '',
|
||||
string $sortBy = 'name',
|
||||
string $sortOrder = 'asc'
|
||||
string $sortOrder = 'asc',
|
||||
array $dateFilters = []
|
||||
) {
|
||||
$allowedSortColumns = [
|
||||
'id',
|
||||
@@ -55,6 +75,8 @@ class UserRepository implements UserRepositoryInterface
|
||||
'position',
|
||||
'status',
|
||||
'member_number',
|
||||
'join_date',
|
||||
'leave_date',
|
||||
'created_at',
|
||||
'deleted_at',
|
||||
];
|
||||
@@ -73,6 +95,8 @@ class UserRepository implements UserRepositoryInterface
|
||||
$query->where('status', $status);
|
||||
}
|
||||
|
||||
$this->applyDateRangeFilters($query, $dateFilters);
|
||||
|
||||
return $query->paginate($perPage);
|
||||
}
|
||||
|
||||
@@ -93,6 +117,8 @@ class UserRepository implements UserRepositoryInterface
|
||||
'position',
|
||||
'status',
|
||||
'member_number',
|
||||
'join_date',
|
||||
'leave_date',
|
||||
'created_at',
|
||||
'deleted_at',
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user