Accounts can filter by type

This commit is contained in:
2024-05-01 12:54:26 -07:00
parent f79872a924
commit 4f1b1bcca2

View File

@@ -64,7 +64,26 @@
:class "hot-filter"
:value (:code (:parsed-query-params request))
:placeholder "11101"
:size :small}))]])
:size :small}))
(com/field {:label "Type"}
(com/radio-card {:size :small
:name "type"
:options [{:value ""
:content "All"}
{:value "dividend"
:content "Dividend"}
{:value "asset"
:content "Asset"}
{:value "equity"
:content "Equity"}
{:value "liability"
:content "Liability"}
{:value "expense"
:content "Expense"}
{:value "revenue"
:content "Revenue"}
{:value "none"
:content "None"}]}))]])
(def default-read '[:db/id
:account/code
@@ -82,9 +101,9 @@
(defn fetch-ids [db request]
(let [query-params (:parsed-query-params request)
query (cond-> {:query {:find []
:in '[$ ]
:in '[$]
:where '[]}
:args [db ]}
:args [db]}
(:sort query-params) (add-sorter-fields {"name" ['[?e :account/name ?n]
'[(clojure.string/upper-case ?n) ?sort-name]]
"code" ['[(get-else $ ?e :account/numeric-code 0) ?sort-code]]
@@ -96,17 +115,24 @@
(merge-query {:query {:find []
:in ['?ns]
:where ['[?e :account/name ?an]
'[(clojure.string/upper-case ?an) ?upper-an]
'[(clojure.string/includes? ?upper-an ?ns)]]}
'[(clojure.string/upper-case ?an) ?upper-an]
'[(clojure.string/includes? ?upper-an ?ns)]]}
:args [(str/upper-case (:name query-params))]})
(some->> query-params :code)
(merge-query {:query {:find []
:in ['?nc]
:where ['[?e :account/numeric-code ?nc]
]}
:where ['[?e :account/numeric-code ?nc]]}
:args [(:code query-params)]})
(some->> query-params :type)
(merge-query {:query {:find []
:in ['?rir]
:where ['[?e :account/type ?r]
'[?r :db/ident ?ri]
'[(name ?ri) ?rir] ]}
:args [(some->> query-params :type)]})
true
(merge-query {:query {:find ['?sort-default '?e]
:where ['[?e :account/numeric-code ?un]