Accounts can filter by type
This commit is contained in:
@@ -64,7 +64,26 @@
|
|||||||
:class "hot-filter"
|
:class "hot-filter"
|
||||||
:value (:code (:parsed-query-params request))
|
:value (:code (:parsed-query-params request))
|
||||||
:placeholder "11101"
|
: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
|
(def default-read '[:db/id
|
||||||
:account/code
|
:account/code
|
||||||
@@ -82,9 +101,9 @@
|
|||||||
(defn fetch-ids [db request]
|
(defn fetch-ids [db request]
|
||||||
(let [query-params (:parsed-query-params request)
|
(let [query-params (:parsed-query-params request)
|
||||||
query (cond-> {:query {:find []
|
query (cond-> {:query {:find []
|
||||||
:in '[$ ]
|
:in '[$]
|
||||||
:where '[]}
|
:where '[]}
|
||||||
:args [db ]}
|
:args [db]}
|
||||||
(:sort query-params) (add-sorter-fields {"name" ['[?e :account/name ?n]
|
(:sort query-params) (add-sorter-fields {"name" ['[?e :account/name ?n]
|
||||||
'[(clojure.string/upper-case ?n) ?sort-name]]
|
'[(clojure.string/upper-case ?n) ?sort-name]]
|
||||||
"code" ['[(get-else $ ?e :account/numeric-code 0) ?sort-code]]
|
"code" ['[(get-else $ ?e :account/numeric-code 0) ?sort-code]]
|
||||||
@@ -96,17 +115,24 @@
|
|||||||
(merge-query {:query {:find []
|
(merge-query {:query {:find []
|
||||||
:in ['?ns]
|
:in ['?ns]
|
||||||
:where ['[?e :account/name ?an]
|
:where ['[?e :account/name ?an]
|
||||||
'[(clojure.string/upper-case ?an) ?upper-an]
|
'[(clojure.string/upper-case ?an) ?upper-an]
|
||||||
'[(clojure.string/includes? ?upper-an ?ns)]]}
|
'[(clojure.string/includes? ?upper-an ?ns)]]}
|
||||||
:args [(str/upper-case (:name query-params))]})
|
:args [(str/upper-case (:name query-params))]})
|
||||||
|
|
||||||
(some->> query-params :code)
|
(some->> query-params :code)
|
||||||
(merge-query {:query {:find []
|
(merge-query {:query {:find []
|
||||||
:in ['?nc]
|
:in ['?nc]
|
||||||
:where ['[?e :account/numeric-code ?nc]
|
:where ['[?e :account/numeric-code ?nc]]}
|
||||||
]}
|
|
||||||
:args [(:code query-params)]})
|
: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
|
true
|
||||||
(merge-query {:query {:find ['?sort-default '?e]
|
(merge-query {:query {:find ['?sort-default '?e]
|
||||||
:where ['[?e :account/numeric-code ?un]
|
:where ['[?e :account/numeric-code ?un]
|
||||||
|
|||||||
Reference in New Issue
Block a user