lots of fixes.
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
(defn upsert-vendor [context {{:keys [id name hidden terms code print_as primary_contact secondary_contact address default_account_id invoice_reminder_schedule terms_overrides account_overrides] :as in} :vendor} value]
|
||||
(when id
|
||||
(assert-admin (:id context)))
|
||||
(let [term-overrides (mapv
|
||||
(let [terms-overrides (mapv
|
||||
(fn [to]
|
||||
(cond->
|
||||
#:vendor-terms-override {:client (:client_id to)
|
||||
@@ -25,47 +25,48 @@
|
||||
:account (:account_id ao)}
|
||||
(:id ao) (assoc :db/id (:id ao))))
|
||||
account_overrides)
|
||||
transaction [(remove-nils #:vendor {:db/id (if id
|
||||
id
|
||||
"vendor")
|
||||
:name name
|
||||
:code code
|
||||
:hidden hidden
|
||||
:terms terms
|
||||
:print-as print_as
|
||||
:default-account default_account_id
|
||||
:invoice-reminder-schedule (keyword invoice_reminder_schedule)
|
||||
:term-overrides (when (is-admin? (:id context))
|
||||
term-overrides)
|
||||
:account-overrides (when (is-admin? (:id context))
|
||||
account-overrides)
|
||||
:address (when address
|
||||
(remove-nils #:address {:db/id (if (:id address)
|
||||
(:id address)
|
||||
"address")
|
||||
:street1 (:street1 address)
|
||||
:street2 (:street2 address)
|
||||
:city (:city address)
|
||||
:state (:state address)
|
||||
:zip (:zip address)}))
|
||||
:primary-contact (when primary_contact
|
||||
transaction (cond->
|
||||
[(remove-nils #:vendor {:db/id (if id
|
||||
id
|
||||
"vendor")
|
||||
:name name
|
||||
:code code
|
||||
:hidden hidden
|
||||
:terms terms
|
||||
:print-as print_as
|
||||
:default-account default_account_id
|
||||
:invoice-reminder-schedule (keyword invoice_reminder_schedule)
|
||||
|
||||
|
||||
:address (when address
|
||||
(remove-nils #:address {:db/id (if (:id address)
|
||||
(:id address)
|
||||
"address")
|
||||
:street1 (:street1 address)
|
||||
:street2 (:street2 address)
|
||||
:city (:city address)
|
||||
:state (:state address)
|
||||
:zip (:zip address)}))
|
||||
:primary-contact (when primary_contact
|
||||
|
||||
(remove-nils #:contact {:db/id (if (:id primary_contact)
|
||||
(:id primary_contact)
|
||||
"primary")
|
||||
:name (:name primary_contact)
|
||||
:phone (:phone primary_contact)
|
||||
:email (:email primary_contact)}))
|
||||
|
||||
:secondary-contact (when secondary_contact
|
||||
(remove-nils #:contact {:db/id (if (:id primary_contact)
|
||||
(:id primary_contact)
|
||||
"primary")
|
||||
:name (:name primary_contact)
|
||||
:phone (:phone primary_contact)
|
||||
:email (:email primary_contact)}))
|
||||
|
||||
:secondary-contact (when secondary_contact
|
||||
|
||||
(remove-nils #:contact {:db/id (if (:id secondary_contact)
|
||||
(:id secondary_contact)
|
||||
"secondary")
|
||||
:name (:name secondary_contact)
|
||||
:phone (:phone secondary_contact)
|
||||
:email (:email secondary_contact)})
|
||||
)})]
|
||||
(remove-nils #:contact {:db/id (if (:id secondary_contact)
|
||||
(:id secondary_contact)
|
||||
"secondary")
|
||||
:name (:name secondary_contact)
|
||||
:phone (:phone secondary_contact)
|
||||
:email (:email secondary_contact)})
|
||||
)})]
|
||||
(is-admin? (:id context)) (conj [:reset (if id id "vendor") :vendor/account-overrides account-overrides])
|
||||
(is-admin? (:id context)) (conj [:reset (if id id "vendor") :vendor/terms-overrides terms-overrides]))
|
||||
transaction-result @(d/transact (d/connect uri) transaction)]
|
||||
|
||||
(-> (d-vendors/get-by-id (or (-> transaction-result :tempids (get "vendor"))
|
||||
|
||||
Reference in New Issue
Block a user