scalar type for id simplifies parsing longs.
This commit is contained in:
@@ -31,8 +31,8 @@
|
||||
|
||||
(defn add-invoice [context {{:keys [total invoice_number location client_id vendor_id vendor_name date] :as in} :invoice} value]
|
||||
(when (seq (d-invoices/find-conflicting {:invoice/invoice-number invoice_number
|
||||
:invoice/vendor (Long/parseLong vendor_id)
|
||||
:invoice/client (Long/parseLong client_id)}))
|
||||
:invoice/vendor vendor_id
|
||||
:invoice/client client_id}))
|
||||
(throw (ex-info (str "Invoice '" invoice_number "' already exists.") {:invoice-number invoice_number})))
|
||||
(let [_ (assert-can-see-company (:id context) client_id)
|
||||
vendor (d-vendors/get-by-id vendor_id)
|
||||
@@ -42,8 +42,8 @@
|
||||
(throw (ex-info (str "Vendor '" (:vendor/name vendor) "' does not have a default expense acount.") {:vendor-id vendor_id} )))
|
||||
transaction [{:db/id "invoice"
|
||||
:invoice/invoice-number invoice_number
|
||||
:invoice/client (Long/parseLong client_id)
|
||||
:invoice/vendor (Long/parseLong vendor_id)
|
||||
:invoice/client client_id
|
||||
:invoice/vendor vendor_id
|
||||
:invoice/total total
|
||||
:invoice/outstanding-balance total
|
||||
:invoice/status :invoice-status/unpaid
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
(let [invoice (d-invoices/get-by-id id)
|
||||
|
||||
_ (when (seq (doto (d-invoices/find-conflicting {:db/id (Long/parseLong id)
|
||||
_ (when (seq (doto (d-invoices/find-conflicting {:db/id id
|
||||
:invoice/invoice-number invoice_number
|
||||
:invoice/vendor (:db/id (:invoice/vendor invoice))
|
||||
:invoice/client (:db/id (:invoice/client invoice))})
|
||||
@@ -72,7 +72,7 @@
|
||||
(throw (ex-info (str "Invoice '" invoice_number "' already exists.") {:invoice-number invoice_number})))
|
||||
paid-amount (- (:invoice/total invoice) (:invoice/outstanding-balance invoice))
|
||||
_ (assert-can-see-company (:id context) (:db/id (:client invoice)))
|
||||
updated-invoice (d-invoices/update {:db/id (Long/parseLong id)
|
||||
updated-invoice (d-invoices/update {:db/id id
|
||||
:invoice/invoice-number invoice_number
|
||||
:invoice/date (coerce/to-date (parse date iso-date))
|
||||
:invoice/total total
|
||||
@@ -83,7 +83,7 @@
|
||||
(defn void-invoice [context {id :invoice_id} value]
|
||||
(let [invoice (d-invoices/get-by-id id)
|
||||
_ (assert-can-see-company (:id context) (:company-id invoice))
|
||||
updated-invoice (d-invoices/update {:db/id (Long/parseLong id)
|
||||
updated-invoice (d-invoices/update {:db/id id
|
||||
:invoice/total 0.0
|
||||
:invoice/outstanding-balance 0.0
|
||||
:invoice/status :invoice-status/voided})]
|
||||
@@ -96,12 +96,14 @@
|
||||
|
||||
|
||||
(defn edit-expense-accounts [context args value]
|
||||
;; TODO - Can expense account id be used as a unique field? It may compose with component, meaning
|
||||
;; that you don't have to figure out which ones to delete and which ones to add. Just set to 0.
|
||||
(assert-can-see-company (:id context) (:db/id (:client (d-invoices/get-by-id (:invoice_id args)))))
|
||||
(let [current-expense-accounts (:invoice/expense-accounts (d-invoices/get-by-id (:invoice_id args)))
|
||||
invoice-id (Long/parseLong (:invoice_id args))
|
||||
invoice-id (:invoice_id args)
|
||||
|
||||
specified-ids (->> (:expense_accounts args)
|
||||
(map #(some-> % :id (Long/parseLong )))
|
||||
(map :id)
|
||||
set)
|
||||
|
||||
existing-ids (->> current-expense-accounts
|
||||
@@ -114,7 +116,7 @@
|
||||
{:db/id invoice-id
|
||||
:invoice/expense-accounts [#:invoice-expense-account {
|
||||
:amount (Double/parseDouble amount)
|
||||
:db/id (some-> id Long/parseLong)
|
||||
:db/id id
|
||||
:expense-account-id expense_account_id
|
||||
:location location}
|
||||
]}
|
||||
|
||||
Reference in New Issue
Block a user