Adds bottom paginator, fixes ledger issue triggered by cash payment, defaults coding to 100 percent

This commit is contained in:
Bryce
2023-06-26 20:33:14 -07:00
parent 4d4678f6f7
commit b6fe435063
20 changed files with 153 additions and 125 deletions

View File

@@ -37,7 +37,7 @@
(-> je :journal-entry/date)])
(defn upsert-ledger [db ledger-entry]
(assert (:journal-entry/date ledger-entry) "Must at least provide date when updating ledger")
(assert (:journal-entry/date ledger-entry) (format "Must at least provide date when updating ledger: %s" (pr-str ledger-entry)))
(assert (:journal-entry/client ledger-entry) "Must at least provide client when updating ledger")
;; TODO these are not always true
;; (assert (every? :journal-entry-line/account (:journal-entry/line-items ledger-entry)) "must at least provide account when updating ledger")
@@ -47,21 +47,20 @@
(when-let [external-id (:journal-entry/external-id ledger-entry)]
(dc/pull db extant-read [:journal-entry/external-id external-id])))
extant-entry-exists? (:db/id extant-entry)]
(cond->
[[:upsert-entity (into (-> ledger-entry
(assoc :db/id (or
(:db/id ledger-entry)
(:db/id extant-entry)
(-random-tempid)))
(update :journal-entry/line-items
(fn [lis]
(mapv #(-> %
(assoc :journal-entry-line/dirty true)
(assoc :journal-entry-line/client+account+location+date
(calc-client+account+location+date ledger-entry %)))
lis))))
)]]
(cond->
[[:upsert-entity (into (-> ledger-entry
(assoc :db/id (or
(:db/id ledger-entry)
(:db/id extant-entry)
(-random-tempid)))
(update :journal-entry/line-items
(fn [lis]
(mapv #(-> %
(assoc :journal-entry-line/dirty true)
(assoc :journal-entry-line/client+account+location+date
(calc-client+account+location+date ledger-entry %)))
lis)))))]]
extant-entry-exists? (into (map (fn [li]
{:journal-entry-line/dirty true
:db/id li})