From e75ef6b884d1d7ecaab43d25a06209720ee0f6e7 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Wed, 23 Jan 2019 10:40:44 -0800 Subject: [PATCH] mostly supporting showing when something cleared. --- src/clj/auto_ap/datomic/invoices.clj | 3 ++- src/clj/auto_ap/graphql.clj | 7 +++++-- src/cljs/auto_ap/views/components/invoice_table.cljs | 10 +++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/clj/auto_ap/datomic/invoices.clj b/src/clj/auto_ap/datomic/invoices.clj index 85a15d22..60f3eb07 100644 --- a/src/clj/auto_ap/datomic/invoices.clj +++ b/src/clj/auto_ap/datomic/invoices.clj @@ -18,7 +18,8 @@ {:invoice/client [:client/name :db/id :client/locations]} {:invoice/vendor [:vendor/name :db/id]} {:invoice/status [:db/ident]} - {:invoice-payment/_invoice [* {:invoice-payment/payment [*]}]}])) + {:invoice-payment/_invoice [* {:invoice-payment/payment [* {:payment/status [*]} + {:transaction/_payment [*]}]}]}])) (defn <-datomic [x] (->> x diff --git a/src/clj/auto_ap/graphql.clj b/src/clj/auto_ap/graphql.clj index d3dd1230..2ec8a8d5 100644 --- a/src/clj/auto_ap/graphql.clj +++ b/src/clj/auto_ap/graphql.clj @@ -30,7 +30,9 @@ { :scalars {:id { :parse (schema/as-conformer #(Long/parseLong %)) - :serialize (schema/as-conformer #(.toString %))}} + :serialize (schema/as-conformer #(.toString %))} + :ident {:parse (schema/as-conformer (fn [x] {:ident x})) + :serialize (schema/as-conformer #(do (println %) (:ident %)))}} :objects { :client @@ -109,7 +111,8 @@ :memo {:type 'String} :s3_url {:type 'String} :check_number {:type 'Int} - :status {:type 'String} + :status {:type :ident} + :transaction {:type :transaction} :invoices {:type '(list :invoice_payment)} }} diff --git a/src/cljs/auto_ap/views/components/invoice_table.cljs b/src/cljs/auto_ap/views/components/invoice_table.cljs index f4be987e..41d54346 100644 --- a/src/cljs/auto_ap/views/components/invoice_table.cljs +++ b/src/cljs/auto_ap/views/components/invoice_table.cljs @@ -47,8 +47,8 @@ [:expense_accounts [:amount :id :expense_account_id :location [:expense_account [:id :name :location [:parent [:id :name]]]]]] [:client [:name :id :locations]] - [:payments [:amount :id [:payment [:id :amount :s3_url :check_number ]]]] - ]] + [:payments [:amount :id [:payment [:id :status :amount :s3_url :check_number + [:transaction [:post_date]]]]]]]] :total :start :end]]]}) @@ -208,6 +208,10 @@ [:a.dropdown-item {:href (:s3-url (:payment payment)) :target "_new"} [:i.fa.fa-money-check] [:span.icon [:i.fa.fa-money]] (str " " (:check-number (:payment payment)) " (" (gstring/format "$%.2f" (:amount payment) ) ")")] ^{:key (:id payment)} - [:span.dropdown-item [:i.fa.fa-money-check] [:span.icon [:i.fa.fa-money]] (str " " (:check-number (:payment payment)) " (" (gstring/format "$%.2f" (:amount payment) ) ")")]))]]]) + [:span.dropdown-item [:span.icon {:class [(when (= :cleared (:status (:payment payment))) + "has-text-success")]} + [:i.fa.fa-money]] (str " " (:check-number (:payment payment)) " (" (gstring/format "$%.2f" (:amount payment) ) ") " + (when (= :cleared (:status (:payment payment))) + (str " - " (:post-date (:transaction (:payment payment))))))]))]]]) ]]))]]]))))