Rule engine and search engine now use the same operators; making them interchangeable.

This commit is contained in:
James Cole
2020-08-21 08:23:44 +02:00
parent 3081911eae
commit d69934ca8f
11 changed files with 141 additions and 165 deletions

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Api\V1\Requests;
use FireflyIII\Rules\IsBoolean;
use FireflyIII\Support\Request\ConvertsDataTypes;
use FireflyIII\Support\Request\GetRuleConfiguration;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Validator;
use function is_array;
@@ -35,7 +36,8 @@ use function is_array;
*/
class RuleStoreRequest extends FormRequest
{
use ConvertsDataTypes;
use ConvertsDataTypes, GetRuleConfiguration;
/**
* Authorize logged in users.
*
@@ -88,11 +90,11 @@ class RuleStoreRequest extends FormRequest
*/
public function rules(): array
{
$validTriggers = array_keys(config('firefly.rule-triggers'));
$validTriggers = $this->getTriggers();
$validActions = array_keys(config('firefly.rule-actions'));
// some triggers and actions require text:
$contextTriggers = implode(',', config('firefly.context-rule-triggers'));
$contextTriggers = implode(',', $this->getTriggersWithContext());
$contextActions = implode(',', config('firefly.context-rule-actions'));
return [

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Api\V1\Requests;
use FireflyIII\Rules\IsBoolean;
use FireflyIII\Support\Request\ConvertsDataTypes;
use FireflyIII\Support\Request\GetRuleConfiguration;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Validator;
use function is_array;
@@ -35,7 +36,7 @@ use function is_array;
*/
class RuleUpdateRequest extends FormRequest
{
use ConvertsDataTypes;
use ConvertsDataTypes, GetRuleConfiguration;
/**
* Authorize logged in users.
*
@@ -88,12 +89,12 @@ class RuleUpdateRequest extends FormRequest
*/
public function rules(): array
{
$validTriggers = array_keys(config('firefly.rule-triggers'));
$validTriggers = $this->getTriggers();
$validActions = array_keys(config('firefly.rule-actions'));
$rule = $this->route()->parameter('rule');
// some triggers and actions require text:
$contextTriggers = implode(',', config('firefly.context-rule-triggers'));
$contextTriggers = implode(',', $this->getTriggersWithContext());
$contextActions = implode(',', config('firefly.context-rule-actions'));
return [