Add unresolved-only and financial account filters to SSR transaction listing
This commit is contained in:
@@ -1,8 +1,9 @@
|
|||||||
(ns auto-ap.ssr.transaction.common
|
(ns auto-ap.ssr.transaction.common
|
||||||
(:require
|
(:require
|
||||||
[auto-ap.datomic :refer [add-sorter-fields apply-pagination apply-sort-4
|
[auto-ap.datomic :refer [add-sorter-fields apply-pagination apply-sort-4
|
||||||
conn merge-query observable-query pull-many]]
|
conn merge-query observable-query pull-many]]
|
||||||
[auto-ap.graphql.utils :refer [extract-client-ids is-admin?]]
|
[auto-ap.datomic.accounts :as d-accounts]
|
||||||
|
[auto-ap.graphql.utils :refer [extract-client-ids is-admin?]]
|
||||||
[auto-ap.routes.invoice :as invoice-routes]
|
[auto-ap.routes.invoice :as invoice-routes]
|
||||||
[auto-ap.routes.ledger :as ledger-routes]
|
[auto-ap.routes.ledger :as ledger-routes]
|
||||||
[auto-ap.routes.payments :as payment-routes]
|
[auto-ap.routes.payments :as payment-routes]
|
||||||
@@ -39,8 +40,9 @@
|
|||||||
:else
|
:else
|
||||||
(boolean %))}}]]]
|
(boolean %))}}]]]
|
||||||
[:description {:optional true} [:maybe [:string {:decode/string strip}]]]
|
[:description {:optional true} [:maybe [:string {:decode/string strip}]]]
|
||||||
[:vendor {:optional true :default nil} [:maybe [:entity-map {:pull [:db/id :vendor/name]}]]]
|
[:vendor {:optional true :default nil} [:maybe [:entity-map {:pull [:db/id :vendor/name]}]]]
|
||||||
[:bank-account {:optional true :default nil} [:maybe [:entity-map {:pull [:db/id :bank-account/numeric-code]}]]]
|
[:bank-account {:optional true :default nil} [:maybe [:entity-map {:pull [:db/id :bank-account/numeric-code]}]]]
|
||||||
|
[:account {:optional true :default nil} [:maybe [:entity-map {:pull [:db/id :account/name]}]]]
|
||||||
#_[:status {:optional true} [:maybe (ref->enum-schema "transaction-status")]]
|
#_[:status {:optional true} [:maybe (ref->enum-schema "transaction-status")]]
|
||||||
[:exact-match-id {:optional true} [:maybe entity-id]]
|
[:exact-match-id {:optional true} [:maybe entity-id]]
|
||||||
[:all-selected {:optional true :default nil} [:maybe :boolean]]
|
[:all-selected {:optional true :default nil} [:maybe :boolean]]
|
||||||
@@ -150,11 +152,17 @@
|
|||||||
:where ['[?e :transaction/bank-account ?ba]]}
|
:where ['[?e :transaction/bank-account ?ba]]}
|
||||||
:args [(:db/id (:bank-account args))]})
|
:args [(:db/id (:bank-account args))]})
|
||||||
|
|
||||||
(:vendor args)
|
(:vendor args)
|
||||||
(merge-query {:query {:in ['?vendor-id]
|
(merge-query {:query {:in ['?vendor-id]
|
||||||
:where ['[?e :transaction/vendor ?vendor-id]]}
|
:where ['[?e :transaction/vendor ?vendor-id]]}
|
||||||
:args [(:db/id (:vendor args))]})
|
:args [(:db/id (:vendor args))]})
|
||||||
(:import-batch-id args)
|
|
||||||
|
(:db/id (:account args))
|
||||||
|
(merge-query {:query {:in ['?account-id]
|
||||||
|
:where ['[?e :transaction/accounts ?tas]
|
||||||
|
'[?tas :transaction-account/account ?account-id]]}
|
||||||
|
:args [(:db/id (:account args))]})
|
||||||
|
(:import-batch-id args)
|
||||||
(merge-query {:query {:in ['?import-batch-id]
|
(merge-query {:query {:in ['?import-batch-id]
|
||||||
:where ['[?import-batch-id :import-batch/entry ?e]]}
|
:where ['[?import-batch-id :import-batch/entry ?e]]}
|
||||||
:args [(:import-batch-id args)]})
|
:args [(:import-batch-id args)]})
|
||||||
@@ -249,14 +257,22 @@
|
|||||||
(com/hidden {:name "status"
|
(com/hidden {:name "status"
|
||||||
:value (some-> (:status (:query-params request)) name)})
|
:value (some-> (:status (:query-params request)) name)})
|
||||||
[:fieldset.space-y-6
|
[:fieldset.space-y-6
|
||||||
(com/field {:label "Vendor"}
|
(com/field {:label "Vendor"}
|
||||||
(com/typeahead {:name "vendor"
|
(com/typeahead {:name "vendor"
|
||||||
:id "vendor"
|
:id "vendor"
|
||||||
:url (bidi/path-for ssr-routes/only-routes :vendor-search)
|
:url (bidi/path-for ssr-routes/only-routes :vendor-search)
|
||||||
:value (:vendor (:query-params request))
|
:value (:vendor (:query-params request))
|
||||||
:value-fn :db/id
|
:value-fn :db/id
|
||||||
:content-fn :vendor/name}))
|
:content-fn :vendor/name}))
|
||||||
(bank-account-filter* request)
|
(com/field {:label "Financial Account"}
|
||||||
|
(com/typeahead {:name "account"
|
||||||
|
:id "account"
|
||||||
|
:url (bidi/path-for ssr-routes/only-routes :account-search)
|
||||||
|
:value (:account (:query-params request))
|
||||||
|
:value-fn :db/id
|
||||||
|
:content-fn #(:account/name (d-accounts/clientize (dc/pull (dc/db conn) d-accounts/default-read (:db/id %))
|
||||||
|
(:db/id (:client request))))}))
|
||||||
|
(bank-account-filter* request)
|
||||||
|
|
||||||
(date-range-field* request)
|
(date-range-field* request)
|
||||||
(com/field {:label "Description"}
|
(com/field {:label "Description"}
|
||||||
|
|||||||
Reference in New Issue
Block a user