Fixed database saving issues.

This commit is contained in:
Simon Brooke 2018-09-16 16:54:26 +01:00
parent dc1195bcbe
commit 2d4f7a897d
4 changed files with 35 additions and 21 deletions

View file

@ -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
(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))}))))
: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})

View file

@ -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"
})

View file

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

View file

@ -64,6 +64,7 @@ version="0.1.1">
generally.</documentation>
</group>
<entity table="electors" name="electors" magnitude="6"
volatility="5">
<documentation>All electors known to the system; electors are
@ -130,9 +131,8 @@ version="0.1.1">
<permission group="issueeditors" permission="read"/>
<permission group="admin" permission="all"/>
</entity>
<!--
entity genders already has a key - not generating one
-->
<entity table="genders" name="genders" magnitude="1"
volatility="6">
<documentation>All genders which may be assigned to
@ -160,6 +160,7 @@ version="0.1.1">
<permission group="admin" permission="all"/>
</entity>
<entity table="dwellings" name="dwellings" magnitude="6"
volatility="6">
<documentation>All dwellings within addresses in the system; a
@ -211,6 +212,7 @@ version="0.1.1">
<permission group="admin" permission="all"/>
</entity>
<entity table="addresses" name="addresses" magnitude="6"
volatility="6">
<documentation>Addresses of all buildings which contain
@ -694,7 +696,7 @@ version="0.1.1">
column="issue_id" entity="issues" farkey="id" distinct="user">
<prompt prompt="issue_id" locale="en_GB.UTF-8"/>
</property>
<property type="string" name="issue_detail">
<property type="string" name="issue_detail" size="128">
<prompt prompt="Issue detail" locale="en_GB.UTF-8"/>
</property>
<property required="true" type="entity" name="method_id"