diff --git a/src/clj/auto_ap/datomic/invoices.clj b/src/clj/auto_ap/datomic/invoices.clj index dc4a7efa..5f4d19aa 100644 --- a/src/clj/auto_ap/datomic/invoices.clj +++ b/src/clj/auto_ap/datomic/invoices.clj @@ -80,6 +80,10 @@ (<-datomic) (first))) +(defn update [update] + @(d/transact (d/connect uri) [update]) + (get-by-id (:db/id update) )) + (defn get-multi [ids] (->> (d/query {:query {:find [[default-read '...]] diff --git a/src/clj/auto_ap/graphql.clj b/src/clj/auto_ap/graphql.clj index 11b4233d..b2ab0fbc 100644 --- a/src/clj/auto_ap/graphql.clj +++ b/src/clj/auto_ap/graphql.clj @@ -324,7 +324,7 @@ :args {:invoice {:type :edit_invoice}} :resolve :mutation/edit-invoice} :void_invoice {:type :invoice - :args {:invoice_id {:type 'Int}} + :args {:invoice_id {:type 'String}} :resolve :mutation/void-invoice} :void_payment {:type :payment :args {:payment_id {:type 'String}} diff --git a/src/clj/auto_ap/graphql/invoices.clj b/src/clj/auto_ap/graphql/invoices.clj index 560ca98f..62666d1e 100644 --- a/src/clj/auto_ap/graphql/invoices.clj +++ b/src/clj/auto_ap/graphql/invoices.clj @@ -64,12 +64,12 @@ (->graphql)))) (defn void-invoice [context {id :invoice_id} value] - (let [invoice (invoices/get-by-id id) + (let [invoice (d-invoices/get-by-id id) _ (assert-can-see-company (:id context) (:company-id invoice)) - updated-invoice (invoices/update {:id id - :total 0 - :outstanding-balance 0 - :status "voided"})] + updated-invoice (d-invoices/update {:db/id (Long/parseLong id) + :invoice/total 0.0 + :invoice/outstanding-balance 0.0 + :invoice/status :invoice-status/voided})] (-> updated-invoice (->graphql)))) diff --git a/src/cljs/auto_ap/views/pages/unpaid_invoices.cljs b/src/cljs/auto_ap/views/pages/unpaid_invoices.cljs index d80c4172..01eafc86 100644 --- a/src/cljs/auto_ap/views/pages/unpaid_invoices.cljs +++ b/src/cljs/auto_ap/views/pages/unpaid_invoices.cljs @@ -309,7 +309,7 @@ :venia/queries [{:query/data [:void-invoice {:invoice-id id} [:id :total :outstanding-balance :date :invoice-number - [:company [:id :name :locations]] + [:client [:id :name :locations]] [:vendor [:id :name]] [:expense_accounts [:amount :id :expense_account_id :location