3 Commits

2 changed files with 58 additions and 4 deletions

View File

@@ -462,7 +462,7 @@ class OrganisationRegistrationController extends SimpleController
// Record the event in the activity log
$this->ci->userActivityLogger->info("User {$currentUser->user_name} denied the registration request for organisation {$organisation->name}.", [
'type' => 'organisation_approved',
'type' => 'organisation_denied',
'user_id' => $currentUser->id,
]);
});
@@ -552,7 +552,7 @@ class OrganisationRegistrationController extends SimpleController
// Record the event in the activity log
$this->ci->userActivityLogger->info("User {$currentUser->user_name} denied the registration request for organisation {$organisation->name}.", [
'type' => 'organisation_approved',
'type' => 'organisation_denied',
'user_id' => $currentUser->id,
]);
});

View File

@@ -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.
*