supports looking up by check number.

This commit is contained in:
Bryce Covert
2019-03-20 21:46:44 -07:00
parent d833a85581
commit 2727573a96
4 changed files with 38 additions and 6 deletions

View File

@@ -29,7 +29,8 @@
{:payment/type [:db/ident]}])) {:payment/type [:db/ident]}]))
(defn raw-graphql [args] (defn raw-graphql [args]
(let [query (cond-> {:query {:find [default-read] (let [check-number-like (try (Long/parseLong (:check-number-like args)) (catch Exception e nil))
query (cond-> {:query {:find [default-read]
:in ['$] :in ['$]
:where ['[?e :payment/client]]} :where ['[?e :payment/client]]}
:args [(d/db (d/connect uri))]} :args [(d/db (d/connect uri))]}
@@ -54,7 +55,10 @@
(:amount args) (add-arg '?amount (:amount args) (:amount args) (add-arg '?amount (:amount args)
'[?e :payment/amount ?amount]) '[?e :payment/amount ?amount])
(:status args) (add-arg '?status (:status args) (:status args) (add-arg '?status (:status args)
'[?e :payment/status ?status]))] '[?e :payment/status ?status])
check-number-like (add-arg '?check-number-like check-number-like
'[?e :payment/check-number ?check-number-like]
#_'[(.contains ^String ?check-number ?check-number-like)]))]
(->> (d/query (->> (d/query
query) query)

View File

@@ -266,6 +266,7 @@
:payment_page {:type '(list :payment_page) :payment_page {:type '(list :payment_page)
:args {:client_id {:type :id} :args {:client_id {:type :id}
:vendor_id {:type :id} :vendor_id {:type :id}
:check_number_like {:type 'String}
:start {:type 'Int} :start {:type 'Int}
:sort_by {:type 'String} :sort_by {:type 'String}
:asc {:type 'Boolean}} :asc {:type 'Boolean}}

View File

@@ -40,7 +40,9 @@
(assoc-in [::params] params)) (assoc-in [::params] params))
:graphql {:token (-> cofx :db :user) :graphql {:token (-> cofx :db :user)
:query-obj {:venia/queries [[:payment_page :query-obj {:venia/queries [[:payment_page
(assoc params :client-id (:id @(re-frame/subscribe [::subs/client]))) (-> params
(assoc :client-id (:id @(re-frame/subscribe [::subs/client])))
(dissoc :check-number-like-current))
[[:payments [:id :status :amount :type :check_number :s3_url :date [:vendor [:name :id]] [:client [:name :id]]]] [[:payments [:id :status :amount :type :check_number :s3_url :date [:vendor [:name :id]] [:client [:name :id]]]]
:total :total
:start :start
@@ -96,6 +98,27 @@
(assoc-in updated [::params :vendor-id] value)) (assoc-in updated [::params :vendor-id] value))
updated)))) updated))))
(re-frame/reg-event-fx
::check-number-like-current-changed
(fn [{:keys [db]} [_ params check-like]]
{:db (assoc-in db [::params :check-number-like-current] check-like )
:dispatch-debounce {:event [::check-number-like-settled check-like]
:time 500
:key ::check-number-like}}))
(re-frame/reg-event-fx
::check-number-like-settled
(fn [{:keys [db]} [_ check-like]]
{:dispatch [::params-change (assoc (::params db) :check-number-like check-like :start 0) ]}))
(defn check-number-filter []
(let [{:keys [check-number-like-current] :as params} @(re-frame/subscribe [::params])]
[:div.field
[:div.control [:input.input {:placeholder "10001"
:value check-number-like-current
:on-change (fn [x]
(re-frame/dispatch [::check-number-like-current-changed params (.. x -target -value) ]))} ]]]))
(defn check-table [{:keys [id payment-page status on-params-change vendors params check-boxes checked on-check-changed expense-event]}] (defn check-table [{:keys [id payment-page status on-params-change vendors params check-boxes checked on-check-changed expense-event]}]
(let [#_#_state (reagent/atom (or @params {})) (let [#_#_state (reagent/atom (or @params {}))
selected-client @(re-frame/subscribe [::subs/client]) selected-client @(re-frame/subscribe [::subs/client])
@@ -214,5 +237,9 @@
[:p.menu-label "Vendor"] [:p.menu-label "Vendor"]
[:div [vendor-filter {:on-change-event [::change-selected-vendor] [:div [vendor-filter {:on-change-event [::change-selected-vendor]
:value (:vendor-filter @(re-frame/subscribe [::payment-page])) :value (:vendor-filter @(re-frame/subscribe [::payment-page]))
:vendors @(re-frame/subscribe [::subs/vendors])}]]] :vendors @(re-frame/subscribe [::subs/vendors])}]]
[:p.menu-label "Check #"]
[:div [check-number-filter]]
]
:main [checks-content]}]) :main [checks-content]}])

View File

@@ -847,7 +847,7 @@
{:db (assoc-in db [::params :invoice-number-like-current] invoice-like ) {:db (assoc-in db [::params :invoice-number-like-current] invoice-like )
:dispatch-debounce {:event [::invoice-number-like-settled invoice-like] :dispatch-debounce {:event [::invoice-number-like-settled invoice-like]
:time 500 :time 500
:key ::invoice-nuber-like}})) :key ::invoice-number-like}}))
(re-frame/reg-event-fx (re-frame/reg-event-fx
::invoice-number-like-settled ::invoice-number-like-settled