Makes browsing work rigth
This commit is contained in:
@@ -35,8 +35,8 @@
|
||||
:refer [apply-middleware-to-all-handlers clj-date-schema
|
||||
dissoc-nil-transformer entity-id html-response
|
||||
main-transformer modal-response money ref->enum-schema
|
||||
round-money strip wrap-entity wrap-merge-prior-hx
|
||||
wrap-schema-enforce]]
|
||||
round-money strip wrap-entity wrap-implied-route-param
|
||||
wrap-merge-prior-hx wrap-schema-enforce]]
|
||||
[auto-ap.time :as atime]
|
||||
[auto-ap.utils :refer [by dollars=]]
|
||||
[bidi.bidi :as bidi]
|
||||
@@ -132,13 +132,13 @@
|
||||
{:account-client-override/client [:db/id]}]}]}]
|
||||
[:transaction/_invoices :as :invoice/transaction] [:db/id]
|
||||
[:payment/_invoices :as :invoice/payments] [:db/id :payment/date :payment/amount
|
||||
|
||||
|
||||
{[:transaction/_payment :as :payment/transaction] [:db/id]
|
||||
[ :payment/status :xform iol-ion.query/ident] [:db/ident] }]
|
||||
[:payment/status :xform iol-ion.query/ident] [:db/ident]}]
|
||||
[:invoice/status :xform iol-ion.query/ident] [:db/ident]
|
||||
:invoice/vendor [:vendor/name :db/id]}])
|
||||
|
||||
(defn fetch-ids [db {:keys [query-params] :as request}]
|
||||
(defn fetch-ids [db {:keys [query-params route-params] :as request}]
|
||||
(let [valid-clients (extract-client-ids (:clients request)
|
||||
(:client-id request)
|
||||
(when (:client-code request)
|
||||
@@ -187,10 +187,10 @@
|
||||
(merge-query {:query {:in ['?import-status]
|
||||
:where ['[?e :invoice/import-status ?import-status]]}
|
||||
:args [(:import-status query-params)]})
|
||||
(:status query-params)
|
||||
(:status route-params)
|
||||
(merge-query {:query {:in ['?status]
|
||||
:where ['[?e :invoice/status ?status]]}
|
||||
:args [(:status query-params)]})
|
||||
:args [(:status route-params)]})
|
||||
(:vendor query-params)
|
||||
(merge-query {:query {:in ['?vendor-id]
|
||||
:where ['[?e :invoice/vendor ?vendor-id]]}
|
||||
@@ -476,7 +476,7 @@
|
||||
(concat (->> i
|
||||
:invoice/payments
|
||||
(filter (fn [p]
|
||||
(not= :payment-status/voided
|
||||
(not= :payment-status/voided
|
||||
(:payment/status p))))
|
||||
(mapcat (fn [p]
|
||||
(cond-> [{:link (hu/url (bidi/path-for ssr-routes/only-routes
|
||||
@@ -1028,9 +1028,26 @@
|
||||
(->PayWizard nil nil nil))
|
||||
|
||||
|
||||
|
||||
(defn wrap-status-from-source [handler]
|
||||
(fn [{:keys [matched-current-page-route] :as request}]
|
||||
(let [ request (cond-> request
|
||||
(= ::route/paid-page matched-current-page-route) (assoc-in [:route-params :status] :invoice-status/paid)
|
||||
(= ::route/unpaid-page matched-current-page-route) (assoc-in [:route-params :status] :invoice-status/unpaid)
|
||||
(= ::route/voided-page matched-current-page-route) (assoc-in [:route-params :status] :invoice-status/voided)
|
||||
(= ::route/all-page matched-current-page-route) (assoc-in [:route-params :status] nil))]
|
||||
(handler request))))
|
||||
|
||||
(def key->handler
|
||||
(apply-middleware-to-all-handlers
|
||||
{::route/page (helper/page-route grid-page)
|
||||
{::route/all-page (-> (helper/page-route grid-page)
|
||||
(wrap-implied-route-param :status nil))
|
||||
::route/paid-page (-> (helper/page-route grid-page)
|
||||
(wrap-implied-route-param :status :invoice-status/paid))
|
||||
::route/unpaid-page (-> (helper/page-route grid-page)
|
||||
(wrap-implied-route-param :status :invoice-status/unpaid))
|
||||
::route/voided-page (-> (helper/page-route grid-page)
|
||||
(wrap-implied-route-param :status :invoice-status/voided))
|
||||
::route/pay-button (-> pay-button
|
||||
(wrap-schema-enforce :query-schema query-schema))
|
||||
::route/delete (-> delete
|
||||
@@ -1096,6 +1113,7 @@
|
||||
::route/table (helper/table-route grid-page)}
|
||||
(fn [h]
|
||||
(-> h
|
||||
(wrap-status-from-source)
|
||||
(wrap-apply-sort grid-page)
|
||||
(wrap-merge-prior-hx)
|
||||
(wrap-schema-enforce :query-schema query-schema)
|
||||
|
||||
Reference in New Issue
Block a user