vendors have codes on them; making sqs for processing.

This commit is contained in:
Bryce Covert
2018-04-05 20:17:19 -07:00
parent 33cfc395de
commit 81263332df
13 changed files with 315 additions and 97 deletions

View File

@@ -8,14 +8,14 @@
(re-frame/reg-event-db
::edit
(fn [db [_ company-id]]
(assoc-in db [:admin-companies :editing]
(get (:companies db) company-id))))
(assoc-in db [:admin :company]
(get (:companies db) company-id))))
(re-frame/reg-event-fx
::save
(fn [{:keys [db]} _]
(let [edited-company (get-in db [:admin-companies :editing])]
{:db (assoc-in db [:admin-companies :editing :saving?] true)
(let [edited-company (get-in db [:admin :company])]
{:db (assoc-in db [:admin :company :saving?] true)
:http {:method :put
:token (:user db)
:body (pr-str (select-keys edited-company [:name :email :data :invoice-reminder-schedule]))
@@ -28,11 +28,11 @@
(fn [db [_ company]]
(-> db
(assoc-in [:admin-companies :editing] nil)
(assoc-in [:admin :company] nil)
(assoc-in [:companies (:id company)] company))))
(re-frame/reg-event-db
::change
(fn [db [_ path value]]
(assoc-in db (concat [:admin-companies :editing] path)
(assoc-in db (concat [:admin :company] path)
value)))

View File

@@ -8,33 +8,46 @@
(re-frame/reg-event-db
::edit
(fn [db [_ vendor-id]]
(assoc-in db [:admin-vendors :editing]
(assoc-in db [:admin :vendor]
(get (:vendors db) vendor-id))))
(re-frame/reg-event-db
::new
(fn [db _]
(assoc-in db [:admin :vendor]
{})))
(re-frame/reg-event-fx
::save
(fn [{:keys [db]} _]
(let [edited-vendor (get-in db [:admin-vendors :editing])]
{:db (assoc-in db [:admin-vendors :editing :saving?] true)
:http {:method :put
:token (:user db)
:body (pr-str (select-keys edited-vendor [:name :email :data :invoice-reminder-schedule]))
:headers {"Content-Type" "application/edn"}
:uri (str "/api/vendors/" (:id edited-vendor))
:on-success [::save-complete]}})))
(let [edited-vendor (get-in db [:admin :vendor])
fx {:db (assoc-in db [:admin :vendor :saving?] true)}]
(if (:id edited-vendor)
(assoc fx :http {:method :put
:token (:user db)
:body (pr-str (select-keys edited-vendor [:name :email :data :invoice-reminder-schedule :code]))
:headers {"Content-Type" "application/edn"}
:uri (str "/api/vendors/" (:id edited-vendor))
:on-success [::save-complete]})
(assoc fx :http {:method :post
:token (:user db)
:body (pr-str (select-keys edited-vendor [:name :email :data :invoice-reminder-schedule :code]))
:headers {"Content-Type" "application/edn"}
:uri (str "/api/vendors")
:on-success [::save-complete]})))))
(re-frame/reg-event-db
::save-complete
(fn [db [_ vendor]]
(-> db
(assoc-in [:admin-vendors :editing] nil)
(assoc-in [:admin :vendor] nil)
(assoc-in [:vendors (:id vendor)] vendor))))
(re-frame/reg-event-db
::change
(fn [db [_ path value]]
(assoc-in db (concat [:admin-vendors :editing] path)
(assoc-in db (concat [:admin :vendor] path)
value)))
(re-frame/reg-event-fx