1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-05 05:25:24 +02:00

Add Transaction Merchant management (#686)

* Add basid crud for merchant management

* Tweak UI and add localization

* Fix lint

* Add filtering by merchant

* Add tests

* Add stimulus controller to update avatar in merchant form

* Add line between merchant rows

* Change default merchant color

* Cleanup
This commit is contained in:
Jakub Kottnauer 2024-04-29 21:17:28 +02:00 committed by GitHub
parent 7f491f5064
commit 9549182462
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 363 additions and 18 deletions

View file

@ -3,6 +3,7 @@ class Transaction < ApplicationRecord
belongs_to :account
belongs_to :category, optional: true
belongs_to :merchant, optional: true
validates :name, :date, :amount, :account, presence: true
@ -56,7 +57,7 @@ class Transaction < ApplicationRecord
end
def self.ransackable_associations(auth_object = nil)
%w[category account]
%w[category merchant account]
end
def self.build_filter_list(params, family)
@ -77,7 +78,11 @@ class Transaction < ApplicationRecord
value.each do |category_id|
filters << { type: "category", value: family.transaction_categories.find(category_id), original: { key: key, value: category_id } }
end
when "category_name_or_account_name_or_name_cont"
when "merchant_id_in"
value.each do |merchant_id|
filters << { type: "merchant", value: family.transaction_merchants.find(merchant_id), original: { key: key, value: merchant_id } }
end
when "category_name_or_merchant_name_or_account_name_or_name_cont"
filters << { type: "search", value: value, original: { key: key, value: nil } }
when "date_gteq"
date_filters[:gteq] = value