Makes browsing work rigth
This commit is contained in:
@@ -9,8 +9,8 @@
|
||||
extract-client-ids notify-if-locked]]
|
||||
[auto-ap.logging :as alog]
|
||||
[auto-ap.permissions :refer [can?]]
|
||||
[auto-ap.routes.payments :as route]
|
||||
[auto-ap.routes.invoice :as invoice-route]
|
||||
[auto-ap.routes.payments :as route]
|
||||
[auto-ap.routes.utils
|
||||
:refer [wrap-admin wrap-client-redirect-unauthenticated]]
|
||||
[auto-ap.ssr-routes :as ssr-routes]
|
||||
@@ -25,7 +25,8 @@
|
||||
:refer [apply-middleware-to-all-handlers clj-date-schema
|
||||
dissoc-nil-transformer entity-id html-response
|
||||
main-transformer modal-response ref->enum-schema strip
|
||||
wrap-entity wrap-merge-prior-hx wrap-schema-enforce]]
|
||||
wrap-entity wrap-implied-route-param wrap-merge-prior-hx
|
||||
wrap-schema-enforce]]
|
||||
[auto-ap.time :as atime]
|
||||
[bidi.bidi :as bidi]
|
||||
[clj-time.coerce :as coerce]
|
||||
@@ -128,9 +129,8 @@
|
||||
{:payment/type [:db/ident]}
|
||||
{:transaction/_payment [:db/id :transaction/date]}])
|
||||
|
||||
(defn fetch-ids [db {:keys [query-params] :as request}]
|
||||
(let [_ (alog/peek :qp (pr-str query-params))
|
||||
valid-clients (extract-client-ids (:clients request)
|
||||
(defn fetch-ids [db {:keys [query-params route-params] :as request}]
|
||||
(let [ valid-clients (extract-client-ids (:clients request)
|
||||
(:client request)
|
||||
(:client-id query-params)
|
||||
(when (:client-code query-params)
|
||||
@@ -213,10 +213,10 @@
|
||||
:args [(:amount query-params)]})
|
||||
|
||||
|
||||
(:status query-params)
|
||||
(:status route-params)
|
||||
(merge-query {:query {:in ['?status]
|
||||
:where ['[?e :payment/status ?status]]}
|
||||
:args [(:status query-params)]})
|
||||
:args [(:status route-params)]})
|
||||
|
||||
(:payment-type query-params)
|
||||
(merge-query {:query {:in '[?payment-type]
|
||||
@@ -517,11 +517,26 @@
|
||||
updated-count
|
||||
(count ids))})})))
|
||||
|
||||
|
||||
(defn wrap-status-from-source [handler]
|
||||
(fn [{:keys [matched-current-page-route] :as request}]
|
||||
(let [ request (cond-> request
|
||||
(= ::route/cleared-page matched-current-page-route) (assoc-in [:route-params :status] :payment-status/cleared)
|
||||
(= ::route/pending-page matched-current-page-route) (assoc-in [:route-params :status] :payment-status/pending)
|
||||
(= ::route/voided-page matched-current-page-route) (assoc-in [:route-params :status] :payment-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/cleared-page (-> (helper/page-route grid-page)
|
||||
(wrap-implied-route-param :status :payment-status/cleared))
|
||||
::route/pending-page (-> (helper/page-route grid-page)
|
||||
(wrap-implied-route-param :status :payment-status/pending))
|
||||
::route/voided-page (-> (helper/page-route grid-page)
|
||||
(wrap-implied-route-param :status :payment-status/voided))
|
||||
::route/all-page (-> (helper/page-route grid-page)
|
||||
(wrap-implied-route-param :status nil))
|
||||
|
||||
::route/delete (-> delete
|
||||
(wrap-entity [:route-params :db/id] default-read)
|
||||
(wrap-schema-enforce :route-params [:map [:db/id entity-id]]))
|
||||
@@ -537,6 +552,7 @@
|
||||
(-> h
|
||||
(wrap-apply-sort grid-page)
|
||||
(wrap-merge-prior-hx)
|
||||
(wrap-status-from-source)
|
||||
(wrap-schema-enforce :query-schema query-schema)
|
||||
(wrap-schema-enforce :hx-schema query-schema)
|
||||
(wrap-client-redirect-unauthenticated)))))
|
||||
Reference in New Issue
Block a user