mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2024-12-27 01:11:37 -06:00
Re-order rule groups.
This commit is contained in:
parent
521623797e
commit
97770da619
@ -184,8 +184,8 @@ class RuleController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$ruleGroups = Auth::user()->ruleGroups()->with(['rules' => function($query) {
|
||||
$query->orderBy('order','ASC');
|
||||
$ruleGroups = Auth::user()->ruleGroups()->orderBy('order','ASC') ->with(['rules' => function ($query) {
|
||||
$query->orderBy('order', 'ASC');
|
||||
|
||||
}])->get();
|
||||
|
||||
@ -219,4 +219,30 @@ class RuleController extends Controller
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RuleRepositoryInterface $repository
|
||||
* @param RuleGroup $ruleGroup
|
||||
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
|
||||
*/
|
||||
public function upRuleGroup(RuleRepositoryInterface $repository, RuleGroup $ruleGroup)
|
||||
{
|
||||
$repository->moveRuleGroupUp($ruleGroup);
|
||||
|
||||
return redirect(route('rules.index'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RuleRepositoryInterface $repository
|
||||
* @param RuleGroup $ruleGroup
|
||||
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
|
||||
*/
|
||||
public function downRuleGroup(RuleRepositoryInterface $repository, RuleGroup $ruleGroup)
|
||||
{
|
||||
$repository->moveRuleGroupDown($ruleGroup);
|
||||
|
||||
return redirect(route('rules.index'));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -175,4 +175,44 @@ class RuleRepository implements RuleRepositoryInterface
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RuleGroup $ruleGroup
|
||||
* @return bool
|
||||
*/
|
||||
public function moveRuleGroupUp(RuleGroup $ruleGroup)
|
||||
{
|
||||
$order = $ruleGroup->order;
|
||||
|
||||
// find the rule with order-1 and give it order+1
|
||||
$other = Auth::user()->ruleGroups()->where('order', ($order - 1))->first();
|
||||
if ($other) {
|
||||
$other->order = ($other->order + 1);
|
||||
$other->save();
|
||||
}
|
||||
|
||||
$ruleGroup->order = ($ruleGroup->order - 1);
|
||||
$ruleGroup->save();
|
||||
$this->resetRuleGroupOrder();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RuleGroup $ruleGroup
|
||||
* @return bool
|
||||
*/
|
||||
public function moveRuleGroupDown(RuleGroup $ruleGroup)
|
||||
{
|
||||
$order = $ruleGroup->order;
|
||||
|
||||
// find the rule with order+1 and give it order-1
|
||||
$other = Auth::user()->ruleGroups()->where('order', ($order + 1))->first();
|
||||
if ($other) {
|
||||
$other->order = ($other->order - 1);
|
||||
$other->save();
|
||||
}
|
||||
|
||||
$ruleGroup->order = ($ruleGroup->order + 1);
|
||||
$ruleGroup->save();
|
||||
$this->resetRuleGroupOrder();
|
||||
}
|
||||
}
|
@ -70,4 +70,16 @@ interface RuleRepositoryInterface
|
||||
*/
|
||||
public function moveRuleDown(Rule $rule);
|
||||
|
||||
/**
|
||||
* @param RuleGroup $ruleGroup
|
||||
* @return bool
|
||||
*/
|
||||
public function moveRuleGroupUp(RuleGroup $ruleGroup);
|
||||
|
||||
/**
|
||||
* @param RuleGroup $ruleGroup
|
||||
* @return bool
|
||||
*/
|
||||
public function moveRuleGroupDown(RuleGroup $ruleGroup);
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user