Simplified forms considerably
This commit is contained in:
@@ -5,12 +5,13 @@
|
||||
[auto-ap.graphql.utils
|
||||
:refer [->graphql
|
||||
<-graphql
|
||||
cleanse-query
|
||||
assert-admin
|
||||
assert-failure
|
||||
cleanse-query
|
||||
enum->keyword
|
||||
is-admin?
|
||||
result->page]]
|
||||
[auto-ap.utils :refer [by]]
|
||||
[clojure.set :as set]
|
||||
[clojure.string :as str]
|
||||
[clojure.tools.logging :as log]
|
||||
@@ -31,9 +32,30 @@
|
||||
(set (map :db/id (:user/clients id)))))))
|
||||
|
||||
(defn upsert-vendor [context {{:keys [id name hidden terms code print_as primary_contact secondary_contact address default_account_id invoice_reminder_schedule schedule_payment_dom terms_overrides account_overrides] :as in} :vendor} value]
|
||||
|
||||
(when (and id (not (can-user-edit-vendor? id (:id context))))
|
||||
(assert-failure "This vendor is managed by Integreat. Please reach out to ben@integreatconsult.com for your changes."))
|
||||
|
||||
(when (->> schedule_payment_dom
|
||||
(group-by :client_id)
|
||||
vals
|
||||
(filter #(> (count %) 1))
|
||||
seq)
|
||||
(assert-failure "Only one schedule payment override allowed per client."))
|
||||
|
||||
(when (->> terms_overrides
|
||||
(group-by :client_id)
|
||||
vals
|
||||
(filter #(> (count %) 1))
|
||||
seq)
|
||||
(assert-failure "Only one terms override allowed per client."))
|
||||
|
||||
(when (->> account_overrides
|
||||
(group-by :client_id)
|
||||
vals
|
||||
(filter #(> (count %) 1))
|
||||
seq)
|
||||
(assert-failure "Only one account override allowed per client."))
|
||||
|
||||
(let [
|
||||
hidden (if (is-admin? (:id context))
|
||||
hidden
|
||||
|
||||
Reference in New Issue
Block a user