Adds the ability to suppress transactions

This commit is contained in:
2021-12-16 07:26:02 -08:00
parent a76b84fd8d
commit 1d312dd55d
7 changed files with 27 additions and 13 deletions

View File

@@ -422,7 +422,11 @@
:db/doc "Who triggred this import"
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one}]]
:depends-on [:auto-ap/base-schema]}}
:depends-on [:auto-ap/base-schema]}
:auto-ap/add-suppression {:txes [[{:db/ident :transaction-approval-status/suppressed}
{:db/ident :transaction/approval-status
:db/index true}]]
:depends-on [:auto-ap/base-schema]}}

View File

@@ -148,7 +148,8 @@
true
(merge-query {:query {:find ['?sort-default '?e]
:where ['[?e :transaction/id]
'[?e :transaction/date ?sort-default]]}}))]
'[?e :transaction/date ?sort-default]
'(not [?e :transaction/approval-status :transaction-approval-status/suppressed])]}}))]
(log/info "query is" query)
(cond->> query
true (d/query)

View File

@@ -995,6 +995,7 @@
{:enum-value :revenue}]}
:transaction_approval_status {:values [{:enum-value :approved}
{:enum-value :unapproved}
{:enum-value :suppressed}
{:enum-value :requires_feedback}
{:enum-value :excluded}]}}
:mutations

View File

@@ -78,7 +78,8 @@
(log/info "Deleting " (count all-ids) args)
(audit-transact-batch
(mapcat (fn [i]
[[:db/retractEntity i]
[{:db/id i
:transaction/approval-status :transaction-approval-status/suppressed}
[:db/retractEntity [:journal-entry/original-entity i]]])
all-ids)
(:id context))

View File

@@ -87,6 +87,7 @@
credit-from-bank? decreasing?
debit-from-bank? (not decreasing?)]
(when-not (or (= :transaction-approval-status/excluded (:db/ident (:transaction/approval-status entity)))
(= :transaction-approval-status/suppressed (:db/ident (:transaction/approval-status entity)))
(dollars-0? (:transaction/amount entity)))
(remove-nils
{:journal-entry/source "transaction"

View File

@@ -185,9 +185,13 @@
client-id (:db/id client)
valid-locations (or (:bank-account/locations bank-account) (:client/locations client))
date (time/parse date "YYYY-MM-dd")]
date (time/parse date "YYYY-MM-dd")
id (sha-256 (str id))]
(cond (existing (sha-256 (str id)))
(cond (= :transaction-approval-status/suppressed (existing id))
:suppressed
(existing id)
:extant
(not client-id)
@@ -293,11 +297,13 @@
(defn get-existing []
(transduce (map first) conj #{}
(d/query {:query {:find ['?tid]
:in ['$]
:where ['[_ :transaction/id ?tid]]}
:args [(d/db (d/connect uri))]})))
(into {}
(d/query {:query {:find ['?tid '?as2]
:in ['$]
:where ['[?e :transaction/id ?tid]
'[?e :transaction/approval-status ?as]
'[?as :db/ident ?as2]]}
:args [(d/db (d/connect uri))]})))
(defn get-all-bank-accounts []
(->> (d-clients/get-all)

View File

@@ -95,7 +95,6 @@
(let [checked @(re-frame/subscribe [::data-page/checked ::page])
checked-params (get checked "header")
specific-transactions (map :id (vals (dissoc checked "header")))]
(println checked-params)
{:db (-> (:db cofx)
(assoc-in [:status :loading] true))
:graphql {:token (-> cofx :db :user)
@@ -109,7 +108,8 @@
:ids specific-transactions}
[:message]]}]}
:on-success (fn [result]
[::params-change params])}})))
[::params-change params])}
:dispatch [::data-page/reset-checked ::page]})))
(re-frame/reg-event-fx
::unmounted
@@ -186,7 +186,7 @@
:class (status/class-for @(re-frame/subscribe [::status/single ::delete-selected]))
:disabled (or (status/disabled-for @(re-frame/subscribe [::status/single ::delete-selected]))
(not (seq checked)))}
"Delete selected"]]])
"Suppress selected"]]])
[table/table {:id :transactions
:check-boxes? is-admin?
:data-page ::page}]]))