2024-07-01 10:49:43 -04:00
|
|
|
module TransactionsHelper
|
2024-05-30 20:55:18 -04:00
|
|
|
def transaction_search_filters
|
|
|
|
[
|
|
|
|
{ key: "account_filter", name: "Account", icon: "layers" },
|
|
|
|
{ key: "date_filter", name: "Date", icon: "calendar" },
|
|
|
|
{ key: "type_filter", name: "Type", icon: "shapes" },
|
|
|
|
{ key: "amount_filter", name: "Amount", icon: "hash" },
|
|
|
|
{ key: "category_filter", name: "Category", icon: "tag" },
|
|
|
|
{ key: "merchant_filter", name: "Merchant", icon: "store" }
|
|
|
|
]
|
|
|
|
end
|
|
|
|
|
|
|
|
def get_transaction_search_filter_partial_path(filter)
|
|
|
|
"transactions/searches/filters/#{filter[:key]}"
|
|
|
|
end
|
|
|
|
|
|
|
|
def get_default_transaction_search_filter
|
|
|
|
transaction_search_filters[0]
|
|
|
|
end
|
|
|
|
|
|
|
|
def transactions_path_without_param(param_key, param_value)
|
|
|
|
updated_params = request.query_parameters.deep_dup
|
|
|
|
|
|
|
|
q_params = updated_params[:q] || {}
|
|
|
|
|
|
|
|
current_value = q_params[param_key]
|
|
|
|
if current_value.is_a?(Array)
|
|
|
|
q_params[param_key] = current_value - [ param_value ]
|
|
|
|
else
|
|
|
|
q_params.delete(param_key)
|
|
|
|
end
|
|
|
|
|
|
|
|
updated_params[:q] = q_params
|
|
|
|
|
|
|
|
transactions_path(updated_params)
|
|
|
|
end
|
|
|
|
end
|