intuit import button and sysco importing.

This commit is contained in:
2021-12-18 19:11:02 -08:00
parent fcdc00ed16
commit 64720a4bd6
19 changed files with 297 additions and 24 deletions

View File

@@ -14,7 +14,8 @@
[auto-ap.effects.forward :as forward]
[auto-ap.views.pages.data-page :as data-page]
[clojure.set :as set]
[auto-ap.views.components.buttons :as buttons]))
[auto-ap.views.components.buttons :as buttons]
[clojure.string :as str]))
(def default-read [:user-name :date :source :status :id :imported :suppressed :extant])
@@ -39,6 +40,25 @@
(set/rename-keys (:result result)
{:import-batches :data})])}}))
(re-frame/reg-event-db
::success-intuit
(fn [db [_ n]]
(assoc db ::msg (str "Your job " (:request-intuit-import n) " has been scheduled." ))))
(re-frame/reg-sub
::msg
(fn [db]
(::msg db)))
(re-frame/reg-event-fx ::request-intuit
[with-user ]
(fn [{:keys [db user] :as cofx} [_ params]]
{:graphql {:token user
:owns-state {:single ::intuit}
:query "mutation RequestIntuitImport{request_intuit_import}"
:on-success [::success-intuit]
}}))
(re-frame/reg-event-fx
::mounted
@@ -52,18 +72,32 @@
::unmounted
(fn [{:keys [db]}]
{:dispatch [::data-page/dispose ::page]
::track/dispose {:id ::params}}))
::track/dispose {:id ::params}
:db (dissoc db ::msg)}))
;; VIEWS
(def import-batch-content
(with-meta
(fn []
(let [user @(re-frame/subscribe [::subs/user])]
(let [user @(re-frame/subscribe [::subs/user])
request-import-status @(re-frame/subscribe [::status/single ::intuit])
message @(re-frame/subscribe [::msg])]
[:div
[:h1.title "Import Batches"]
(when message
[:div.notification.is-info.is-light message])
(when (= "admin" (:user/role user))
[table/table {:id :import-batches
:data-page ::page}])]))
[:div
[:div.is-pulled-right
[:div.buttons
[:button.button.is-primary-two.is-medium {:aria-haspopup true
:type "button"
:on-click (dispatch-event [::request-intuit])
:disabled (status/disabled-for request-import-status)
:class (status/class-for request-import-status)}
"Start Intuit Import"]]]
[table/table {:id :import-batches
:data-page ::page}]])]))
{:component-did-mount (dispatch-event [::mounted ])
:component-will-unmount #(re-frame/dispatch-sync [::unmounted])}))