mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-02 20:15:22 +02:00
Add tag filtering (#1240)
This commit is contained in:
parent
73d61fc990
commit
e8d7ee3270
5 changed files with 40 additions and 6 deletions
|
@ -13,8 +13,15 @@ class Account::Transaction < ApplicationRecord
|
|||
class << self
|
||||
def search(params)
|
||||
query = all
|
||||
query = query.joins("LEFT JOIN categories ON categories.id = account_transactions.category_id").where(categories: { name: params[:categories] }) if params[:categories].present?
|
||||
query = query.joins("LEFT JOIN merchants ON merchants.id = account_transactions.merchant_id").where(merchants: { name: params[:merchants] }) if params[:merchants].present?
|
||||
query = query.joins(:category).where(categories: { name: params[:categories] }) if params[:categories].present?
|
||||
query = query.joins(:merchant).where(merchants: { name: params[:merchants] }) if params[:merchants].present?
|
||||
|
||||
if params[:tags].present?
|
||||
query = query.joins(:tags)
|
||||
.where(tags: { name: params[:tags] })
|
||||
.distinct
|
||||
end
|
||||
|
||||
query
|
||||
end
|
||||
|
||||
|
@ -25,7 +32,7 @@ class Account::Transaction < ApplicationRecord
|
|||
private
|
||||
|
||||
def searchable_keys
|
||||
%i[categories merchants]
|
||||
%i[categories merchants tags]
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue