mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Created / updated rule repository and provider.
This commit is contained in:
parent
a51d752a35
commit
297c2e244d
@ -86,7 +86,6 @@ class FireflyServiceProvider extends ServiceProvider
|
||||
$this->app->bind('FireflyIII\Repositories\Category\SingleCategoryRepositoryInterface', 'FireflyIII\Repositories\Category\SingleCategoryRepository');
|
||||
$this->app->bind('FireflyIII\Repositories\Currency\CurrencyRepositoryInterface', 'FireflyIII\Repositories\Currency\CurrencyRepository');
|
||||
$this->app->bind('FireflyIII\Repositories\Tag\TagRepositoryInterface', 'FireflyIII\Repositories\Tag\TagRepository');
|
||||
$this->app->bind('FireflyIII\Repositories\Rule\RuleRepositoryInterface', 'FireflyIII\Repositories\Rule\RuleRepository');
|
||||
$this->app->bind('FireflyIII\Support\Search\SearchInterface', 'FireflyIII\Support\Search\Search');
|
||||
|
||||
// CSV import
|
||||
|
49
app/Providers/RuleServiceProvider.php
Normal file
49
app/Providers/RuleServiceProvider.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace FireflyIII\Providers;
|
||||
|
||||
use Auth;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use Illuminate\Foundation\Application;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
/**
|
||||
* Class RuleServiceProvider
|
||||
*
|
||||
* @package FireflyIII\Providers
|
||||
*/
|
||||
class RuleServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Bootstrap the application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
$this->app->bind(
|
||||
'FireflyIII\Repositories\Rule\RuleRepositoryInterface',
|
||||
function (Application $app, array $arguments) {
|
||||
if (!isset($arguments[0]) && Auth::check()) {
|
||||
return app('FireflyIII\Repositories\Rule\RuleRepository', [Auth::user()]);
|
||||
} else {
|
||||
if (!isset($arguments[0]) && !Auth::check()) {
|
||||
throw new FireflyException('There is no user present.');
|
||||
}
|
||||
}
|
||||
|
||||
return app('FireflyIII\Repositories\Rule\RuleRepository', $arguments);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
@ -10,12 +10,13 @@ declare(strict_types = 1);
|
||||
|
||||
namespace FireflyIII\Repositories\Rule;
|
||||
|
||||
use Auth;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Rule;
|
||||
use FireflyIII\Models\RuleAction;
|
||||
use FireflyIII\Models\RuleGroup;
|
||||
use FireflyIII\Models\RuleTrigger;
|
||||
use FireflyIII\User;
|
||||
use Log;
|
||||
|
||||
/**
|
||||
* Class RuleRepository
|
||||
@ -24,13 +25,26 @@ use FireflyIII\Models\RuleTrigger;
|
||||
*/
|
||||
class RuleRepository implements RuleRepositoryInterface
|
||||
{
|
||||
/** @var User */
|
||||
private $user;
|
||||
|
||||
/**
|
||||
* BillRepository constructor.
|
||||
*
|
||||
* @param User $user
|
||||
*/
|
||||
public function __construct(User $user)
|
||||
{
|
||||
Log::debug('Constructed rule repository for user #' . $user->id . ' (' . $user->email . ')');
|
||||
$this->user = $user;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return Auth::user()->rules()->count();
|
||||
return $this->user->rules()->count();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -56,7 +70,7 @@ class RuleRepository implements RuleRepositoryInterface
|
||||
*/
|
||||
public function getFirstRuleGroup()
|
||||
{
|
||||
return Auth::user()->ruleGroups()->first();
|
||||
return $this->user->ruleGroups()->first();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -205,7 +219,7 @@ class RuleRepository implements RuleRepositoryInterface
|
||||
public function store(array $data)
|
||||
{
|
||||
/** @var RuleGroup $ruleGroup */
|
||||
$ruleGroup = Auth::user()->ruleGroups()->find($data['rule_group_id']);
|
||||
$ruleGroup = $this->user->ruleGroups()->find($data['rule_group_id']);
|
||||
|
||||
// get max order:
|
||||
$order = $this->getHighestOrderInRuleGroup($ruleGroup);
|
||||
|
Loading…
Reference in New Issue
Block a user