mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-24 07:39:39 +02:00
Add rule option to change transaction name (#2175)
* Add change name rule for transaction * Use HTML template in the ERB, clone and inject those templates from the stimulus controller * Put back the ai_enabled check * Update docs * Example of what no case statement would look like * Remove action_type and needs_value now that controller is injecting templates/hiding action target * add "to" to template, improve no-option selection, ensure text box is cleared
This commit is contained in:
parent
c0267d5665
commit
60c3a04a48
6 changed files with 129 additions and 29 deletions
29
app/models/rule/action_executor/set_transaction_name.rb
Normal file
29
app/models/rule/action_executor/set_transaction_name.rb
Normal file
|
@ -0,0 +1,29 @@
|
|||
class Rule::ActionExecutor::SetTransactionName < Rule::ActionExecutor
|
||||
def type
|
||||
"text"
|
||||
end
|
||||
|
||||
def options
|
||||
nil
|
||||
end
|
||||
|
||||
def execute(transaction_scope, value: nil, ignore_attribute_locks: false)
|
||||
return if value.blank?
|
||||
|
||||
scope = transaction_scope
|
||||
unless ignore_attribute_locks
|
||||
scope = scope.enrichable(:name)
|
||||
end
|
||||
|
||||
scope.each do |txn|
|
||||
Rule.transaction do
|
||||
txn.entry.log_enrichment!(
|
||||
attribute_name: "name",
|
||||
attribute_value: value,
|
||||
source: "rule"
|
||||
)
|
||||
txn.entry.update!(name: value)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue