editing users uses datomic.

This commit is contained in:
BC
2018-09-20 23:17:45 -07:00
parent ebb9a191f1
commit 4a237a8224
8 changed files with 63 additions and 99 deletions

View File

@@ -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