Adds the ability to suppress transactions
This commit is contained in:
@@ -422,7 +422,11 @@
|
|||||||
:db/doc "Who triggred this import"
|
:db/doc "Who triggred this import"
|
||||||
:db/valueType :db.type/string
|
:db/valueType :db.type/string
|
||||||
:db/cardinality :db.cardinality/one}]]
|
: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
|
true
|
||||||
(merge-query {:query {:find ['?sort-default '?e]
|
(merge-query {:query {:find ['?sort-default '?e]
|
||||||
:where ['[?e :transaction/id]
|
: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)
|
(log/info "query is" query)
|
||||||
(cond->> query
|
(cond->> query
|
||||||
true (d/query)
|
true (d/query)
|
||||||
|
|||||||
@@ -995,6 +995,7 @@
|
|||||||
{:enum-value :revenue}]}
|
{:enum-value :revenue}]}
|
||||||
:transaction_approval_status {:values [{:enum-value :approved}
|
:transaction_approval_status {:values [{:enum-value :approved}
|
||||||
{:enum-value :unapproved}
|
{:enum-value :unapproved}
|
||||||
|
{:enum-value :suppressed}
|
||||||
{:enum-value :requires_feedback}
|
{:enum-value :requires_feedback}
|
||||||
{:enum-value :excluded}]}}
|
{:enum-value :excluded}]}}
|
||||||
:mutations
|
:mutations
|
||||||
|
|||||||
@@ -78,7 +78,8 @@
|
|||||||
(log/info "Deleting " (count all-ids) args)
|
(log/info "Deleting " (count all-ids) args)
|
||||||
(audit-transact-batch
|
(audit-transact-batch
|
||||||
(mapcat (fn [i]
|
(mapcat (fn [i]
|
||||||
[[:db/retractEntity i]
|
[{:db/id i
|
||||||
|
:transaction/approval-status :transaction-approval-status/suppressed}
|
||||||
[:db/retractEntity [:journal-entry/original-entity i]]])
|
[:db/retractEntity [:journal-entry/original-entity i]]])
|
||||||
all-ids)
|
all-ids)
|
||||||
(:id context))
|
(:id context))
|
||||||
|
|||||||
@@ -87,6 +87,7 @@
|
|||||||
credit-from-bank? decreasing?
|
credit-from-bank? decreasing?
|
||||||
debit-from-bank? (not decreasing?)]
|
debit-from-bank? (not decreasing?)]
|
||||||
(when-not (or (= :transaction-approval-status/excluded (:db/ident (:transaction/approval-status entity)))
|
(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)))
|
(dollars-0? (:transaction/amount entity)))
|
||||||
(remove-nils
|
(remove-nils
|
||||||
{:journal-entry/source "transaction"
|
{:journal-entry/source "transaction"
|
||||||
|
|||||||
@@ -185,9 +185,13 @@
|
|||||||
client-id (:db/id client)
|
client-id (:db/id client)
|
||||||
valid-locations (or (:bank-account/locations bank-account) (:client/locations 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
|
:extant
|
||||||
|
|
||||||
(not client-id)
|
(not client-id)
|
||||||
@@ -293,11 +297,13 @@
|
|||||||
|
|
||||||
|
|
||||||
(defn get-existing []
|
(defn get-existing []
|
||||||
(transduce (map first) conj #{}
|
(into {}
|
||||||
(d/query {:query {:find ['?tid]
|
(d/query {:query {:find ['?tid '?as2]
|
||||||
:in ['$]
|
:in ['$]
|
||||||
:where ['[_ :transaction/id ?tid]]}
|
:where ['[?e :transaction/id ?tid]
|
||||||
:args [(d/db (d/connect uri))]})))
|
'[?e :transaction/approval-status ?as]
|
||||||
|
'[?as :db/ident ?as2]]}
|
||||||
|
:args [(d/db (d/connect uri))]})))
|
||||||
|
|
||||||
(defn get-all-bank-accounts []
|
(defn get-all-bank-accounts []
|
||||||
(->> (d-clients/get-all)
|
(->> (d-clients/get-all)
|
||||||
|
|||||||
@@ -95,7 +95,6 @@
|
|||||||
(let [checked @(re-frame/subscribe [::data-page/checked ::page])
|
(let [checked @(re-frame/subscribe [::data-page/checked ::page])
|
||||||
checked-params (get checked "header")
|
checked-params (get checked "header")
|
||||||
specific-transactions (map :id (vals (dissoc checked "header")))]
|
specific-transactions (map :id (vals (dissoc checked "header")))]
|
||||||
(println checked-params)
|
|
||||||
{:db (-> (:db cofx)
|
{:db (-> (:db cofx)
|
||||||
(assoc-in [:status :loading] true))
|
(assoc-in [:status :loading] true))
|
||||||
:graphql {:token (-> cofx :db :user)
|
:graphql {:token (-> cofx :db :user)
|
||||||
@@ -109,7 +108,8 @@
|
|||||||
:ids specific-transactions}
|
:ids specific-transactions}
|
||||||
[:message]]}]}
|
[:message]]}]}
|
||||||
:on-success (fn [result]
|
:on-success (fn [result]
|
||||||
[::params-change params])}})))
|
[::params-change params])}
|
||||||
|
:dispatch [::data-page/reset-checked ::page]})))
|
||||||
|
|
||||||
(re-frame/reg-event-fx
|
(re-frame/reg-event-fx
|
||||||
::unmounted
|
::unmounted
|
||||||
@@ -186,7 +186,7 @@
|
|||||||
:class (status/class-for @(re-frame/subscribe [::status/single ::delete-selected]))
|
:class (status/class-for @(re-frame/subscribe [::status/single ::delete-selected]))
|
||||||
:disabled (or (status/disabled-for @(re-frame/subscribe [::status/single ::delete-selected]))
|
:disabled (or (status/disabled-for @(re-frame/subscribe [::status/single ::delete-selected]))
|
||||||
(not (seq checked)))}
|
(not (seq checked)))}
|
||||||
"Delete selected"]]])
|
"Suppress selected"]]])
|
||||||
[table/table {:id :transactions
|
[table/table {:id :transactions
|
||||||
:check-boxes? is-admin?
|
:check-boxes? is-admin?
|
||||||
:data-page ::page}]]))
|
:data-page ::page}]]))
|
||||||
|
|||||||
Reference in New Issue
Block a user