Adds manager type, blocks certain permissions

This commit is contained in:
Bryce Covert
2020-05-29 07:14:40 -07:00
parent e77e02137c
commit d9bf9867e4
19 changed files with 122 additions and 92 deletions

View File

@@ -71,6 +71,7 @@
%))
(assoc :vendor-id (:id (:vendor data)))
(assoc :yodlee-merchant-id (:id (:yodlee-merchant data)))
(update :description (fn [d] (when d (str/replace d #"\\" "\\\\"))))
(update :accounts (fn [as]
(map #(-> %
(update :id (fn [i] (if (some-> i (str/starts-with? "new-"))
@@ -99,6 +100,7 @@
:dom-lte
:dom-gte
:note])
(update :description (fn [d] (when d (str/replace d #"\\" "\\\\"))))
(assoc :yodlee-merchant-id (:id (:yodlee-merchant data)))
(assoc :client-id (:id (:client data)))
(assoc :bank-account-id (:id (:bank-account data))))}

View File

@@ -149,10 +149,11 @@
:subscription editing}
[:option {:value ":none"} "None"]
[:option {:value ":user"} "User"]
[:option {:value ":manager"} "Manager"]
[:option {:value ":admin"} "Admin"]]]]]]
(when (= ":user" (:role (:user editing)))
(when (#{":user" ":manager"} (:role (:user editing)))
[horizontal-field
[:label.label "Clients"]
[:div.control

View File

@@ -70,7 +70,6 @@
(re-frame/reg-event-db
::save-error
(fn [db [_ vendor]]
(println "ERROR?")
(-> db
(assoc-in [:admin :vendor :error] true)
(assoc-in [:admin :vendor :saving?] false))))
@@ -78,7 +77,6 @@
(re-frame/reg-event-db
::change
(fn [db [_ path value]]
(println path value)
(assoc-in db (concat [:admin :vendor] path)
value)))

View File

@@ -91,8 +91,7 @@
(assoc-in [:status :loading] false))))
(defn ledger-content []
(let [current-client @(re-frame/subscribe [::subs/client])
user @(re-frame/subscribe [::subs/user])]
(let [current-client @(re-frame/subscribe [::subs/client])]
[:div
[:h1.title "Ledger"]
[table/table {:id :ledger
@@ -102,13 +101,16 @@
(defn ledger-page []
(reagent/create-class
{:display-name "ledger-page"
:component-will-unmount #(re-frame/dispatch [::unmounted])
:reagent-render
(fn []
(let [params @(re-frame/subscribe [::params])]
[side-bar-layout
{:side-bar [ledger-side-bar]
:main [ledger-content]}]))}))
(let [user (re-frame/subscribe [::subs/user])]
(reagent/create-class
{:display-name "ledger-page"
:component-will-unmount #(re-frame/dispatch [::unmounted])
:reagent-render
(fn []
(if (not= "manager" (:user/role @user))
(let [params @(re-frame/subscribe [::params])]
[side-bar-layout
{:side-bar [ledger-side-bar]
:main [ledger-content]}])
[:div "Not authorized"]))})))

View File

@@ -214,6 +214,9 @@
{:component-will-mount #(re-frame/dispatch-sync [::params-change {:date (date->str (local-now) standard)}]) }))
(defn balance-sheet-page []
[side-bar-layout
{:side-bar [ledger-side-bar]
:main [balance-sheet-content]}])
(let [user (re-frame/subscribe [::subs/user])]
(if (not= "manager" (:user/role @user))
[side-bar-layout
{:side-bar [ledger-side-bar]
:main [balance-sheet-content]}]
[:div "Not Authorized"])))

View File

@@ -532,10 +532,13 @@
(re-frame/dispatch [::ledger-params-changed params]))}]]]))
(defn profit-and-loss-page []
(let [ledger-list-active? @(re-frame/subscribe [::ledger-list-active?])]
[side-bar-layout
{:side-bar [ledger-side-bar]
:main [profit-and-loss-content]
:right-side-bar [appearing-side-bar
{:visible? ledger-list-active?}
[ledger-list]]}]))
(let [ledger-list-active? @(re-frame/subscribe [::ledger-list-active?])
user (re-frame/subscribe [::subs/user])]
(if (not= "manager" (:user/role @user))
[side-bar-layout
{:side-bar [ledger-side-bar]
:main [profit-and-loss-content]
:right-side-bar [appearing-side-bar
{:visible? ledger-list-active?}
[ledger-list]]}]
[:div "Not authorized"])))

View File

@@ -160,14 +160,17 @@
(fn []
(let [{transaction-bar-active? :active?} @(re-frame/subscribe [::forms/form ::edit/form])
params @(re-frame/subscribe [::params]) ;; Keep to make sure it doens'nt get disposed
ap @(re-frame/subscribe [::subs/active-page])]
[side-bar-layout
{:side-bar [side-bar/side-bar]
:main [:div ^{:key approval-status}
[content]]
:bottom [:div
[manual/modal {:import-completed [::manual-import-completed ]}]]
:right-side-bar [appearing-side-bar
{:visible? transaction-bar-active?}
[edit/form {:edit-completed [::edit-completed]}]]}]))}))
ap @(re-frame/subscribe [::subs/active-page])
user (re-frame/subscribe [::subs/user])]
(if (not= "manager" (:user/role @user))
[side-bar-layout
{:side-bar [side-bar/side-bar]
:main [:div ^{:key approval-status}
[content]]
:bottom [:div
[manual/modal {:import-completed [::manual-import-completed ]}]]
:right-side-bar [appearing-side-bar
{:visible? transaction-bar-active?}
[edit/form {:edit-completed [::edit-completed]}]]}]
[:div "Not authorized"])))}))