mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
More resources for rules.
This commit is contained in:
@@ -12,6 +12,7 @@ namespace FireflyIII\Repositories\Rule;
|
||||
use Auth;
|
||||
use FireflyIII\Models\Rule;
|
||||
use FireflyIII\Models\RuleGroup;
|
||||
use Illuminate\Support\Collection;
|
||||
use Log;
|
||||
|
||||
/**
|
||||
@@ -77,19 +78,31 @@ class RuleRepository implements RuleRepositoryInterface
|
||||
|
||||
/**
|
||||
* @param RuleGroup $ruleGroup
|
||||
* @param RuleGroup $moveTo
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function destroyRuleGroup(RuleGroup $ruleGroup)
|
||||
public function destroyRuleGroup(RuleGroup $ruleGroup, RuleGroup $moveTo = null)
|
||||
{
|
||||
/** @var Rule $rule */
|
||||
foreach ($ruleGroup->rules as $rule) {
|
||||
$rule->delete();
|
||||
|
||||
if (is_null($moveTo)) {
|
||||
|
||||
$rule->delete();
|
||||
} else {
|
||||
// move
|
||||
$rule->ruleGroup()->associate($moveTo);
|
||||
$rule->save();
|
||||
}
|
||||
}
|
||||
|
||||
$ruleGroup->delete();
|
||||
|
||||
$this->resetRuleGroupOrder();
|
||||
if (!is_null($moveTo)) {
|
||||
$this->resetRulesInGroupOrder($moveTo);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -215,4 +228,12 @@ class RuleRepository implements RuleRepositoryInterface
|
||||
$ruleGroup->save();
|
||||
$this->resetRuleGroupOrder();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection
|
||||
*/
|
||||
public function getRuleGroups()
|
||||
{
|
||||
return Auth::user()->ruleGroups()->orderBy('order', 'ASC')->get();
|
||||
}
|
||||
}
|
@@ -11,6 +11,7 @@ namespace FireflyIII\Repositories\Rule;
|
||||
|
||||
use FireflyIII\Models\Rule;
|
||||
use FireflyIII\Models\RuleGroup;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
/**
|
||||
* Interface RuleRepositoryInterface
|
||||
@@ -43,10 +44,11 @@ interface RuleRepositoryInterface
|
||||
|
||||
/**
|
||||
* @param RuleGroup $ruleGroup
|
||||
* @param RuleGroup $moveTo
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function destroyRuleGroup(RuleGroup $ruleGroup);
|
||||
public function destroyRuleGroup(RuleGroup $ruleGroup, RuleGroup $moveTo = null);
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
@@ -82,4 +84,9 @@ interface RuleRepositoryInterface
|
||||
*/
|
||||
public function moveRuleGroupDown(RuleGroup $ruleGroup);
|
||||
|
||||
/**
|
||||
* @return Collection
|
||||
*/
|
||||
public function getRuleGroups();
|
||||
|
||||
}
|
Reference in New Issue
Block a user