Added category column to activities table
This commit is contained in:
@@ -15,6 +15,7 @@ use Monolog\Logger;
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use UserFrosting\Sprinkle\Core\Log\MixedFormatter;
|
||||
use UserFrosting\Sprinkle\UFTweaks\Twig\HasRoleExtension;
|
||||
|
||||
|
||||
@@ -32,6 +33,19 @@ class ServicesProvider
|
||||
*/
|
||||
public function register(ContainerInterface $container)
|
||||
{
|
||||
/*
|
||||
* Extend the 'classMapper' service to register sprunje classes.
|
||||
*
|
||||
* Mappings added: 'activity_sprunje'
|
||||
*
|
||||
* @return \UserFrosting\Sprinkle\Core\Util\ClassMapper
|
||||
*/
|
||||
$container->extend('classMapper', function ($classMapper, $c) {
|
||||
$classMapper->setClassMapping('activity_sprunje', 'UserFrosting\Sprinkle\UFTweaks\Sprunje\ActivitySprunje');
|
||||
|
||||
return $classMapper;
|
||||
});
|
||||
|
||||
/*
|
||||
* Returns a callback that handles setting the `UF-Redirect` header after a successful login.
|
||||
*
|
||||
|
||||
77
src/Sprunje/ActivitySprunje.php
Normal file
77
src/Sprunje/ActivitySprunje.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* AVSDev UF Tweaks (https://avsdev.uk)
|
||||
*
|
||||
* @link https://git.avsdev.uk/avsdev/sprinkle-uf-tweaks
|
||||
* @license https://git.avsdev.uk/avsdev/sprinkle-uf-tweaks/blob/master/LICENSE.md (LGPL-3.0 License)
|
||||
*/
|
||||
|
||||
namespace UserFrosting\Sprinkle\UFTweaks\Sprunje;
|
||||
|
||||
use Illuminate\Database\Capsule\Manager as DB;
|
||||
use Illuminate\Database\Schema\Builder;
|
||||
use UserFrosting\Sprinkle\admin\Sprunje\ActivitySprunje as UFActivitySprunje;
|
||||
|
||||
/**
|
||||
* ActivitySprunje.
|
||||
*
|
||||
* Implements Sprunje for the activities API.
|
||||
*
|
||||
* @author Alex Weissman (https://alexanderweissman.com)
|
||||
*/
|
||||
class ActivitySprunje extends UFActivitySprunje
|
||||
{
|
||||
protected $sortable = [
|
||||
'occurred_at',
|
||||
'user',
|
||||
'category',
|
||||
'description',
|
||||
];
|
||||
|
||||
protected $filterable = [
|
||||
'occurred_at',
|
||||
'user',
|
||||
'category',
|
||||
'description',
|
||||
];
|
||||
|
||||
/**
|
||||
* Filter LIKE the category.
|
||||
*
|
||||
* @param Builder $query
|
||||
* @param mixed $value
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
protected function filterCategory($query, $value)
|
||||
{
|
||||
// Split value on separator for OR queries
|
||||
$values = explode($this->orSeparator, $value);
|
||||
$query->where(function ($query) use ($values) {
|
||||
foreach ($values as $value) {
|
||||
$query->orLike(
|
||||
DB::raw('lower(activities.type)'),
|
||||
str_replace(" ", "_", strtolower($value))
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort based on category.
|
||||
*
|
||||
* @param Builder $query
|
||||
* @param string $direction
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
protected function sortCategory($query, $direction)
|
||||
{
|
||||
$query->orderBy('activities.type', $direction);
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user