Right, that's enough for today. I understand what's wrong.
This commit is contained in:
parent
7724a2514a
commit
b7c745a0a4
|
@ -28,9 +28,13 @@
|
|||
<menu id="nav-menu" class="nav">
|
||||
<li class=""><a href="{{servlet-context}}/home">Home</a></li>
|
||||
<li class=""><a href="{{servlet-context}}/library">Library</a></li>
|
||||
{% if user %}
|
||||
<li class=""><a href="{{servlet-context}}/roles">Roles</a></li>
|
||||
<li class=""><a href="{{servlet-context}}/logout">Logout</a></li>
|
||||
{% else %}
|
||||
<li class=""><a href="{{servlet-context}}/register">Register</a></li>
|
||||
<li class="">{% if user %}<a href="{{servlet-context}}/logout">Logout</a>
|
||||
{% else %}<a href="{{servlet-context}}/login">Login</a>{% endif %}</li>
|
||||
<li class=""><a href="{{servlet-context}}/login">Login</a></li>
|
||||
{% endif %}
|
||||
<li class=""><a href="{{servlet-context}}/about">About</a></li>
|
||||
{% if user %}
|
||||
<li id="user"><a href="{{servlet-context}}/profile">Logged in as {{user.username}}</a></li>
|
||||
|
|
|
@ -36,19 +36,16 @@ Add a new Followuprequest
|
|||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Id
|
||||
Elector
|
||||
</th>
|
||||
<th>
|
||||
Elector_id
|
||||
Visit
|
||||
</th>
|
||||
<th>
|
||||
Visit_id
|
||||
Issue
|
||||
</th>
|
||||
<th>
|
||||
Issue_id
|
||||
</th>
|
||||
<th>
|
||||
Method_id
|
||||
Method
|
||||
</th>
|
||||
<th>
|
||||
|
||||
|
@ -56,9 +53,6 @@ Method_id
|
|||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<input id='id' type='text' name='id' value='{{ params.id }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='elector_id' type='text' name='elector_id' value='{{ params.elector_id }}'/>
|
||||
</th>
|
||||
<th>
|
||||
|
@ -79,9 +73,6 @@ Method_id
|
|||
{% for record in records %}
|
||||
<tr>
|
||||
<td>
|
||||
{{ record.id }}
|
||||
</td>
|
||||
<td>
|
||||
<a href='{{servlet-context}}/form-electors-Elector?id={{ record.elector_id }}'>
|
||||
{{ record.elector_id_expanded }}
|
||||
</a>
|
||||
|
|
|
@ -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))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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?)]]))
|
||||
|
|
|
@ -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"))]))
|
||||
|
||||
|
|
11
test/cljs/youyesyet/canvasser_app/ui_utils_test.cljs
Normal file
11
test/cljs/youyesyet/canvasser_app/ui_utils_test.cljs
Normal file
|
@ -0,0 +1,11 @@
|
|||
(ns youyesyet.canvasser-app.ui-utils-test
|
||||
(:require [cljs.test :refer-macros [is are deftest testing use-fixtures]]
|
||||
[reagent.core :as reagent :refer [atom]]
|
||||
[youyesyet.canvasser-app.ui-utils :refer :all]))
|
||||
|
||||
(deftest big-link-tests
|
||||
(testing "big-link"
|
||||
(is (= [:div.big-link-container {:key (gensym "big-link")}
|
||||
[:a.big-link {}
|
||||
"Test"]]
|
||||
(big-link "Test" nil nil)))))
|
Loading…
Reference in a new issue