Made it so customers can create vendors.
This commit is contained in:
@@ -53,9 +53,9 @@
|
||||
(fn [{:keys [db]} [_ token user]]
|
||||
{:graphql {:token token
|
||||
:query-obj {:venia/queries [[:company
|
||||
[:id :name [:bank-accounts [:id :number :check-number :name]]]]
|
||||
[:vendor
|
||||
[:id :name :default-expense-account]]]}
|
||||
[:id :name [:bank-accounts [:id :number :check-number :name]]]]
|
||||
[:vendor
|
||||
[:id :name :default-expense-account]]]}
|
||||
|
||||
:on-success [::received-initial]}
|
||||
:db (assoc db :user (assoc user :token token))}))
|
||||
@@ -184,3 +184,38 @@
|
||||
::change-form-state
|
||||
(fn [db [_ target value]]
|
||||
(assoc-in db target value)))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
::change-nested-form-state
|
||||
(fn [db [_ form more value]]
|
||||
(update-in db form
|
||||
(fn [x]
|
||||
(assoc-in x more value)))))
|
||||
|
||||
(re-frame/reg-event-fx
|
||||
::save-vendor
|
||||
(fn [{:keys [db]} _]
|
||||
(let [edited-vendor (get-in db [:user-editing-vendor])]
|
||||
(if (:id edited-vendor)
|
||||
{:http {:method :put
|
||||
:token (:user db)
|
||||
:body (pr-str edited-vendor)
|
||||
:headers {"Content-Type" "application/edn"}
|
||||
:uri (str "/api/vendors/" (:id edited-vendor))
|
||||
:on-success [::save-complete]
|
||||
:on-error [::save-error]}}
|
||||
|
||||
{:http {:method :post
|
||||
:token (:user db)
|
||||
:body (pr-str edited-vendor)
|
||||
:headers {"Content-Type" "application/edn"}
|
||||
:uri (str "/api/vendors")
|
||||
:on-success [::save-complete]
|
||||
:on-error [::save-error]}}))))
|
||||
(re-frame/reg-event-fx
|
||||
::save-complete
|
||||
(fn [{:keys [db]} [_ vendor]]
|
||||
{:dispatch [::modal-completed :auto-ap.views.main/user-editing-vendor ]
|
||||
:db (-> db
|
||||
(dissoc :user-editing-vendor)
|
||||
(assoc-in [:vendors (:id vendor)] vendor))}))
|
||||
|
||||
Reference in New Issue
Block a user