mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-20 03:08:11 +00:00
Rules will no longer list the "user-action" trigger
Rules will have a "moment" field that says either "update-journal" or "store-journal".
This commit is contained in:
@@ -24,6 +24,7 @@ declare(strict_types=1);
|
|||||||
namespace FireflyIII\Transformers;
|
namespace FireflyIII\Transformers;
|
||||||
|
|
||||||
|
|
||||||
|
use FireflyIII\Exceptions\FireflyException;
|
||||||
use FireflyIII\Models\Rule;
|
use FireflyIII\Models\Rule;
|
||||||
use FireflyIII\Models\RuleAction;
|
use FireflyIII\Models\RuleAction;
|
||||||
use FireflyIII\Models\RuleTrigger;
|
use FireflyIII\Models\RuleTrigger;
|
||||||
@@ -73,6 +74,7 @@ class RuleTransformer extends AbstractTransformer
|
|||||||
'active' => $rule->active,
|
'active' => $rule->active,
|
||||||
'strict' => $rule->strict,
|
'strict' => $rule->strict,
|
||||||
'stop_processing' => $rule->stop_processing,
|
'stop_processing' => $rule->stop_processing,
|
||||||
|
'moment' => $this->getRuleMoment($rule),
|
||||||
'triggers' => $this->triggers($rule),
|
'triggers' => $this->triggers($rule),
|
||||||
'actions' => $this->actions($rule),
|
'actions' => $this->actions($rule),
|
||||||
'links' => [
|
'links' => [
|
||||||
@@ -112,6 +114,29 @@ class RuleTransformer extends AbstractTransformer
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Rule $rule
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @throws FireflyException
|
||||||
|
*/
|
||||||
|
private function getRuleMoment(Rule $rule): string
|
||||||
|
{
|
||||||
|
$moment = null;
|
||||||
|
$triggers = $this->ruleRepository->getRuleTriggers($rule);
|
||||||
|
/** @var RuleTrigger $ruleTrigger */
|
||||||
|
foreach ($triggers as $ruleTrigger) {
|
||||||
|
if ('user_action' === $ruleTrigger->trigger_type) {
|
||||||
|
$moment = $ruleTrigger->trigger_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (null === $moment) {
|
||||||
|
throw new FireflyException(sprintf('Rule #%d has no valid trigger moment. Edit it in the Firefly III user interface to correct this.', $rule->id));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $moment;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Rule $rule
|
* @param Rule $rule
|
||||||
*
|
*
|
||||||
@@ -123,6 +148,9 @@ class RuleTransformer extends AbstractTransformer
|
|||||||
$triggers = $this->ruleRepository->getRuleTriggers($rule);
|
$triggers = $this->ruleRepository->getRuleTriggers($rule);
|
||||||
/** @var RuleTrigger $ruleTrigger */
|
/** @var RuleTrigger $ruleTrigger */
|
||||||
foreach ($triggers as $ruleTrigger) {
|
foreach ($triggers as $ruleTrigger) {
|
||||||
|
if ('user_action' === $ruleTrigger->trigger_type) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
$result[] = [
|
$result[] = [
|
||||||
'id' => (int)$ruleTrigger->id,
|
'id' => (int)$ruleTrigger->id,
|
||||||
'created_at' => $ruleTrigger->created_at->toAtomString(),
|
'created_at' => $ruleTrigger->created_at->toAtomString(),
|
||||||
|
Reference in New Issue
Block a user