mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Merge branch 'develop' into 5.8-dev
And fix rule creation and edit etc
This commit is contained in:
commit
9bfa52f3ce
@ -45,7 +45,7 @@ class AutocompleteRequest extends FormRequest
|
|||||||
if ('' !== $types) {
|
if ('' !== $types) {
|
||||||
$array = explode(',', $types);
|
$array = explode(',', $types);
|
||||||
}
|
}
|
||||||
$limit = $this->integer('limit');
|
$limit = $this->convertInteger('limit');
|
||||||
$limit = 0 === $limit ? 10 : $limit;
|
$limit = 0 === $limit ? 10 : $limit;
|
||||||
|
|
||||||
// remove 'initial balance' from allowed types. its internal
|
// remove 'initial balance' from allowed types. its internal
|
||||||
|
@ -261,6 +261,7 @@ class CreateController extends Controller
|
|||||||
public function store(RuleFormRequest $request)
|
public function store(RuleFormRequest $request)
|
||||||
{
|
{
|
||||||
$data = $request->getRuleData();
|
$data = $request->getRuleData();
|
||||||
|
|
||||||
$rule = $this->ruleRepos->store($data);
|
$rule = $this->ruleRepos->store($data);
|
||||||
session()->flash('success', (string) trans('firefly.stored_new_rule', ['title' => $rule->title]));
|
session()->flash('success', (string) trans('firefly.stored_new_rule', ['title' => $rule->title]));
|
||||||
app('preferences')->mark();
|
app('preferences')->mark();
|
||||||
|
@ -189,7 +189,8 @@ class EditController extends Controller
|
|||||||
public function update(RuleFormRequest $request, Rule $rule)
|
public function update(RuleFormRequest $request, Rule $rule)
|
||||||
{
|
{
|
||||||
$data = $request->getRuleData();
|
$data = $request->getRuleData();
|
||||||
$this->ruleRepos->update($rule, $data);
|
|
||||||
|
//$this->ruleRepos->update($rule, $data);
|
||||||
|
|
||||||
session()->flash('success', (string) trans('firefly.updated_rule', ['title' => $rule->title]));
|
session()->flash('success', (string) trans('firefly.updated_rule', ['title' => $rule->title]));
|
||||||
app('preferences')->mark();
|
app('preferences')->mark();
|
||||||
|
@ -66,11 +66,14 @@ class RuleFormRequest extends FormRequest
|
|||||||
if (is_array($triggerData)) {
|
if (is_array($triggerData)) {
|
||||||
foreach ($triggerData as $trigger) {
|
foreach ($triggerData as $trigger) {
|
||||||
$stopProcessing = $trigger['stop_processing'] ?? '0';
|
$stopProcessing = $trigger['stop_processing'] ?? '0';
|
||||||
$return[] = [
|
$prohibited = $trigger['prohibited'] ?? '0';
|
||||||
|
$set = [
|
||||||
'type' => $trigger['type'] ?? 'invalid',
|
'type' => $trigger['type'] ?? 'invalid',
|
||||||
'value' => $trigger['value'] ?? '',
|
'value' => $trigger['value'] ?? '',
|
||||||
'stop_processing' => 1 === (int) $stopProcessing,
|
'stop_processing' => 1 === (int) $stopProcessing,
|
||||||
|
'prohibited' => 1 === (int) $prohibited,
|
||||||
];
|
];
|
||||||
|
$return[] = $set;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -425,9 +425,13 @@ class RuleRepository implements RuleRepositoryInterface
|
|||||||
$value = $trigger['value'] ?? '';
|
$value = $trigger['value'] ?? '';
|
||||||
$stopProcessing = $trigger['stop_processing'] ?? false;
|
$stopProcessing = $trigger['stop_processing'] ?? false;
|
||||||
$active = $trigger['active'] ?? true;
|
$active = $trigger['active'] ?? true;
|
||||||
|
$type = $trigger['type'];
|
||||||
|
if (true === $trigger['prohibited']) {
|
||||||
|
$type = sprintf('-%s', $type);
|
||||||
|
}
|
||||||
|
|
||||||
$triggerValues = [
|
$triggerValues = [
|
||||||
'action' => $trigger['type'],
|
'action' => $type,
|
||||||
'value' => $value,
|
'value' => $value,
|
||||||
'stop_processing' => $stopProcessing,
|
'stop_processing' => $stopProcessing,
|
||||||
'order' => $order,
|
'order' => $order,
|
||||||
|
@ -317,14 +317,19 @@ trait RenderPartialViews
|
|||||||
if ('user_action' !== $entry->trigger_type) {
|
if ('user_action' !== $entry->trigger_type) {
|
||||||
$count = ($index + 1);
|
$count = ($index + 1);
|
||||||
try {
|
try {
|
||||||
|
$rootOperator = OperatorQuerySearch::getRootOperator($entry->trigger_type);
|
||||||
|
if(str_starts_with($rootOperator, '-')) {
|
||||||
|
$rootOperator = substr($rootOperator, 1);
|
||||||
|
}
|
||||||
$renderedEntries[] = view(
|
$renderedEntries[] = view(
|
||||||
'rules.partials.trigger',
|
'rules.partials.trigger',
|
||||||
[
|
[
|
||||||
'oldTrigger' => OperatorQuerySearch::getRootOperator($entry->trigger_type),
|
'oldTrigger' => $rootOperator,
|
||||||
'oldValue' => $entry->trigger_value,
|
'oldValue' => $entry->trigger_value,
|
||||||
'oldChecked' => $entry->stop_processing,
|
'oldChecked' => $entry->stop_processing,
|
||||||
'count' => $count,
|
'oldProhibited' => str_starts_with($entry->trigger_type, '-'),
|
||||||
'triggers' => $triggers,
|
'count' => $count,
|
||||||
|
'triggers' => $triggers,
|
||||||
]
|
]
|
||||||
)->render();
|
)->render();
|
||||||
|
|
||||||
|
@ -98,11 +98,12 @@ trait RuleManagement
|
|||||||
$renderedEntries[] = view(
|
$renderedEntries[] = view(
|
||||||
'rules.partials.trigger',
|
'rules.partials.trigger',
|
||||||
[
|
[
|
||||||
'oldTrigger' => OperatorQuerySearch::getRootOperator($oldTrigger['type']),
|
'oldTrigger' => OperatorQuerySearch::getRootOperator($oldTrigger['type']),
|
||||||
'oldValue' => $oldTrigger['value'],
|
'oldValue' => $oldTrigger['value'],
|
||||||
'oldChecked' => 1 === (int) ($oldTrigger['stop_processing'] ?? '0'),
|
'oldChecked' => 1 === (int) ($oldTrigger['stop_processing'] ?? '0'),
|
||||||
'count' => $index + 1,
|
'oldProhibited' => 1 === (int) ($oldTrigger['prohibited'] ?? '0'),
|
||||||
'triggers' => $triggers,
|
'count' => $index + 1,
|
||||||
|
'triggers' => $triggers,
|
||||||
]
|
]
|
||||||
)->render();
|
)->render();
|
||||||
} catch (Throwable $e) { // @phpstan-ignore-line
|
} catch (Throwable $e) { // @phpstan-ignore-line
|
||||||
|
1
public/v1/js/ff/rules/create-edit.js
vendored
1
public/v1/js/ff/rules/create-edit.js
vendored
@ -353,6 +353,7 @@ function updateTriggerInput(selectList) {
|
|||||||
case 'has_any_tag':
|
case 'has_any_tag':
|
||||||
case 'has_attachments':
|
case 'has_attachments':
|
||||||
case 'source_is_cash':
|
case 'source_is_cash':
|
||||||
|
case 'has_no_attachments':
|
||||||
case 'destination_is_cash':
|
case 'destination_is_cash':
|
||||||
case 'account_is_cash':
|
case 'account_is_cash':
|
||||||
case 'no_external_url':
|
case 'no_external_url':
|
||||||
|
@ -1077,10 +1077,10 @@ return [
|
|||||||
'rule_trigger_not_budget_contains' => 'Neither budget contains ":trigger_value"',
|
'rule_trigger_not_budget_contains' => 'Neither budget contains ":trigger_value"',
|
||||||
'rule_trigger_not_budget_ends' => 'Neither budget ends on ":trigger_value"',
|
'rule_trigger_not_budget_ends' => 'Neither budget ends on ":trigger_value"',
|
||||||
'rule_trigger_not_budget_starts' => 'Neither budget starts with ":trigger_value"',
|
'rule_trigger_not_budget_starts' => 'Neither budget starts with ":trigger_value"',
|
||||||
'rule_trigger_not_bill_is' => 'Neither bill is ":trigger_value"',
|
'rule_trigger_not_bill_is' => 'Bill is not is ":trigger_value"',
|
||||||
'rule_trigger_not_bill_contains' => 'Neither bill contains ":trigger_value"',
|
'rule_trigger_not_bill_contains' => 'Bill does not contain ":trigger_value"',
|
||||||
'rule_trigger_not_bill_ends' => 'Neither bill ends on ":trigger_value"',
|
'rule_trigger_not_bill_ends' => 'Bill does not end on ":trigger_value"',
|
||||||
'rule_trigger_not_bill_starts' => 'Neither bill starts with ":trigger_value"',
|
'rule_trigger_not_bill_starts' => 'Bill does not end with ":trigger_value"',
|
||||||
'rule_trigger_not_external_id_is' => 'External ID is not ":trigger_value"',
|
'rule_trigger_not_external_id_is' => 'External ID is not ":trigger_value"',
|
||||||
'rule_trigger_not_external_id_contains' => 'External ID does not contain ":trigger_value"',
|
'rule_trigger_not_external_id_contains' => 'External ID does not contain ":trigger_value"',
|
||||||
'rule_trigger_not_external_id_ends' => 'External ID does not end on ":trigger_value"',
|
'rule_trigger_not_external_id_ends' => 'External ID does not end on ":trigger_value"',
|
||||||
|
@ -69,6 +69,7 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="2">{{ 'trigger'|_ }}</th>
|
<th colspan="2">{{ 'trigger'|_ }}</th>
|
||||||
|
<th>{{ 'is_not_rule_trigger'|_ }}</th>
|
||||||
<th>{{ 'trigger_value'|_ }}</th>
|
<th>{{ 'trigger_value'|_ }}</th>
|
||||||
<th>{{ 'stop_processing_other_triggers'|_ }}</th>
|
<th>{{ 'stop_processing_other_triggers'|_ }}</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
Loading…
Reference in New Issue
Block a user