Compare commits
2 Commits
v1.0.3
...
f143ef9732
| Author | SHA1 | Date | |
|---|---|---|---|
| f143ef9732 | |||
| 606154ff24 |
@@ -12,7 +12,7 @@ namespace UserFrosting\Sprinkle\Organisations\Sprunje;
|
||||
use Illuminate\Database\Schema\Builder;
|
||||
use UserFrosting\Sprinkle\Core\Facades\Translator;
|
||||
use UserFrosting\Sprinkle\Core\Sprunje\Sprunje;
|
||||
use UserFrosting\Sprinkle\Admin\Sprunje\UserSprunje as UFUserSprunje;
|
||||
use UserFrosting\Sprinkle\UFTweaks\Sprunje\UserSprunje as UFUserSprunje;
|
||||
|
||||
/**
|
||||
* UserSprunje.
|
||||
@@ -29,8 +29,10 @@ class UserSprunje extends UFUserSprunje
|
||||
'last_activity',
|
||||
'status',
|
||||
];
|
||||
|
||||
protected $sortable = [
|
||||
'name',
|
||||
'organisations',
|
||||
'last_activity',
|
||||
'status',
|
||||
];
|
||||
@@ -56,6 +58,7 @@ class UserSprunje extends UFUserSprunje
|
||||
*/
|
||||
protected function sortOrganisations($query, $direction)
|
||||
{
|
||||
$query = $query->addSelect('organisations.name');
|
||||
$query->orderBy('organisations.name', $direction);
|
||||
|
||||
return $this;
|
||||
@@ -75,13 +78,64 @@ class UserSprunje extends UFUserSprunje
|
||||
$values = explode($this->orSeparator, $value);
|
||||
$query->where(function ($query) use ($values) {
|
||||
foreach ($values as $value) {
|
||||
$query->orLike('organisations.name', $value);
|
||||
$likeValue = '%' . mb_strtolower($value) . '%';
|
||||
$query->orWhereRaw('LOWER(organisations.name) LIKE ?', $likeValue);
|
||||
}
|
||||
});
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort based on last activity time.
|
||||
*
|
||||
* @param Builder $query
|
||||
* @param string $direction
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
protected function sortLastActivity($query, $direction)
|
||||
{
|
||||
$query = $query->addSelect('activities.occurred_at');
|
||||
$query->orderBy('activities.occurred_at', $direction);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort based on last name.
|
||||
*
|
||||
* @param Builder $query
|
||||
* @param string $direction
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
protected function sortName($query, $direction)
|
||||
{
|
||||
$query = $query->addSelect('last_name');
|
||||
$query = $query->addSelect('first_name');
|
||||
$query->orderBy('last_name', $direction)->orderBy('first_name', $direction);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort active, unactivated, disabled.
|
||||
*
|
||||
* @param Builder $query
|
||||
* @param string $direction
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
protected function sortStatus($query, $direction)
|
||||
{
|
||||
$query = $query->addSelect('flag_enabled');
|
||||
$query = $query->addSelect('flag_verified');
|
||||
$query->orderBy('flag_enabled', $direction)->orderBy('flag_verified', $direction);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the unpaginated count of items (before filtering) in this query.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user