User can now re-order triggers and actions.

This commit is contained in:
James Cole
2016-01-14 11:27:15 +01:00
parent b9b0413510
commit 81b9d5da09
10 changed files with 243 additions and 52 deletions

View File

@@ -12,6 +12,7 @@ namespace FireflyIII\Repositories\Rule;
use Auth;
use FireflyIII\Models\Rule;
use FireflyIII\Models\RuleGroup;
use FireflyIII\Models\RuleTrigger;
use Illuminate\Support\Collection;
use Log;
@@ -76,6 +77,48 @@ class RuleRepository implements RuleRepositoryInterface
return $ruleGroup;
}
/**
* @param Rule $rule
* @param array $ids
* @return bool
*/
public function reorderRuleTriggers(Rule $rule, array $ids)
{
$order = 1;
foreach ($ids as $triggerId) {
/** @var RuleTrigger $trigger */
$trigger = $rule->ruleTriggers()->find($triggerId);
if (!is_null($trigger)) {
$trigger->order = $order;
$trigger->save();
$order++;
}
}
return true;
}
/**
* @param Rule $rule
* @param array $ids
* @return bool
*/
public function reorderRuleActions(Rule $rule, array $ids)
{
$order = 1;
foreach ($ids as $actionId) {
/** @var RuleTrigger $trigger */
$action = $rule->ruleActions()->find($actionId);
if (!is_null($action)) {
$action->order = $order;
$action->save();
$order++;
}
}
return true;
}
/**
* @param RuleGroup $ruleGroup
* @param RuleGroup $moveTo

View File

@@ -50,6 +50,20 @@ interface RuleRepositoryInterface
*/
public function destroyRuleGroup(RuleGroup $ruleGroup, RuleGroup $moveTo = null);
/**
* @param Rule $rule
* @param array $ids
* @return bool
*/
public function reorderRuleTriggers(Rule $rule, array $ids);
/**
* @param Rule $rule
* @param array $ids
* @return bool
*/
public function reorderRuleActions(Rule $rule, array $ids);
/**
* @return bool
*/