Simplified forms considerably

This commit is contained in:
2022-07-16 10:15:47 -07:00
parent d16b9c9a5e
commit 16a1d243e8
16 changed files with 519 additions and 592 deletions

View File

@@ -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