diff --git a/resources/sql/locality-trigger.sql b/resources/sql/locality-trigger.sql
index cbda59c..00452b3 100644
--- a/resources/sql/locality-trigger.sql
+++ b/resources/sql/locality-trigger.sql
@@ -25,8 +25,8 @@
CREATE FUNCTION compute_locality() RETURNS trigger AS $compute_locality$
BEGIN
- NEW.locality = (10000 * floor (NEW.latitude * 1000)) -
- (NEW.longitude * 1000);
+ NEW.locality = (1000 * floor(NEW.latitude * 100)) -
+ floor(NEW.longitude * 100);
RETURN NEW;
END;
$compute_locality$ LANGUAGE plpgsql;
diff --git a/resources/sql/queries.auto.sql b/resources/sql/queries.auto.sql
index dab35b5..dc3d591 100644
--- a/resources/sql/queries.auto.sql
+++ b/resources/sql/queries.auto.sql
@@ -1,7 +1,7 @@
------------------------------------------------------------------------
-- File queries.sql
--
--- autogenerated by adl.to-hugsql-queries at 2018-07-03T12:23:50.486Z
+-- autogenerated by adl.to-hugsql-queries at 2018-07-03T23:08:18.480Z
--
-- See [Application Description
-- Language](https://github.com/simon-brooke/adl).
diff --git a/resources/sql/youyesyet.postgres.sql b/resources/sql/youyesyet.postgres.sql
index 1375265..6871331 100644
--- a/resources/sql/youyesyet.postgres.sql
+++ b/resources/sql/youyesyet.postgres.sql
@@ -5,7 +5,7 @@
--
-- auto-generated by [Application Description Language framework]
--
--- (https://github.com/simon-brooke/adl) at 20180703T122351.367Z
+-- (https://github.com/simon-brooke/adl) at 20180703T230819.494Z
--
--
-- A web-app intended to be used by canvassers campaigning for a
diff --git a/resources/templates/auto/application-index.html b/resources/templates/auto/application-index.html
index d20b64c..63d842b 100644
--- a/resources/templates/auto/application-index.html
+++ b/resources/templates/auto/application-index.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/form-addresses-Address.html b/resources/templates/auto/form-addresses-Address.html
index 9ca72aa..e29ac70 100644
--- a/resources/templates/auto/form-addresses-Address.html
+++ b/resources/templates/auto/form-addresses-Address.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
@@ -87,7 +87,7 @@ district_id
{% else %}
diff --git a/resources/templates/auto/form-authorities-Authority.html b/resources/templates/auto/form-authorities-Authority.html
index 329e3a7..a6d40b6 100644
--- a/resources/templates/auto/form-authorities-Authority.html
+++ b/resources/templates/auto/form-authorities-Authority.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/form-canvassers-Canvasser.html b/resources/templates/auto/form-canvassers-Canvasser.html
index 320c80b..dd5961b 100644
--- a/resources/templates/auto/form-canvassers-Canvasser.html
+++ b/resources/templates/auto/form-canvassers-Canvasser.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
@@ -69,7 +69,7 @@ elector_id
{% else %}
@@ -92,7 +92,7 @@ address_id
{% else %}
@@ -151,7 +151,7 @@ authority_id
{% else %}
@@ -191,7 +191,7 @@ roles
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
{% else %}
diff --git a/resources/templates/auto/form-districts-District.html b/resources/templates/auto/form-districts-District.html
index 41fa5f2..d58b19f 100644
--- a/resources/templates/auto/form-districts-District.html
+++ b/resources/templates/auto/form-districts-District.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/form-dwellings-Dwelling.html b/resources/templates/auto/form-dwellings-Dwelling.html
index 2b562c7..528cf25 100644
--- a/resources/templates/auto/form-dwellings-Dwelling.html
+++ b/resources/templates/auto/form-dwellings-Dwelling.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
@@ -33,7 +33,7 @@ address_id
{% else %}
diff --git a/resources/templates/auto/form-electors-Elector.html b/resources/templates/auto/form-electors-Elector.html
index 9ea1a40..0ed2cc5 100644
--- a/resources/templates/auto/form-electors-Elector.html
+++ b/resources/templates/auto/form-electors-Elector.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
@@ -51,7 +51,7 @@ dwelling_id
{% else %}
@@ -109,7 +109,7 @@ gender
{% ifmemberof admin %}
{% else %}
diff --git a/resources/templates/auto/form-followupactions-Followupaction.html b/resources/templates/auto/form-followupactions-Followupaction.html
index eea3de0..6f47cb4 100644
--- a/resources/templates/auto/form-followupactions-Followupaction.html
+++ b/resources/templates/auto/form-followupactions-Followupaction.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
@@ -33,7 +33,7 @@ request_id
{% else %}
@@ -56,7 +56,7 @@ actor
{% else %}
diff --git a/resources/templates/auto/form-followupmethods-Followupmethod.html b/resources/templates/auto/form-followupmethods-Followupmethod.html
index f22b050..ced5877 100644
--- a/resources/templates/auto/form-followupmethods-Followupmethod.html
+++ b/resources/templates/auto/form-followupmethods-Followupmethod.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/form-followuprequests-Followuprequest.html b/resources/templates/auto/form-followuprequests-Followuprequest.html
index 7632816..417bf02 100644
--- a/resources/templates/auto/form-followuprequests-Followuprequest.html
+++ b/resources/templates/auto/form-followuprequests-Followuprequest.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
@@ -33,7 +33,7 @@ elector_id
{% else %}
@@ -56,7 +56,7 @@ visit_id
{% else %}
@@ -78,7 +78,7 @@ issue_id
{% ifmemberof admin %}
{% else %}
@@ -100,7 +100,7 @@ method_id
{% ifmemberof admin %}
{% else %}
diff --git a/resources/templates/auto/form-genders-Gender.html b/resources/templates/auto/form-genders-Gender.html
index a62df40..a232471 100644
--- a/resources/templates/auto/form-genders-Gender.html
+++ b/resources/templates/auto/form-genders-Gender.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/form-intentions-Intention.html b/resources/templates/auto/form-intentions-Intention.html
index 472abe6..06887e0 100644
--- a/resources/templates/auto/form-intentions-Intention.html
+++ b/resources/templates/auto/form-intentions-Intention.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
@@ -15,7 +15,7 @@ visit_id
{% else %}
@@ -38,7 +38,7 @@ elector_id
{% else %}
@@ -60,7 +60,7 @@ option_id
{% ifmemberof admin %}
{% else %}
diff --git a/resources/templates/auto/form-issues-Issue.html b/resources/templates/auto/form-issues-Issue.html
index 3fde700..eebc4f2 100644
--- a/resources/templates/auto/form-issues-Issue.html
+++ b/resources/templates/auto/form-issues-Issue.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/form-options-Option.html b/resources/templates/auto/form-options-Option.html
index 37638d9..2e3382a 100644
--- a/resources/templates/auto/form-options-Option.html
+++ b/resources/templates/auto/form-options-Option.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/form-roles-Role.html b/resources/templates/auto/form-roles-Role.html
index 9f9a326..be6c211 100644
--- a/resources/templates/auto/form-roles-Role.html
+++ b/resources/templates/auto/form-roles-Role.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
@@ -51,7 +51,7 @@ members
{% else %}
diff --git a/resources/templates/auto/form-teams-Team.html b/resources/templates/auto/form-teams-Team.html
index c3aaa38..b56d6a7 100644
--- a/resources/templates/auto/form-teams-Team.html
+++ b/resources/templates/auto/form-teams-Team.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
@@ -51,7 +51,7 @@ district_id
{% else %}
@@ -92,7 +92,7 @@ members
{% else %}
@@ -115,7 +115,7 @@ organisers
{% else %}
diff --git a/resources/templates/auto/form-visits-Visit.html b/resources/templates/auto/form-visits-Visit.html
index 57bb2e2..e5e7fc8 100644
--- a/resources/templates/auto/form-visits-Visit.html
+++ b/resources/templates/auto/form-visits-Visit.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
@@ -33,7 +33,7 @@ address_id
{% else %}
@@ -56,7 +56,7 @@ canvasser_id
{% else %}
diff --git a/resources/templates/auto/list-addresses-Addresses.html b/resources/templates/auto/list-addresses-Addresses.html
index 2850e38..35c7ad6 100644
--- a/resources/templates/auto/list-addresses-Addresses.html
+++ b/resources/templates/auto/list-addresses-Addresses.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-authorities-Authorities.html b/resources/templates/auto/list-authorities-Authorities.html
index c546208..9fff93f 100644
--- a/resources/templates/auto/list-authorities-Authorities.html
+++ b/resources/templates/auto/list-authorities-Authorities.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-canvassers-Canvassers.html b/resources/templates/auto/list-canvassers-Canvassers.html
index 4d27495..b6ae6d1 100644
--- a/resources/templates/auto/list-canvassers-Canvassers.html
+++ b/resources/templates/auto/list-canvassers-Canvassers.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-districts-Districts.html b/resources/templates/auto/list-districts-Districts.html
index f686b74..2263933 100644
--- a/resources/templates/auto/list-districts-Districts.html
+++ b/resources/templates/auto/list-districts-Districts.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-dwellings-Dwellings.html b/resources/templates/auto/list-dwellings-Dwellings.html
index c4044c4..4cc5d1d 100644
--- a/resources/templates/auto/list-dwellings-Dwellings.html
+++ b/resources/templates/auto/list-dwellings-Dwellings.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-electors-Electors.html b/resources/templates/auto/list-electors-Electors.html
index 23ec004..10777ff 100644
--- a/resources/templates/auto/list-electors-Electors.html
+++ b/resources/templates/auto/list-electors-Electors.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-followupactions-Followupactions.html b/resources/templates/auto/list-followupactions-Followupactions.html
index c74d8fc..797e9fe 100644
--- a/resources/templates/auto/list-followupactions-Followupactions.html
+++ b/resources/templates/auto/list-followupactions-Followupactions.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-followupmethods-Followupmethods.html b/resources/templates/auto/list-followupmethods-Followupmethods.html
index 8ee0a32..292c50c 100644
--- a/resources/templates/auto/list-followupmethods-Followupmethods.html
+++ b/resources/templates/auto/list-followupmethods-Followupmethods.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-followuprequests-Followuprequests.html b/resources/templates/auto/list-followuprequests-Followuprequests.html
index 5f19ae0..d2efd40 100644
--- a/resources/templates/auto/list-followuprequests-Followuprequests.html
+++ b/resources/templates/auto/list-followuprequests-Followuprequests.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-genders-Genders.html b/resources/templates/auto/list-genders-Genders.html
index 07646a6..db02a22 100644
--- a/resources/templates/auto/list-genders-Genders.html
+++ b/resources/templates/auto/list-genders-Genders.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-intentions-Intentions.html b/resources/templates/auto/list-intentions-Intentions.html
index 6b95886..eba312e 100644
--- a/resources/templates/auto/list-intentions-Intentions.html
+++ b/resources/templates/auto/list-intentions-Intentions.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-issues-Issues.html b/resources/templates/auto/list-issues-Issues.html
index fab0ec7..661c9d4 100644
--- a/resources/templates/auto/list-issues-Issues.html
+++ b/resources/templates/auto/list-issues-Issues.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-options-Options.html b/resources/templates/auto/list-options-Options.html
index b60e786..35a5e64 100644
--- a/resources/templates/auto/list-options-Options.html
+++ b/resources/templates/auto/list-options-Options.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-roles-Roles.html b/resources/templates/auto/list-roles-Roles.html
index f7aed11..f573b01 100644
--- a/resources/templates/auto/list-roles-Roles.html
+++ b/resources/templates/auto/list-roles-Roles.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-teams-Teams.html b/resources/templates/auto/list-teams-Teams.html
index 99630d3..5c2ec09 100644
--- a/resources/templates/auto/list-teams-Teams.html
+++ b/resources/templates/auto/list-teams-Teams.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/resources/templates/auto/list-visits-Visits.html b/resources/templates/auto/list-visits-Visits.html
index 9a75523..45a6a01 100644
--- a/resources/templates/auto/list-visits-Visits.html
+++ b/resources/templates/auto/list-visits-Visits.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-
diff --git a/src/clj/youyesyet/routes/auto.clj b/src/clj/youyesyet/routes/auto.clj
index 975d909..d20c677 100644
--- a/src/clj/youyesyet/routes/auto.clj
+++ b/src/clj/youyesyet/routes/auto.clj
@@ -1,6 +1,6 @@
(ns
youyesyet.routes.auto
- "User interface routes for Youyesyet auto-generated by [Application Description Language framework](https://github.com/simon-brooke/adl) at 20180703T122351.613Z"
+ "User interface routes for Youyesyet auto-generated by [Application Description Language framework](https://github.com/simon-brooke/adl) at 20180703T230819.733Z"
(:require
[adl-support.core :as support]
[clojure.java.io :as io]
@@ -25,7 +25,7 @@
list-addresses-Addresses
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-addresses-Addresses.html")
(:session r)
@@ -41,7 +41,7 @@
form-addresses-Address
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-addresses-Address.html")
(:session r)
@@ -55,7 +55,7 @@
list-authorities-Authorities
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-authorities-Authorities.html")
(:session r)
@@ -71,7 +71,7 @@
form-authorities-Authority
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-authorities-Authority.html")
(:session r)
@@ -87,7 +87,7 @@
list-canvassers-Canvassers
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-canvassers-Canvassers.html")
(:session r)
@@ -103,7 +103,7 @@
form-canvassers-Canvasser
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-canvassers-Canvasser.html")
(:session r)
@@ -123,7 +123,7 @@
list-districts-Districts
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-districts-Districts.html")
(:session r)
@@ -139,7 +139,7 @@
form-districts-District
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-districts-District.html")
(:session r)
@@ -155,7 +155,7 @@
list-dwellings-Dwellings
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-dwellings-Dwellings.html")
(:session r)
@@ -171,7 +171,7 @@
form-dwellings-Dwelling
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-dwellings-Dwelling.html")
(:session r)
@@ -188,7 +188,7 @@
list-electors-Electors
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-electors-Electors.html")
(:session r)
@@ -204,7 +204,7 @@
form-electors-Elector
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-electors-Elector.html")
(:session r)
@@ -219,7 +219,7 @@
list-followupactions-Followupactions
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template
"list-followupactions-Followupactions.html")
@@ -236,7 +236,7 @@
form-followupactions-Followupaction
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template
"form-followupactions-Followupaction.html")
@@ -255,7 +255,7 @@
list-followupmethods-Followupmethods
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template
"list-followupmethods-Followupmethods.html")
@@ -272,7 +272,7 @@
form-followupmethods-Followupmethod
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template
"form-followupmethods-Followupmethod.html")
@@ -289,7 +289,7 @@
list-followuprequests-Followuprequests
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template
"list-followuprequests-Followuprequests.html")
@@ -306,7 +306,7 @@
form-followuprequests-Followuprequest
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template
"form-followuprequests-Followuprequest.html")
@@ -327,7 +327,7 @@
list-genders-Genders
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-genders-Genders.html")
(:session r)
@@ -343,7 +343,7 @@
form-genders-Gender
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-genders-Gender.html")
(:session r)
@@ -359,7 +359,7 @@
list-intentions-Intentions
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"Id"})]
(l/render
(support/resolve-template "list-intentions-Intentions.html")
(:session r)
@@ -375,7 +375,7 @@
form-intentions-Intention
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"Id"})]
(l/render
(support/resolve-template "form-intentions-Intention.html")
(:session r)
@@ -394,7 +394,7 @@
list-issues-Issues
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-issues-Issues.html")
(:session r)
@@ -410,7 +410,7 @@
form-issues-Issue
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-issues-Issue.html")
(:session r)
@@ -423,7 +423,7 @@
list-options-Options
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-options-Options.html")
(:session r)
@@ -439,7 +439,7 @@
form-options-Option
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-options-Option.html")
(:session r)
@@ -455,7 +455,7 @@
list-roles-Roles
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-roles-Roles.html")
(:session r)
@@ -471,7 +471,7 @@
form-roles-Role
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-roles-Role.html")
(:session r)
@@ -485,7 +485,7 @@
list-teams-Teams
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-teams-Teams.html")
(:session r)
@@ -501,7 +501,7 @@
form-teams-Team
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-teams-Team.html")
(:session r)
@@ -516,7 +516,7 @@
list-visits-Visits
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "list-visits-Visits.html")
(:session r)
@@ -532,7 +532,7 @@
form-visits-Visit
[r]
(let
- [p (support/massage-params (:params r))]
+ [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render
(support/resolve-template "form-visits-Visit.html")
(:session r)
diff --git a/src/clj/youyesyet/routes/auto_json.clj b/src/clj/youyesyet/routes/auto_json.clj
index c53888d..713c2bf 100644
--- a/src/clj/youyesyet/routes/auto_json.clj
+++ b/src/clj/youyesyet/routes/auto_json.clj
@@ -1,6 +1,6 @@
(ns
youyesyet.routes.auto-json
- "JSON routes for youyesyet auto-generated by [Application Description Language framework](https://github.com/simon-brooke/adl) at 20180703T122350.619Z"
+ "JSON routes for youyesyet auto-generated by [Application Description Language framework](https://github.com/simon-brooke/adl) at 20180703T230818.649Z"
(:require
[adl-support.core :as support]
[clojure.java.io :as io]
@@ -15,241 +15,366 @@
(defn
create-address!
"Auto-generated method to insert one record to the `addresses` table. Expects the following key(s) to be present in `params`: `(:address :postcode :phone :district_id :latitude :longitude :locality)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/create-address! db/*db* params)]
+ [result
+ (db/create-address!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(defn
create-authority!
"Auto-generated method to insert one record to the `authorities` table. Expects the following key(s) to be present in `params`: `(:request-token-uri :access-token-uri :authorize-uri :consumer-key :consumer-secret :id)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/create-authority! db/*db* params)]
+ [result
+ (db/create-authority!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(defn
create-canvasser!
"Auto-generated method to insert one record to the `canvassers` table. Expects the following key(s) to be present in `params`: `(:username :fullname :elector_id :address_id :phone :email :authority_id :authorised)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/create-canvasser! db/*db* params)]
+ [result
+ (db/create-canvasser!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(defn
create-district!
"Auto-generated method to insert one record to the `districts` table. Expects the following key(s) to be present in `params`: `(:name)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/create-district! db/*db* params)]
+ [result
+ (db/create-district!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(defn
create-dwelling!
"Auto-generated method to insert one record to the `dwellings` table. Expects the following key(s) to be present in `params`: `(:address_id :sub-address)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/create-dwelling! db/*db* params)]
+ [result
+ (db/create-dwelling!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(defn
create-elector!
"Auto-generated method to insert one record to the `electors` table. Expects the following key(s) to be present in `params`: `(:name :dwelling_id :phone :email :gender)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/create-elector! db/*db* params)]
+ [result
+ (db/create-elector!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(defn
create-followupaction!
"Auto-generated method to insert one record to the `followupactions` table. Expects the following key(s) to be present in `params`: `(:request_id :actor :date :notes :closed)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/create-followupaction! db/*db* params)]
+ [result
+ (db/create-followupaction!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(defn
create-followupmethod!
"Auto-generated method to insert one record to the `followupmethods` table. Expects the following key(s) to be present in `params`: `(:id)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/create-followupmethod! db/*db* params)]
+ [result
+ (db/create-followupmethod!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(defn
create-followuprequest!
"Auto-generated method to insert one record to the `followuprequests` table. Expects the following key(s) to be present in `params`: `(:elector_id :visit_id :issue_id :method_id)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/create-followuprequest! db/*db* params)]
+ [result
+ (db/create-followuprequest!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(defn
create-gender!
"Auto-generated method to insert one record to the `genders` table. Expects the following key(s) to be present in `params`: `(:id)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
- (let [result (db/create-gender! db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/create-gender!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
(defn
create-intention!
"Auto-generated method to insert one record to the `intentions` table. Expects the following key(s) to be present in `params`: `(:visit_id :elector_id :option_id :locality)`. Returns a map containing the keys `#{\"Id\"}` identifying the record created."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/create-intention! db/*db* params)]
+ [result
+ (db/create-intention!
+ db/*db*
+ (support/massage-params params form-params #{"Id"}))]
(response/ok result)))
(defn
create-issue!
"Auto-generated method to insert one record to the `issues` table. Expects the following key(s) to be present in `params`: `(:url :current :brief :id)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
- (let [result (db/create-issue! db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/create-issue!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
(defn
create-option!
"Auto-generated method to insert one record to the `options` table. Expects the following key(s) to be present in `params`: `(:id)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
- (let [result (db/create-option! db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/create-option!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
(defn
create-role!
"Auto-generated method to insert one record to the `roles` table. Expects the following key(s) to be present in `params`: `(:name)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
- (let [result (db/create-role! db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/create-role!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
(defn
create-team!
"Auto-generated method to insert one record to the `teams` table. Expects the following key(s) to be present in `params`: `(:name :district_id :latitude :longitude)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
- (let [result (db/create-team! db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/create-team!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
(defn
create-visit!
"Auto-generated method to insert one record to the `visits` table. Expects the following key(s) to be present in `params`: `(:address_id :canvasser_id :date)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params]}]
- (let [result (db/create-visit! db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/create-visit!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
(defn
delete-address!
"Auto-generated method to delete one record from the `addresses` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/delete-address! db/*db* params)]
+ [result
+ (db/delete-address!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
delete-authority!
"Auto-generated method to delete one record from the `authorities` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/delete-authority! db/*db* params)]
+ [result
+ (db/delete-authority!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
delete-canvasser!
"Auto-generated method to delete one record from the `canvassers` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/delete-canvasser! db/*db* params)]
+ [result
+ (db/delete-canvasser!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
delete-district!
"Auto-generated method to delete one record from the `districts` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/delete-district! db/*db* params)]
+ [result
+ (db/delete-district!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
delete-dwelling!
"Auto-generated method to delete one record from the `dwellings` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/delete-dwelling! db/*db* params)]
+ [result
+ (db/delete-dwelling!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
delete-elector!
"Auto-generated method to delete one record from the `electors` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/delete-elector! db/*db* params)]
+ [result
+ (db/delete-elector!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
delete-followupaction!
"Auto-generated method to delete one record from the `followupactions` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/delete-followupaction! db/*db* params)]
+ [result
+ (db/delete-followupaction!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
delete-followupmethod!
"Auto-generated method to delete one record from the `followupmethods` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/delete-followupmethod! db/*db* params)]
+ [result
+ (db/delete-followupmethod!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
delete-followuprequest!
"Auto-generated method to delete one record from the `followuprequests` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/delete-followuprequest! db/*db* params)]
+ [result
+ (db/delete-followuprequest!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
delete-gender!
"Auto-generated method to delete one record from the `genders` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
- (let [result (db/delete-gender! db/*db* params)] (response/found "/")))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/delete-gender!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/found "/")))
(defn
delete-intention!
"Auto-generated method to delete one record from the `intentions` table. Expects the following key(s) to be present in `params`: `#{\"Id\"}`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/delete-intention! db/*db* params)]
+ [result
+ (db/delete-intention!
+ db/*db*
+ (support/massage-params params form-params #{"Id"}))]
(response/found "/")))
(defn
delete-issue!
"Auto-generated method to delete one record from the `issues` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
- (let [result (db/delete-issue! db/*db* params)] (response/found "/")))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/delete-issue!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/found "/")))
(defn
delete-option!
"Auto-generated method to delete one record from the `options` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
- (let [result (db/delete-option! db/*db* params)] (response/found "/")))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/delete-option!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/found "/")))
(defn
delete-role!
"Auto-generated method to delete one record from the `roles` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
- (let [result (db/delete-role! db/*db* params)] (response/found "/")))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/delete-role!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/found "/")))
(defn
delete-team!
"Auto-generated method to delete one record from the `teams` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
- (let [result (db/delete-team! db/*db* params)] (response/found "/")))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/delete-team!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/found "/")))
(defn
delete-visit!
"Auto-generated method to delete one record from the `visits` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params]}]
- (let [result (db/delete-visit! db/*db* params)] (response/found "/")))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/delete-visit!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/found "/")))
(def
get-address
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/get-address db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/get-address
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
1000000000))
@@ -257,9 +382,12 @@
get-authority
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/get-authority db/*db* params)]
+ [result
+ (db/get-authority
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -268,9 +396,12 @@
get-canvasser
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/get-canvasser db/*db* params)]
+ [result
+ (db/get-canvasser
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000))
@@ -279,9 +410,12 @@
get-canvasser-by-username
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/get-canvasser-by-username db/*db* params)]
+ [result
+ (db/get-canvasser-by-username
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000))
@@ -290,9 +424,12 @@
get-district
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/get-district db/*db* params)]
+ [result
+ (db/get-district
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -301,9 +438,12 @@
get-dwelling
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/get-dwelling db/*db* params)]
+ [result
+ (db/get-dwelling
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
1000000000))
@@ -312,26 +452,37 @@
get-elector
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/get-elector db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/get-elector
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
100000000))
(defn
get-followupaction
"Auto-generated method to select one record from the `followupactions` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`. Returns a map containing the following keys: `clojure.lang.LazySeq@6b32af0e`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/get-followupaction db/*db* params)]
+ [result
+ (db/get-followupaction
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(def
get-followupmethod
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/get-followupmethod db/*db* params)]
+ [result
+ (db/get-followupmethod
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -340,9 +491,12 @@
get-followuprequest
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/get-followuprequest db/*db* params)]
+ [result
+ (db/get-followuprequest
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
100000))
@@ -351,8 +505,13 @@
get-gender
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/get-gender db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/get-gender
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
1000000000))
@@ -360,9 +519,12 @@
get-intention
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/get-intention db/*db* params)]
+ [result
+ (db/get-intention
+ db/*db*
+ (support/massage-params params form-params #{"Id"}))]
(response/ok result)))
:ttl/threshold
100000))
@@ -371,8 +533,13 @@
get-issue
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/get-issue db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/get-issue
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
1000000))
@@ -380,8 +547,13 @@
get-option
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/get-option db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/get-option
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
10000000000))
@@ -389,8 +561,13 @@
get-role
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/get-role db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/get-role
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
10000000000))
@@ -398,9 +575,12 @@
get-role-by-name
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/get-role-by-name db/*db* params)]
+ [result
+ (db/get-role-by-name
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -409,8 +589,13 @@
get-team
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/get-team db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/get-team
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
10000000))
@@ -418,8 +603,13 @@
get-visit
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/get-visit db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/get-visit
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
100000))
@@ -427,9 +617,12 @@
list-addresses
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-addresses db/*db* params)]
+ [result
+ (db/list-addresses
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
1000000000))
@@ -443,9 +636,12 @@
list-authorities
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-authorities db/*db* params)]
+ [result
+ (db/list-authorities
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -454,9 +650,12 @@
list-canvassers
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-canvassers db/*db* params)]
+ [result
+ (db/list-canvassers
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000))
@@ -485,9 +684,12 @@
list-districts
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-districts db/*db* params)]
+ [result
+ (db/list-districts
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -496,9 +698,12 @@
list-dwellings
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-dwellings db/*db* params)]
+ [result
+ (db/list-dwellings
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
1000000000))
@@ -512,9 +717,12 @@
list-electors
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-electors db/*db* params)]
+ [result
+ (db/list-electors
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
100000000))
@@ -532,9 +740,12 @@
(defn
list-followupactions
"Auto-generated method to select all records from the `followupactions` table. If the keys `(:limit :offset)` are present in the request then they will be used to page through the data. Returns a sequence of maps each containing the following keys: `(:request_id :actor :date :notes :closed :id)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-followupactions db/*db* params)]
+ [result
+ (db/list-followupactions
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(defn
@@ -551,9 +762,12 @@
list-followupmethods
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-followupmethods db/*db* params)]
+ [result
+ (db/list-followupmethods
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -562,9 +776,12 @@
list-followuprequests
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-followuprequests db/*db* params)]
+ [result
+ (db/list-followuprequests
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
100000))
@@ -593,9 +810,12 @@
list-genders
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-genders db/*db* params)]
+ [result
+ (db/list-genders
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
1000000000))
@@ -604,9 +824,12 @@
list-intentions
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-intentions db/*db* params)]
+ [result
+ (db/list-intentions
+ db/*db*
+ (support/massage-params params form-params #{"Id"}))]
(response/ok result)))
:ttl/threshold
100000))
@@ -630,8 +853,13 @@
list-issues
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/list-issues db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/list-issues
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
1000000))
@@ -639,9 +867,12 @@
list-options
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/list-options db/*db* params)]
+ [result
+ (db/list-options
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -650,8 +881,13 @@
list-roles
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/list-roles db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/list-roles
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
10000000000))
@@ -664,8 +900,13 @@
list-teams
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/list-teams db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/list-teams
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
10000000))
@@ -683,8 +924,13 @@
list-visits
(memo/ttl
(fn
- [{:keys [params]}]
- (let [result (db/list-visits db/*db* params)] (response/ok result)))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/list-visits
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/ok result)))
:ttl/threshold
100000))
@@ -702,9 +948,12 @@
search-strings-address
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-address db/*db* params)]
+ [result
+ (db/search-strings-address
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
1000000000))
@@ -713,9 +962,12 @@
search-strings-authority
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-authority db/*db* params)]
+ [result
+ (db/search-strings-authority
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -724,9 +976,12 @@
search-strings-canvasser
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-canvasser db/*db* params)]
+ [result
+ (db/search-strings-canvasser
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000))
@@ -735,9 +990,12 @@
search-strings-district
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-district db/*db* params)]
+ [result
+ (db/search-strings-district
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -746,9 +1004,12 @@
search-strings-dwelling
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-dwelling db/*db* params)]
+ [result
+ (db/search-strings-dwelling
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
1000000000))
@@ -757,9 +1018,12 @@
search-strings-elector
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-elector db/*db* params)]
+ [result
+ (db/search-strings-elector
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
100000000))
@@ -767,18 +1031,24 @@
(defn
search-strings-followupaction
"Auto-generated method to select all records from the `followupactions` table with any text field matching the value of the key `:pattern` which should be in the request. If the keys `(:limit :offset)` are present in the request then they will be used to page through the data. Returns a sequence of maps each containing the following keys: `(:request_id :actor :date :notes :closed :id)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-followupaction db/*db* params)]
+ [result
+ (db/search-strings-followupaction
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
(def
search-strings-followupmethod
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-followupmethod db/*db* params)]
+ [result
+ (db/search-strings-followupmethod
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -787,9 +1057,12 @@
search-strings-followuprequest
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-followuprequest db/*db* params)]
+ [result
+ (db/search-strings-followuprequest
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
100000))
@@ -798,9 +1071,12 @@
search-strings-gender
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-gender db/*db* params)]
+ [result
+ (db/search-strings-gender
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
1000000000))
@@ -809,9 +1085,12 @@
search-strings-intention
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-intention db/*db* params)]
+ [result
+ (db/search-strings-intention
+ db/*db*
+ (support/massage-params params form-params #{"Id"}))]
(response/ok result)))
:ttl/threshold
100000))
@@ -820,9 +1099,12 @@
search-strings-issue
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-issue db/*db* params)]
+ [result
+ (db/search-strings-issue
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
1000000))
@@ -831,9 +1113,12 @@
search-strings-option
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-option db/*db* params)]
+ [result
+ (db/search-strings-option
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -842,9 +1127,12 @@
search-strings-role
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-role db/*db* params)]
+ [result
+ (db/search-strings-role
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000000))
@@ -853,9 +1141,12 @@
search-strings-team
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-team db/*db* params)]
+ [result
+ (db/search-strings-team
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
10000000))
@@ -864,9 +1155,12 @@
search-strings-visit
(memo/ttl
(fn
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/search-strings-visit db/*db* params)]
+ [result
+ (db/search-strings-visit
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/ok result)))
:ttl/threshold
100000))
@@ -874,98 +1168,145 @@
(defn
update-address!
"Auto-generated method to update one record in the `addresses` table. Expects the following key(s) to be present in `params`: `(:address :district_id :id :latitude :locality :longitude :phone :postcode)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/update-address! db/*db* params)]
+ [result
+ (db/update-address!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
update-authority!
"Auto-generated method to update one record in the `authorities` table. Expects the following key(s) to be present in `params`: `(:access-token-uri :authorize-uri :consumer-key :consumer-secret :id :request-token-uri)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/update-authority! db/*db* params)]
+ [result
+ (db/update-authority!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
update-canvasser!
"Auto-generated method to update one record in the `canvassers` table. Expects the following key(s) to be present in `params`: `(:address_id :authorised :authority_id :elector_id :email :fullname :id :phone :username)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/update-canvasser! db/*db* params)]
+ [result
+ (db/update-canvasser!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
update-district!
"Auto-generated method to update one record in the `districts` table. Expects the following key(s) to be present in `params`: `(:id :name)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/update-district! db/*db* params)]
+ [result
+ (db/update-district!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
update-dwelling!
"Auto-generated method to update one record in the `dwellings` table. Expects the following key(s) to be present in `params`: `(:address_id :id :sub-address)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/update-dwelling! db/*db* params)]
+ [result
+ (db/update-dwelling!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
update-elector!
"Auto-generated method to update one record in the `electors` table. Expects the following key(s) to be present in `params`: `(:dwelling_id :email :gender :id :name :phone)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/update-elector! db/*db* params)]
+ [result
+ (db/update-elector!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
update-followupaction!
"Auto-generated method to update one record in the `followupactions` table. Expects the following key(s) to be present in `params`: `(:actor :closed :date :id :notes :request_id)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/update-followupaction! db/*db* params)]
+ [result
+ (db/update-followupaction!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
update-followuprequest!
"Auto-generated method to update one record in the `followuprequests` table. Expects the following key(s) to be present in `params`: `(:elector_id :id :issue_id :method_id :visit_id)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/update-followuprequest! db/*db* params)]
+ [result
+ (db/update-followuprequest!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
(response/found "/")))
(defn
update-intention!
"Auto-generated method to update one record in the `intentions` table. Expects the following key(s) to be present in `params`: `(:Id :elector_id :locality :option_id :visit_id)`."
- [{:keys [params]}]
+ [{:keys [params form-params]}]
(let
- [result (db/update-intention! db/*db* params)]
+ [result
+ (db/update-intention!
+ db/*db*
+ (support/massage-params params form-params #{"Id"}))]
(response/found "/")))
(defn
update-issue!
"Auto-generated method to update one record in the `issues` table. Expects the following key(s) to be present in `params`: `(:brief :current :id :url)`."
- [{:keys [params]}]
- (let [result (db/update-issue! db/*db* params)] (response/found "/")))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/update-issue!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/found "/")))
(defn
update-role!
"Auto-generated method to update one record in the `roles` table. Expects the following key(s) to be present in `params`: `(:id :name)`."
- [{:keys [params]}]
- (let [result (db/update-role! db/*db* params)] (response/found "/")))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/update-role!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/found "/")))
(defn
update-team!
"Auto-generated method to update one record in the `teams` table. Expects the following key(s) to be present in `params`: `(:district_id :id :latitude :longitude :name)`."
- [{:keys [params]}]
- (let [result (db/update-team! db/*db* params)] (response/found "/")))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/update-team!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/found "/")))
(defn
update-visit!
"Auto-generated method to update one record in the `visits` table. Expects the following key(s) to be present in `params`: `(:address_id :canvasser_id :date :id)`."
- [{:keys [params]}]
- (let [result (db/update-visit! db/*db* params)] (response/found "/")))
+ [{:keys [params form-params]}]
+ (let
+ [result
+ (db/update-visit!
+ db/*db*
+ (support/massage-params params form-params #{"id"}))]
+ (response/found "/")))
(defroutes
auto-rest-routes
@@ -1097,75 +1438,75 @@
"/json/auto/delete-visit"
request
(route/restricted (delete-visit! request)))
- (POST
+ (GET
"/json/auto/get-address"
request
(route/restricted (get-address request)))
- (POST
+ (GET
"/json/auto/get-authority"
request
(route/restricted (get-authority request)))
- (POST
+ (GET
"/json/auto/get-canvasser"
request
(route/restricted (get-canvasser request)))
- (POST
+ (GET
"/json/auto/get-canvasser-by-username"
request
(route/restricted (get-canvasser-by-username request)))
- (POST
+ (GET
"/json/auto/get-district"
request
(route/restricted (get-district request)))
- (POST
+ (GET
"/json/auto/get-dwelling"
request
(route/restricted (get-dwelling request)))
- (POST
+ (GET
"/json/auto/get-elector"
request
(route/restricted (get-elector request)))
- (POST
+ (GET
"/json/auto/get-followupaction"
request
(route/restricted (get-followupaction request)))
- (POST
+ (GET
"/json/auto/get-followupmethod"
request
(route/restricted (get-followupmethod request)))
- (POST
+ (GET
"/json/auto/get-followuprequest"
request
(route/restricted (get-followuprequest request)))
- (POST
+ (GET
"/json/auto/get-gender"
request
(route/restricted (get-gender request)))
- (POST
+ (GET
"/json/auto/get-intention"
request
(route/restricted (get-intention request)))
- (POST
+ (GET
"/json/auto/get-issue"
request
(route/restricted (get-issue request)))
- (POST
+ (GET
"/json/auto/get-option"
request
(route/restricted (get-option request)))
- (POST
+ (GET
"/json/auto/get-role"
request
(route/restricted (get-role request)))
- (POST
+ (GET
"/json/auto/get-role-by-name"
request
(route/restricted (get-role-by-name request)))
- (POST
+ (GET
"/json/auto/get-team"
request
(route/restricted (get-team request)))
- (POST
+ (GET
"/json/auto/get-visit"
request
(route/restricted (get-visit request)))
diff --git a/src/cljc/youyesyet/locality.cljc b/src/cljc/youyesyet/locality.cljc
index dec0417..45c9872 100644
--- a/src/cljc/youyesyet/locality.cljc
+++ b/src/cljc/youyesyet/locality.cljc
@@ -29,12 +29,12 @@
"Compute the locality index for this `latitude`/`longitude` pair."
[latitude longitude]
(+
- (* 10000 ;; left-shift the latitude component four digits
+ (* 1000 ;; left-shift the latitude component three digits
(int
- (* latitude 1000)))
+ (* latitude 100)))
(- ;; invert the sign of the longitude component, since
(int ;; we're interested in localities West of Greenwich.
- (* longitude 1000)))))
+ (* longitude 100)))))
(defn neighbouring-localities
"Return this locality with the localities immediately
@@ -43,12 +43,14 @@
;; TODO: I'm not absolutely confident of my arithmetic here!
[locality]
(list
- (- locality 9999)
- (- locality 10000)
- (- locality 10001)
+ (- locality 99)
+ (- locality 100)
+ (- locality 101)
(- locality 1)
locality
(+ locality 1)
- (+ locality 9999)
- (+ locality 10000)
- (+ locality 10001)))
+ (+ locality 99)
+ (+ locality 100)
+ (+ locality 101)))
+
+(neighbouring-localities 5482391)
diff --git a/src/cljs/youyesyet/canvasser_app/handlers.cljs b/src/cljs/youyesyet/canvasser_app/handlers.cljs
index 634e7cf..0f2bcf8 100644
--- a/src/cljs/youyesyet/canvasser_app/handlers.cljs
+++ b/src/cljs/youyesyet/canvasser_app/handlers.cljs
@@ -159,16 +159,17 @@
(defn map-remove-pins
"Remove all pins from this map `view`. Side-effecty; liable to be problematic."
[view]
- (try
- (if
+
+ (if
+ view
+ (.eachLayer
view
- (.eachLayer
- view
- (fn [layer]
+ (fn [layer]
+ (try
(if
- (instance? layer js/L.Marker)
- (.removeLayer view layer)))))
- (catch js/Object any (js/console.log (str "Failed to remove pins from map: " any))))
+ (instance? js/L.Marker layer)
+ (.removeLayer view layer))
+ (catch js/Object any (js/console.log (str "Failed to remove pin '" layer "' from map: " any)))))))
view)
diff --git a/src/cljs/youyesyet/canvasser_app/state.cljs b/src/cljs/youyesyet/canvasser_app/state.cljs
index c01f85d..cb67e57 100644
--- a/src/cljs/youyesyet/canvasser_app/state.cljs
+++ b/src/cljs/youyesyet/canvasser_app/state.cljs
@@ -151,6 +151,6 @@
:page :home
:view nil
:latitude 54.82
- :longitude -3.90
+ :longitude -3.92
:zoom 12})
diff --git a/src/cljs/youyesyet/canvasser_app/views/map.cljs b/src/cljs/youyesyet/canvasser_app/views/map.cljs
index 97b0c44..094427d 100644
--- a/src/cljs/youyesyet/canvasser_app/views/map.cljs
+++ b/src/cljs/youyesyet/canvasser_app/views/map.cljs
@@ -77,6 +77,10 @@
(clj->js {:zoomControl false}))
#js [@(subscribe [:latitude]) @(subscribe [:longitude])]
@(subscribe [:zoom]))]
+ (.addTo (.tileLayer js/L osm-url
+ (clj->js {:attribution osm-attrib
+ :maxZoom 18}))
+ view)
(dispatch-sync [:set-view view])
(refresh-map-pins)
view))