From ff5c78d03008a9119863fcd389905f6ca7a49ce3 Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Wed, 4 Jul 2018 00:14:28 +0100 Subject: [PATCH] Fixed the regression with the map, and two issues in autogenerated code --- resources/sql/locality-trigger.sql | 4 +- resources/sql/queries.auto.sql | 2 +- resources/sql/youyesyet.postgres.sql | 2 +- .../templates/auto/application-index.html | 2 +- .../auto/form-addresses-Address.html | 4 +- .../auto/form-authorities-Authority.html | 2 +- .../auto/form-canvassers-Canvasser.html | 10 +- .../auto/form-districts-District.html | 2 +- .../auto/form-dwellings-Dwelling.html | 4 +- .../templates/auto/form-electors-Elector.html | 6 +- .../form-followupactions-Followupaction.html | 6 +- .../form-followupmethods-Followupmethod.html | 2 +- ...form-followuprequests-Followuprequest.html | 10 +- .../templates/auto/form-genders-Gender.html | 2 +- .../auto/form-intentions-Intention.html | 8 +- .../templates/auto/form-issues-Issue.html | 2 +- .../templates/auto/form-options-Option.html | 2 +- resources/templates/auto/form-roles-Role.html | 4 +- resources/templates/auto/form-teams-Team.html | 8 +- .../templates/auto/form-visits-Visit.html | 6 +- .../auto/list-addresses-Addresses.html | 2 +- .../auto/list-authorities-Authorities.html | 2 +- .../auto/list-canvassers-Canvassers.html | 2 +- .../auto/list-districts-Districts.html | 2 +- .../auto/list-dwellings-Dwellings.html | 2 +- .../auto/list-electors-Electors.html | 2 +- .../list-followupactions-Followupactions.html | 2 +- .../list-followupmethods-Followupmethods.html | 2 +- ...ist-followuprequests-Followuprequests.html | 2 +- .../templates/auto/list-genders-Genders.html | 2 +- .../auto/list-intentions-Intentions.html | 2 +- .../templates/auto/list-issues-Issues.html | 2 +- .../templates/auto/list-options-Options.html | 2 +- .../templates/auto/list-roles-Roles.html | 2 +- .../templates/auto/list-teams-Teams.html | 2 +- .../templates/auto/list-visits-Visits.html | 2 +- src/clj/youyesyet/routes/auto.clj | 66 +- src/clj/youyesyet/routes/auto_json.clj | 759 +++++++++++++----- src/cljc/youyesyet/locality.cljc | 20 +- .../youyesyet/canvasser_app/handlers.cljs | 17 +- src/cljs/youyesyet/canvasser_app/state.cljs | 2 +- .../youyesyet/canvasser_app/views/map.cljs | 4 + 42 files changed, 668 insertions(+), 320 deletions(-) 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))