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]}]))
(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 ['$]
:where ['[?e :payment/client]]}
:args [(d/db (d/connect uri))]}
@@ -54,7 +55,10 @@
(:amount args) (add-arg '?amount (:amount args)
'[?e :payment/amount ?amount])
(: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
query)

View File

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

View File

@@ -40,7 +40,9 @@
(assoc-in [::params] params))
:graphql {:token (-> cofx :db :user)
: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]]]]
:total
:start
@@ -96,6 +98,27 @@
(assoc-in updated [::params :vendor-id] value))
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]}]
(let [#_#_state (reagent/atom (or @params {}))
selected-client @(re-frame/subscribe [::subs/client])
@@ -211,8 +234,12 @@
(defn checks-page []
[side-bar-layout {:side-bar
[:div
[:p.menu-label "Vendor"]
[:p.menu-label "Vendor"]
[:div [vendor-filter {:on-change-event [::change-selected-vendor]
: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]}])

View File

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