Updates allowed to change more than one entity at a time
This commit is contained in:
@@ -64,9 +64,15 @@
|
||||
(:invoice/expense-accounts entity)))
|
||||
:journal-entry/cleared (and (< (:invoice/outstanding-balance entity) 0.01)
|
||||
(every? #(= :payment-status/cleared (:payment/status %)) (:invoice/payments entity))
|
||||
)})))
|
||||
|
||||
)
|
||||
)}))))
|
||||
|
||||
(defn current-date [db]
|
||||
(let [ last-tx (dc/t->tx (dc/basis-t db))
|
||||
[[date]] (seq (dc/q '[:find ?ti :in $ ?tx
|
||||
:where [?tx :db/txInstant ?ti]]
|
||||
db
|
||||
last-tx))]
|
||||
date))
|
||||
|
||||
(defn upsert-invoice [db invoice]
|
||||
(let [upserted-entity [[:upsert-entity invoice]]
|
||||
@@ -86,4 +92,4 @@
|
||||
[[:upsert-ledger journal-entry]]
|
||||
[[:db/retractEntity [:journal-entry/original-entity (:db/id invoice)]]
|
||||
{:db/id client-id
|
||||
:client/ledger-last-change (Date.)}]))))
|
||||
:client/ledger-last-change (current-date db)}]))))
|
||||
|
||||
@@ -25,8 +25,13 @@
|
||||
(def extant-read '[:db/id :journal-entry/date :journal-entry/client {:journal-entry/line-items [:journal-entry-line/account :journal-entry-line/location :db/id :journal-entry-line/client+account+location+date]}])
|
||||
|
||||
|
||||
(defn now []
|
||||
(Date.))
|
||||
(defn current-date [db]
|
||||
(let [ last-tx (dc/t->tx (dc/basis-t db))
|
||||
[[date]] (seq (dc/q '[:find ?ti :in $ ?tx
|
||||
:where [?tx :db/txInstant ?ti]]
|
||||
db
|
||||
last-tx))]
|
||||
date))
|
||||
|
||||
(defn calc-client+account+location+date [je jel]
|
||||
[(or
|
||||
@@ -54,12 +59,12 @@
|
||||
(:db/id ledger-entry)
|
||||
(:db/id extant-entry)
|
||||
(-random-tempid)))
|
||||
(update :journal-entry/line-items
|
||||
(update :journal-entry/line-items
|
||||
(fn [lis]
|
||||
(mapv #(-> %
|
||||
(assoc :journal-entry-line/date (:journal-entry/date ledger-entry))
|
||||
(assoc :journal-entry-line/client (:journal-entry/client ledger-entry)))
|
||||
lis)))))]
|
||||
{:db/id (:journal-entry/client ledger-entry)
|
||||
:client/ledger-last-change (now)}])))
|
||||
:client/ledger-last-change (current-date db)}])))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user