Supports ledger ignore

This commit is contained in:
Bryce Covert
2020-10-06 07:25:46 -07:00
parent cdccaf0572
commit 71fc8f69eb
6 changed files with 114 additions and 83 deletions

View File

@@ -62,10 +62,11 @@
(fn [{:keys [db]} [_ result]]
(let [successful-set (set (map :external-id (:successful (:import-ledger result))))
error-set (into {} (map (juxt :external-id :error) (:errors (:import-ledger result))))
existing-set (set (map :external-id (:existing (:import-ledger result))))]
existing-set (set (map :external-id (:existing (:import-ledger result))))
ignored-set (set (map :external-id (:ignored (:import-ledger result))))]
{:db (-> (forms/save-succeeded db ::form )
(assoc-in [::forms/forms ::form :result] {:errors error-set :success successful-set :existing existing-set})
(assoc-in [::forms/forms ::form :result] {:errors error-set :success successful-set :existing existing-set :ignored ignored-set})
(update-in [::forms/forms ::form :data :line-items]
(fn [lis]
(mapv
@@ -73,6 +74,9 @@
(cond (successful-set (line->id %))
[:span.icon [:i.fa.fa-check]]
(ignored-set (line->id %))
[:span.icon [:i.fa.fa-minus-circle]]
(existing-set (line->id %))
""
@@ -91,6 +95,10 @@
(cond (successful-set (line->id %))
:success
(ignored-set (line->id %))
:ignored
(existing-set (line->id %))
:existing
@@ -111,6 +119,7 @@
{:entries @(re-frame/subscribe [::request])}
[[:successful [:external-id]]
[:existing [:external-id]]
[:ignored [:external-id]]
[:errors [:external-id :error]]]]}]}
:on-success [::imported]
:on-error [::forms/save-error ::form]}})))
@@ -191,7 +200,10 @@
:on-click (dispatch-event [::importing])} "Import"]]]
(when result
[:div.notification
"Imported with " (count (:errors result)) " errors, " (count (:success result)) " successful."])
"Imported with "
(count (:errors result)) " errors, "
(count (:ignored result)) " ignored, "
(count (:success result)) " successful."])
(if @(re-frame/subscribe [::forms/is-loading? ::form])
[:div [:i.icon.fa.fa-spin.fa-spinner]]
[:div

View File

@@ -38,7 +38,8 @@
[grid/cell {} ]
[grid/cell {} ]
[grid/cell {} ]
[grid/cell {} (if (:name account)
[grid/cell {}
(if (:name account)
[:span.has-tooltip-arrow.has-tooltip-right {:data-tooltip (str "Balance as of this entry: " (nf running-balance ))}
(str location ": " (:name account)) ]
[:i "unknown"])]