editing users uses datomic.
This commit is contained in:
@@ -58,13 +58,13 @@
|
||||
::add-company
|
||||
(fn [db [_ d]]
|
||||
(let [company (get @(re-frame/subscribe [::subs/companies-by-id])
|
||||
(js/parseInt (get-in db [::editing :adding-company])))]
|
||||
(update-in db [::editing :user :companies] conj company))))
|
||||
(get-in db [::editing :adding-company]))]
|
||||
(update-in db [::editing :user :clients] conj company))))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
::remove-company
|
||||
(fn [db [_ d]]
|
||||
(update-in db [::editing :user :companies] #(filter (fn [c] (not= (:id c) d)) %))))
|
||||
(update-in db [::editing :user :clients] #(filter (fn [c] (not= (:id c) d)) %))))
|
||||
|
||||
(re-frame/reg-event-fx
|
||||
::save
|
||||
@@ -78,7 +78,7 @@
|
||||
:operation/name "EditUser"}
|
||||
|
||||
:venia/queries [{:query/data [:edit-user
|
||||
{:edit-user (update (get-in db [::editing :user]) :companies #(map :id %))}
|
||||
{:edit-user (update (get-in db [::editing :user]) :clients #(map :id %))}
|
||||
[:id :name :role [:clients [:id :name]]]]}]}
|
||||
:on-success [::saved]}}))
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
[:tr
|
||||
[:th "User"]
|
||||
[:th "Role"]
|
||||
[:th "Companies"]]]
|
||||
[:th "Clients"]]]
|
||||
[:tbody (for [{:keys [id name role clients] :as c} @users]
|
||||
^{:key (str name "-" id )}
|
||||
[:tr {:on-click (fn [] (re-frame/dispatch [::edit id]))
|
||||
@@ -145,12 +145,12 @@
|
||||
:spec ::entity/name
|
||||
:event ::change
|
||||
:subscription editing}
|
||||
[:option {:value "none"} "None"]
|
||||
[:option {:value "user"} "User"]
|
||||
[:option {:value "admin"} "Admin"]]]]]]
|
||||
[:option {:value ":none"} "None"]
|
||||
[:option {:value ":user"} "User"]
|
||||
[:option {:value ":admin"} "Admin"]]]]]]
|
||||
|
||||
|
||||
(when (= "user" (:role (:user editing)))
|
||||
(when (= ":user" (:role (:user editing)))
|
||||
[horizontal-field
|
||||
[:label.label "Clients"]
|
||||
[:div.control
|
||||
|
||||
Reference in New Issue
Block a user