Right, that's enough for today. I understand what's wrong.

This commit is contained in:
Simon Brooke 2018-08-28 18:44:26 +01:00
parent 7724a2514a
commit b7c745a0a4
7 changed files with 68 additions and 43 deletions

View file

@ -140,7 +140,8 @@
params :visit_id (current-visit-id request)))
201)
{:status 400
:body (json/write-str "create-intention requires params: `option_id`
:body (json/write-str
"create-intention requires params: `option_id`
and either `locality` or both `address_id` and `elector_id`.")})
request)))
@ -164,7 +165,32 @@
request)))
(defn update-elector-signature!
"Set the `signature` in the params of this `request` as the signature for
the elector whose `id` is in the params of this `request`."
[request]
(let [params (massage-params request)]
(if (and (:elector_id request)(:signature request))
(valid-user-or-forbid
(with-params-or-error
(do-or-server-fail
(db/create-followuprequest! db/*db* params)
201)
params
#{:elector_id :signature})
request))
{:status 400
:body
(json/write-str
"update-elector-signature requires params `id` and `signature`.")}))
(defroutes rest-routes
(GET "/rest/get-local-data" request (route/restricted (get-local-data request)))
(GET "/rest/create-intention" request (route/restricted (create-intention-and-visit! request)))
(GET "/rest/create-request" request (route/restricted (create-request-and-visit! request))))
(GET "/rest/get-local-data"
request (route/restricted (get-local-data request)))
(GET "/rest/create-intention"
request (route/restricted (create-intention-and-visit! request)))
(GET "/rest/create-request"
request (route/restricted (create-request-and-visit! request)))
(GET "/rest/update-elector-signature"
request (route/restricted (update-elector-signature! request))))

View file

@ -384,26 +384,20 @@
(reg-event-db
:update-elector
(fn [db [_ args]]
(if (:signature (:elector db))
(do
(js/console.log "Updating elector signature")
(add-to-feedback
(add-to-outqueue
db
{:elector (:elector db)
:action :update-elector-signature})
:send-request))
(assoc db :error "Please supply a telephone number to call"))))
(fn [db [_ elector]]
(js/console.log (str "Elector is " elector))
db
))
(reg-event-db
:set-consent-and-page
(fn [db [_ args]]
(let [page (:page args)
elector (:elector args)]
elector (:elector args)
new-db (assoc (clear-messages db) :elector elector :page page)]
(dispatch [:update-elector {:elector elector}])
(assoc (clear-messages db) :elector elector :page page))))
new-db)))
(reg-event-db

View file

@ -45,15 +45,16 @@
(defn big-link
[text & {:keys [target handler]}]
(js/console.log (str "Big link with target '" target "'; handler '" handler "'"))
(js/console.log (str "Big link with target '" target "'; onclick handler '" handler "'"))
[:div.big-link-container {:key (gensym "big-link")}
[:a.big-link (merge {:href target :on-click handler}
[:a.big-link (merge {:alt "Hello"}
(if target {:href target}{})
(if handler {:on-click handler}{}))
(if handler {:title handler}{}))
text]])
(defn nav-link [uri title page collapsed?]
(js/console.log (str "Adding nav-link with title '" title "'; target '" uri "'"))
(let [selected-page @(rf/subscribe [:page])]
[:li.nav-item
{:class (when (= page selected-page) "active")
@ -81,4 +82,5 @@
(nav-link "#/map" "Map" :map collapsed?)
(nav-link "#/dwelling" "Electors" :dwelling collapsed?)
(nav-link "#/issues" "Issues" :issues collapsed?)
(nav-link "#/about" "About" :about collapsed?)]]))
(nav-link "#/about" "About" :about collapsed?)
(nav-link "/logout" "Logout" :logout collapsed?)]]))

View file

@ -56,20 +56,17 @@
[:canvas {:id "signature-pad"}]]]]]]
(ui/back-link "#dwelling")
(ui/big-link "I consent"
;; :target (str "#elector/" (:id elector) "/true/")
:handler #(fn
[]
(ui/log-and-dispatch
:handler #(dispatch
[:set-consent-and-page
{:elector-id (:id elector)
:page :elector
:elector (merge
:elector (assoc
elector
:signature
(.toDataURL
sig-pad
@sig-pad
"image/svg+xml")
)}])))
)}]))
(ui/big-link "I DO NOT consent"
:target (str "#elector/" (:id elector) "/false"))]))