From 2d4f7a897d100a97400d896d3d4853b4a76ddea9 Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Sun, 16 Sep 2018 16:54:26 +0100 Subject: [PATCH] Fixed database saving issues. --- src/clj/youyesyet/routes/rest.clj | 41 +++++++++++-------- .../youyesyet/canvasser_app/handlers.cljs | 1 + .../youyesyet/canvasser_app/views/map.cljs | 4 +- youyesyet.adl.xml | 10 +++-- 4 files changed, 35 insertions(+), 21 deletions(-) diff --git a/src/clj/youyesyet/routes/rest.clj b/src/clj/youyesyet/routes/rest.clj index a9d5390..fad5b60 100644 --- a/src/clj/youyesyet/routes/rest.clj +++ b/src/clj/youyesyet/routes/rest.clj @@ -103,16 +103,20 @@ (let [last-visit (last-visit-by-current-user request) params (massage-params request)] (log/debug "rest/current-visit-id: type of address_id is: " (type (:address_id params))) - (if - (= - (:address_id params) - (:address_id last-visit)) - (:id last-visit) - (db/create-visit! - db/*db* - {:address_id (:address_id params) - :canvasser_id (-> request :session :user :id) - :date (jt/to-sql-timestamp (jt/local-date-time))})))) + (let + [result (if + (= + (:address_id params) + (:address_id last-visit)) + (:id last-visit) + (:id + (db/create-visit! + db/*db* + {:address_id (:address_id params) + :canvasser_id (-> request :session :user :id) + :date (jt/to-sql-timestamp (jt/local-date-time))})))] + (log/debug "rest/current-visit-id returning " result "; type is " (type result)) + result))) (defn create-intention-and-visit! @@ -137,7 +141,7 @@ (db/create-intention! db/*db* (assoc - params :visit_id (current-visit-id request))) + (merge {:actions nil, :issue_detail nil} params) :visit_id (current-visit-id request))) 201) {:status 400 :body (json/write-str @@ -152,16 +156,21 @@ `method_id` and `method_detail`). Ye cannae reasonably create a request without having recorded the visit, so let's not muck about." [request] - (let [params (assoc + (let [params (merge + {:actions nil, :issue_detail ""} + (assoc (massage-params request) - :visit_id (current-visit-id request))] + :visit_id (current-visit-id request)))] + (log/debug "create-request-and-visit! params are " params) (valid-user-or-forbid (with-params-or-error (do-or-server-fail - (db/create-followuprequest! db/*db* params) + (db/create-followuprequest! + db/*db* params) 201) params - #{:elector_id :visit_id :issue_id :method_id :method_detail}) + #{:elector_id :visit_id :issue_id :method_id + :method_detail}) request))) @@ -174,7 +183,7 @@ (valid-user-or-forbid (with-params-or-error (do-or-server-fail - (db/update-elector! db/*db* params) + (db/update-elector! db/*db* (merge {:email nil, :phone nil, :gender nil} params)) 201) params #{:id :signature}) diff --git a/src/cljs/youyesyet/canvasser_app/handlers.cljs b/src/cljs/youyesyet/canvasser_app/handlers.cljs index 409c515..73d6798 100644 --- a/src/cljs/youyesyet/canvasser_app/handlers.cljs +++ b/src/cljs/youyesyet/canvasser_app/handlers.cljs @@ -64,6 +64,7 @@ (def feedback-messages {:fetch-locality "Fetching local data." :send-request "Request has been queued." + :send-intention-and-visit "Voting intention has been sent" }) diff --git a/src/cljs/youyesyet/canvasser_app/views/map.cljs b/src/cljs/youyesyet/canvasser_app/views/map.cljs index 3b7e1db..77ad575 100644 --- a/src/cljs/youyesyet/canvasser_app/views/map.cljs +++ b/src/cljs/youyesyet/canvasser_app/views/map.cljs @@ -110,5 +110,7 @@ (defn panel "A reagent class for the map object." [] + (get-current-location) (reagent/create-class {:reagent-render map-render - :component-did-mount map-did-mount})) + :component-did-mount map-did-mount}) + (.panTo @(subscribe [:view]) (.latLng js/L @(subscribe [:latitude]) @(subscribe [:longitude])))) diff --git a/youyesyet.adl.xml b/youyesyet.adl.xml index 60a5adb..6bd7c8d 100644 --- a/youyesyet.adl.xml +++ b/youyesyet.adl.xml @@ -64,6 +64,7 @@ version="0.1.1"> generally. + All electors known to the system; electors are @@ -130,9 +131,8 @@ version="0.1.1"> - + + All genders which may be assigned to @@ -160,6 +160,7 @@ version="0.1.1"> + All dwellings within addresses in the system; a @@ -211,6 +212,7 @@ version="0.1.1"> + Addresses of all buildings which contain @@ -694,7 +696,7 @@ version="0.1.1"> column="issue_id" entity="issues" farkey="id" distinct="user"> - +