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) {
|
||||
$array = explode(',', $types);
|
||||
}
|
||||
$limit = $this->integer('limit');
|
||||
$limit = $this->convertInteger('limit');
|
||||
$limit = 0 === $limit ? 10 : $limit;
|
||||
|
||||
// remove 'initial balance' from allowed types. its internal
|
||||
|
@ -261,6 +261,7 @@ class CreateController extends Controller
|
||||
public function store(RuleFormRequest $request)
|
||||
{
|
||||
$data = $request->getRuleData();
|
||||
|
||||
$rule = $this->ruleRepos->store($data);
|
||||
session()->flash('success', (string) trans('firefly.stored_new_rule', ['title' => $rule->title]));
|
||||
app('preferences')->mark();
|
||||
|
@ -189,7 +189,8 @@ class EditController extends Controller
|
||||
public function update(RuleFormRequest $request, Rule $rule)
|
||||
{
|
||||
$data = $request->getRuleData();
|
||||
$this->ruleRepos->update($rule, $data);
|
||||
|
||||
//$this->ruleRepos->update($rule, $data);
|
||||
|
||||
session()->flash('success', (string) trans('firefly.updated_rule', ['title' => $rule->title]));
|
||||
app('preferences')->mark();
|
||||
|
@ -66,11 +66,14 @@ class RuleFormRequest extends FormRequest
|
||||
if (is_array($triggerData)) {
|
||||
foreach ($triggerData as $trigger) {
|
||||
$stopProcessing = $trigger['stop_processing'] ?? '0';
|
||||
$return[] = [
|
||||
$prohibited = $trigger['prohibited'] ?? '0';
|
||||
$set = [
|
||||
'type' => $trigger['type'] ?? 'invalid',
|
||||
'value' => $trigger['value'] ?? '',
|
||||
'stop_processing' => 1 === (int) $stopProcessing,
|
||||
'prohibited' => 1 === (int) $prohibited,
|
||||
];
|
||||
$return[] = $set;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -425,9 +425,13 @@ class RuleRepository implements RuleRepositoryInterface
|
||||
$value = $trigger['value'] ?? '';
|
||||
$stopProcessing = $trigger['stop_processing'] ?? false;
|
||||
$active = $trigger['active'] ?? true;
|
||||
$type = $trigger['type'];
|
||||
if (true === $trigger['prohibited']) {
|
||||
$type = sprintf('-%s', $type);
|
||||
}
|
||||
|
||||
$triggerValues = [
|
||||
'action' => $trigger['type'],
|
||||
'action' => $type,
|
||||
'value' => $value,
|
||||
'stop_processing' => $stopProcessing,
|
||||
'order' => $order,
|
||||
|
@ -317,14 +317,19 @@ trait RenderPartialViews
|
||||
if ('user_action' !== $entry->trigger_type) {
|
||||
$count = ($index + 1);
|
||||
try {
|
||||
$rootOperator = OperatorQuerySearch::getRootOperator($entry->trigger_type);
|
||||
if(str_starts_with($rootOperator, '-')) {
|
||||
$rootOperator = substr($rootOperator, 1);
|
||||
}
|
||||
$renderedEntries[] = view(
|
||||
'rules.partials.trigger',
|
||||
[
|
||||
'oldTrigger' => OperatorQuerySearch::getRootOperator($entry->trigger_type),
|
||||
'oldValue' => $entry->trigger_value,
|
||||
'oldChecked' => $entry->stop_processing,
|
||||
'count' => $count,
|
||||
'triggers' => $triggers,
|
||||
'oldTrigger' => $rootOperator,
|
||||
'oldValue' => $entry->trigger_value,
|
||||
'oldChecked' => $entry->stop_processing,
|
||||
'oldProhibited' => str_starts_with($entry->trigger_type, '-'),
|
||||
'count' => $count,
|
||||
'triggers' => $triggers,
|
||||
]
|
||||
)->render();
|
||||
|
||||
|
@ -98,11 +98,12 @@ trait RuleManagement
|
||||
$renderedEntries[] = view(
|
||||
'rules.partials.trigger',
|
||||
[
|
||||
'oldTrigger' => OperatorQuerySearch::getRootOperator($oldTrigger['type']),
|
||||
'oldValue' => $oldTrigger['value'],
|
||||
'oldChecked' => 1 === (int) ($oldTrigger['stop_processing'] ?? '0'),
|
||||
'count' => $index + 1,
|
||||
'triggers' => $triggers,
|
||||
'oldTrigger' => OperatorQuerySearch::getRootOperator($oldTrigger['type']),
|
||||
'oldValue' => $oldTrigger['value'],
|
||||
'oldChecked' => 1 === (int) ($oldTrigger['stop_processing'] ?? '0'),
|
||||
'oldProhibited' => 1 === (int) ($oldTrigger['prohibited'] ?? '0'),
|
||||
'count' => $index + 1,
|
||||
'triggers' => $triggers,
|
||||
]
|
||||
)->render();
|
||||
} 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_attachments':
|
||||
case 'source_is_cash':
|
||||
case 'has_no_attachments':
|
||||
case 'destination_is_cash':
|
||||
case 'account_is_cash':
|
||||
case 'no_external_url':
|
||||
|
@ -1077,10 +1077,10 @@ return [
|
||||
'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_starts' => 'Neither budget starts with ":trigger_value"',
|
||||
'rule_trigger_not_bill_is' => 'Neither bill is ":trigger_value"',
|
||||
'rule_trigger_not_bill_contains' => 'Neither bill contains ":trigger_value"',
|
||||
'rule_trigger_not_bill_ends' => 'Neither bill ends on ":trigger_value"',
|
||||
'rule_trigger_not_bill_starts' => 'Neither bill starts with ":trigger_value"',
|
||||
'rule_trigger_not_bill_is' => 'Bill is not is ":trigger_value"',
|
||||
'rule_trigger_not_bill_contains' => 'Bill does not contain ":trigger_value"',
|
||||
'rule_trigger_not_bill_ends' => 'Bill does not end on ":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_contains' => 'External ID does not contain ":trigger_value"',
|
||||
'rule_trigger_not_external_id_ends' => 'External ID does not end on ":trigger_value"',
|
||||
|
@ -69,6 +69,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">{{ 'trigger'|_ }}</th>
|
||||
<th>{{ 'is_not_rule_trigger'|_ }}</th>
|
||||
<th>{{ 'trigger_value'|_ }}</th>
|
||||
<th>{{ 'stop_processing_other_triggers'|_ }}</th>
|
||||
</tr>
|
||||
|
Loading…
Reference in New Issue
Block a user