Accounts can filter by type
This commit is contained in:
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user