fixed common errors.

This commit is contained in:
Bryce Covert
2022-12-31 09:37:08 -08:00
parent 98eeb223f4
commit 0f062e0236
4 changed files with 118 additions and 105 deletions

View File

@@ -200,54 +200,61 @@
::add-and-print
[with-user (forms/in-form ::form)]
(fn [{:keys [user]
{{:keys [invoice-number date location total expense-accounts scheduled-payment vendor client]} :data} :db} [_ bank-account-id type]]
{:graphql
{:token user
:owns-state {:single ::form}
:query-obj {:venia/operation {:operation/type :mutation
:operation/name "AddAndPrintInvoice"}
:venia/queries [{:query/data [:add-and-print-invoice
{:invoice {:date date
:vendor-id (:id vendor)
:client-id (:id client)
:scheduled-payment scheduled-payment
:invoice-number invoice-number
:location location
:total total
:expense-accounts (map (fn [ea]
{:id (when-not (str/starts-with? (:id ea) "new-")
(:id ea))
:account_id (:id (:account ea))
:location (:location ea)
:amount (:amount ea)})
expense-accounts)}
:bank-account-id bank-account-id
:type type}
[:pdf-url [:invoices invoice-read]]]}]}
:on-success [::added-and-printed]
:on-error [::forms/save-error ::form]}}))
{{:keys [invoice-number date location total expense-accounts scheduled-payment vendor client]
:as data} :data} :db} [_ bank-account-id type]]
(if (not (m/validate schema data))
{:dispatch-n [[::status/error ::form [{:message "Please fix the errors and try again."}]]
[::forms/attempted-submit ::form]]}
{:graphql
{:token user
:owns-state {:single ::form}
:query-obj {:venia/operation {:operation/type :mutation
:operation/name "AddAndPrintInvoice"}
:venia/queries [{:query/data [:add-and-print-invoice
{:invoice {:date date
:vendor-id (:id vendor)
:client-id (:id client)
:scheduled-payment scheduled-payment
:invoice-number invoice-number
:location location
:total total
:expense-accounts (map (fn [ea]
{:id (when-not (str/starts-with? (:id ea) "new-")
(:id ea))
:account_id (:id (:account ea))
:location (:location ea)
:amount (:amount ea)})
expense-accounts)}
:bank-account-id bank-account-id
:type type}
[:pdf-url [:invoices invoice-read]]]}]}
:on-success [::added-and-printed]
:on-error [::forms/save-error ::form]}})
))
(re-frame/reg-event-fx
::saving
[with-user (forms/in-form ::form) (re-frame/inject-cofx ::inject/sub [::edit-query]) (re-frame/inject-cofx ::inject/sub [::create-query])]
(fn [{:keys [user] {:keys [data]} :db ::keys [edit-query create-query]} _]
(println "DATA IS" data)
{:graphql
{:token user
:owns-state {:single ::form}
:query-obj (if (:id data)
edit-query
create-query)
:on-success (fn [result]
[::updated
(assoc (if (:id data)
(:edit-invoice result)
(:add-invoice result))
:class "live-added")
(if (:id data)
:edit
:create)])
:on-error [::forms/save-error ::form]}}))
(if (not (m/validate schema data))
{:dispatch-n [[::status/error ::form [{:message "Please fix the errors and try again."}]]
[::forms/attempted-submit ::form]]}
{:graphql
{:token user
:owns-state {:single ::form}
:query-obj (if (:id data)
edit-query
create-query)
:on-success (fn [result]
[::updated
(assoc (if (:id data)
(:edit-invoice result)
(:add-invoice result))
:class "live-added")
(if (:id data)
:edit
:create)])
:on-error [::forms/save-error ::form]}})))
(re-frame/reg-event-fx
::save-requested