Adds the ability to suppress transactions
This commit is contained in:
@@ -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]}}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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}]]))
|
||||
|
||||
Reference in New Issue
Block a user