no need for ledger automation.

This commit is contained in:
2022-09-27 17:04:47 -07:00
parent 90743ab3a3
commit 63254ba401
9 changed files with 163 additions and 201 deletions

View File

@@ -1,7 +1,8 @@
(ns auto-ap.graphql.invoices
(:require
[auto-ap.datomic
:refer [audit-transact conn remove-nils uri]]
:refer [conn remove-nils uri]]
[auto-ap.ledger :refer [transact-with-ledger]]
[auto-ap.datomic.clients :as d-clients]
[auto-ap.datomic.invoices :as d-invoices]
[auto-ap.datomic.vendors :as d-vendors]
@@ -59,7 +60,7 @@
(doseq [i invoices]
(assert-can-see-client (:id context) (:db/id (:invoice/client (d/entity (d/db conn) i)))))
(let [transactions (map (fn [i] [:db/retractEntity i]) invoices)]
(audit-transact transactions (:id context))
(transact-with-ledger transactions (:id context))
invoices))
(defn approve-invoices [context {:keys [invoices]} _]
@@ -69,7 +70,7 @@
(assert-can-see-client (:id context) (-> invoice :invoice/client :db/id))
(assert-not-locked (-> invoice :invoice/client :db/id) (-> invoice :invoice/date)))
(let [transactions (map (fn [i] {:db/id i :invoice/import-status :import-status/imported}) invoices)]
(audit-transact transactions (:id context))
(transact-with-ledger transactions (:id context))
invoices))
(defn assert-no-conflicting [{:keys [invoice_number client_id vendor_id]}]
@@ -166,7 +167,7 @@
(assert-valid-expense-accounts expense_accounts)
(assert-invoice-amounts-add-up in)
(let [transaction-result (audit-transact [(add-invoice-transaction in)] (:id context))]
(let [transaction-result (transact-with-ledger [(add-invoice-transaction in)] (:id context))]
(-> (d-invoices/get-by-id (get-in transaction-result [:tempids "invoice"]))
(->graphql (:id context)))))
@@ -183,7 +184,7 @@
(assert-not-locked client_id (:date in))
(assert-valid-expense-accounts (:expense_accounts in))
(assert-invoice-amounts-add-up in)
(let [transaction-result (audit-transact [(add-invoice-transaction in)] (:id context))]
(let [transaction-result (transact-with-ledger [(add-invoice-transaction in)] (:id context))]
(-> (gq-checks/print-checks-internal [{:invoice-id (get-in transaction-result [:tempids "invoice"])
:amount total}]
client_id
@@ -217,7 +218,7 @@
expense_accounts)}
due (assoc :invoice/due (coerce/to-date due))
scheduled_payment (assoc :invoice/scheduled-payment (coerce/to-date scheduled_payment)))]
(audit-transact (concat [updated-invoice]
(transact-with-ledger (concat [updated-invoice]
(map (fn [d] [:db/retract id :invoice/expense-accounts d]) deleted))
(:id context))
(-> (d-invoices/get-by-id id)
@@ -227,7 +228,7 @@
(let [invoice (d-invoices/get-by-id id)]
(assert-can-see-client (:id context) (:db/id (:invoice/client invoice)))
(assert-not-locked (:db/id (:invoice/client invoice)) (:invoice/date invoice))
(audit-transact [{:db/id id
(transact-with-ledger [{:db/id id
:invoice/total 0.0
:invoice/outstanding-balance 0.0
:invoice/status :invoice-status/voided
@@ -253,7 +254,7 @@
all-ids (into (set ids) specific-ids)]
(log/info "Voiding " (count all-ids) args)
(audit-transact
(transact-with-ledger
(->> all-ids
(d/q '[:find [(pull ?i [:db/id :invoice/date {:invoice/expense-accounts [:db/id]}]) ...]
:in $ [?i ...]
@@ -293,7 +294,7 @@
:in ['$ '?e]}
:args [history id]})
[last-transaction] (->> txs (sort-by first) (last))]
(audit-transact [(->> txs
(transact-with-ledger [(->> txs
(filter (fn [[tx]] (= tx last-transaction)))
(reduce (fn [new-transaction [_ entity original-status original-outstanding total expense-account expense-account-amount]]
(-> new-transaction
@@ -313,7 +314,7 @@
(assert-can-see-client (:id context) (:db/id (:invoice/client invoice)))
(assert-not-locked (:db/id (:invoice/client invoice)) (:invoice/date invoice))
(assert (not (seq (:invoice-payment/_invoice invoice))))
(audit-transact [[:db/add id :invoice/status :invoice-status/unpaid]
(transact-with-ledger [[:db/add id :invoice/status :invoice-status/unpaid]
[:db/add id :invoice/outstanding-balance (:invoice/total invoice)]
[:db/retract id :invoice/scheduled-payment (:invoice/scheduled-payment invoice)]]
(:id context))
@@ -333,7 +334,7 @@
expense-account->entity
(:expense_accounts args))}]
(audit-transact (concat [updated]
(transact-with-ledger (concat [updated]
(map (fn [d] [:db/retract invoice-id :invoice/expense-accounts d]) deleted))
(:id context))
(->graphql