mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-18 18:44:16 +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;
|
||||
|
||||
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Rule;
|
||||
use FireflyIII\Models\RuleAction;
|
||||
use FireflyIII\Models\RuleTrigger;
|
||||
@@ -73,6 +74,7 @@ class RuleTransformer extends AbstractTransformer
|
||||
'active' => $rule->active,
|
||||
'strict' => $rule->strict,
|
||||
'stop_processing' => $rule->stop_processing,
|
||||
'moment' => $this->getRuleMoment($rule),
|
||||
'triggers' => $this->triggers($rule),
|
||||
'actions' => $this->actions($rule),
|
||||
'links' => [
|
||||
@@ -112,6 +114,29 @@ class RuleTransformer extends AbstractTransformer
|
||||
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
|
||||
*
|
||||
@@ -123,6 +148,9 @@ class RuleTransformer extends AbstractTransformer
|
||||
$triggers = $this->ruleRepository->getRuleTriggers($rule);
|
||||
/** @var RuleTrigger $ruleTrigger */
|
||||
foreach ($triggers as $ruleTrigger) {
|
||||
if ('user_action' === $ruleTrigger->trigger_type) {
|
||||
continue;
|
||||
}
|
||||
$result[] = [
|
||||
'id' => (int)$ruleTrigger->id,
|
||||
'created_at' => $ruleTrigger->created_at->toAtomString(),
|
||||
|
Reference in New Issue
Block a user