You can now add clients manually.
This commit is contained in:
@@ -58,7 +58,6 @@
|
|||||||
:check_number {:type 'Int}
|
:check_number {:type 'Int}
|
||||||
:name {:type 'String}
|
:name {:type 'String}
|
||||||
:bank_code {:type 'String}
|
:bank_code {:type 'String}
|
||||||
:routing {:type 'String}
|
|
||||||
:bank_name {:type 'String}
|
:bank_name {:type 'String}
|
||||||
:yodlee_account_id {:type 'Int}}}
|
:yodlee_account_id {:type 'Int}}}
|
||||||
:address
|
:address
|
||||||
@@ -521,5 +520,8 @@
|
|||||||
(try
|
(try
|
||||||
(time (simplify (execute schema q v {:id id})))
|
(time (simplify (execute schema q v {:id id})))
|
||||||
(catch Exception e
|
(catch Exception e
|
||||||
(println e)
|
(if-let [v (:validation-error (ex-data e))]
|
||||||
|
(println "validation error" v)
|
||||||
|
(println e))
|
||||||
|
|
||||||
(throw e)))))
|
(throw e)))))
|
||||||
|
|||||||
@@ -9,11 +9,21 @@
|
|||||||
":admin" :user-role/admin
|
":admin" :user-role/admin
|
||||||
":user" :user-role/user})
|
":user" :user-role/user})
|
||||||
|
|
||||||
|
(defn assert-client-code-is-unique [code]
|
||||||
|
(when (seq (d/query {:query {:find '[?id]
|
||||||
|
:in ['$ '?code]
|
||||||
|
:where ['[?id :client/code ?code]]}
|
||||||
|
:args [(d/db (d/connect uri)) code]}))
|
||||||
|
(throw (ex-info "Client is not unique" {:validation-error "Client is not unique"}))))
|
||||||
|
|
||||||
(defn edit-client [context {:keys [edit_client new_bank_accounts] :as args} value]
|
(defn edit-client [context {:keys [edit_client new_bank_accounts] :as args} value]
|
||||||
(assert-admin (:id context))
|
(assert-admin (:id context))
|
||||||
|
(when-not (:id edit_client)
|
||||||
|
(assert-client-code-is-unique (:code edit_client)))
|
||||||
|
|
||||||
(let [client (when (:id edit_client) (d-clients/get-by-id (:id edit_client)))
|
(let [client (when (:id edit_client) (d-clients/get-by-id (:id edit_client)))
|
||||||
id (or (:db/id client) "new-client")
|
id (or (:db/id client) "new-client")
|
||||||
|
_ (println id)
|
||||||
transactions [(remove-nils {:db/id id
|
transactions [(remove-nils {:db/id id
|
||||||
:client/code (if (str/blank? (:client/code client))
|
:client/code (if (str/blank? (:client/code client))
|
||||||
(:code edit_client)
|
(:code edit_client)
|
||||||
|
|||||||
@@ -75,12 +75,16 @@
|
|||||||
(re-frame/reg-event-fx
|
(re-frame/reg-event-fx
|
||||||
::save-complete
|
::save-complete
|
||||||
(fn [{:keys [db]} [_ client]]
|
(fn [{:keys [db]} [_ client]]
|
||||||
|
(println client)
|
||||||
|
|
||||||
{:dispatch [::events/modal-completed :auto-ap.views.pages.admin.clients/edit]
|
{:dispatch [::events/modal-completed :auto-ap.views.pages.admin.clients/edit]
|
||||||
:db (-> db
|
:db (-> db
|
||||||
|
(assoc-in [:admin :adding-client?] false)
|
||||||
|
(update :admin dissoc :new-client)
|
||||||
|
|
||||||
(assoc-in [:admin :client] nil)
|
|
||||||
(assoc-in [:clients (:id (:edit-client client))] (:edit-client client)))}))
|
(assoc-in [:admin :client] nil)
|
||||||
|
(assoc-in [:clients (:id (:edit-client client))] (:edit-client client)))}))
|
||||||
|
|
||||||
(re-frame/reg-event-db
|
(re-frame/reg-event-db
|
||||||
::save-error
|
::save-error
|
||||||
@@ -516,7 +520,7 @@
|
|||||||
:on-click (dispatch-event [::save-new-client])} "Save"]]]))
|
:on-click (dispatch-event [::save-new-client])} "Save"]]]))
|
||||||
|
|
||||||
(defn admin-clients-page []
|
(defn admin-clients-page []
|
||||||
(let [adding-client? @(re-frame/subscribe [::subs/admin])]
|
(let [{:keys [adding-client?]} @(re-frame/subscribe [::subs/admin])]
|
||||||
[side-bar-layout {:side-bar [admin-side-bar {}]
|
[side-bar-layout {:side-bar [admin-side-bar {}]
|
||||||
:main [admin-clients-content]
|
:main [admin-clients-content]
|
||||||
:right-side-bar (when adding-client?
|
:right-side-bar (when adding-client?
|
||||||
|
|||||||
Reference in New Issue
Block a user