diff --git a/resources/sql/queries.auto.sql b/resources/sql/queries.auto.sql
deleted file mode 100644
index 4ec75fa..0000000
--- a/resources/sql/queries.auto.sql
+++ /dev/null
@@ -1,1193 +0,0 @@
-------------------------------------------------------------------------
--- File queries.sql
---
--- autogenerated by adl.to-hugsql-queries at 2018-07-15T19:59:44.610Z
---
--- See [Application Description
--- Language](https://github.com/simon-brooke/adl).
-------------------------------------------------------------------------
-
--- :name create-address! :! :n
--- :doc creates a new address record
-INSERT INTO addresses (address,
- postcode,
- phone,
- district_id,
- latitude,
- longitude,
- locality)
-VALUES (:address,
- :postcode,
- :phone,
- :district_id,
- :latitude,
- :longitude,
- :locality)
-returning id
-
--- :name create-authority! :! :n
--- :doc creates a new authority record
-INSERT INTO authorities (request_token_uri,
- access_token_uri,
- authorize_uri,
- consumer_key,
- consumer_secret,
- id)
-VALUES (:request_token_uri,
- :access_token_uri,
- :authorize_uri,
- :consumer_key,
- :consumer_secret,
- :id)
-returning id
-
--- :name create-canvasser! :! :n
--- :doc creates a new canvasser record
-INSERT INTO canvassers (username,
- fullname,
- avatar,
- bio,
- elector_id,
- address_id,
- phone,
- email,
- authority_id,
- authorised)
-VALUES (:username,
- :fullname,
- :avatar,
- :bio,
- :elector_id,
- :address_id,
- :phone,
- :email,
- :authority_id,
- :authorised)
-returning id
-
--- :name create-district! :! :n
--- :doc creates a new district record
-INSERT INTO districts (name)
-VALUES (:name)
-returning id
-
--- :name create-dwelling! :! :n
--- :doc creates a new dwelling record
-INSERT INTO dwellings (address_id,
- sub_address)
-VALUES (:address_id,
- :sub_address)
-returning id
-
--- :name create-elector! :! :n
--- :doc creates a new elector record
-INSERT INTO electors (name,
- dwelling_id,
- phone,
- email,
- gender)
-VALUES (:name,
- :dwelling_id,
- :phone,
- :email,
- :gender)
-returning id
-
--- :name create-event! :! :n
--- :doc creates a new event record
-INSERT INTO events (name,
- date,
- time,
- decription,
- cancelled)
-VALUES (:name,
- :date,
- :time,
- :decription,
- :cancelled)
-returning id
-
--- :name create-followupaction! :! :n
--- :doc creates a new followupaction record
-INSERT INTO followupactions (request_id,
- actor,
- date,
- notes,
- closed)
-VALUES (:request_id,
- :actor,
- :date,
- :notes,
- :closed)
-returning id
-
--- :name create-followupmethod! :! :n
--- :doc creates a new followupmethod record
-INSERT INTO followupmethods (id)
-VALUES (:id)
-returning id
-
--- :name create-followuprequest! :! :n
--- :doc creates a new followuprequest record
-INSERT INTO followuprequests (elector_id,
- visit_id,
- issue_id,
- method_id)
-VALUES (:elector_id,
- :visit_id,
- :issue_id,
- :method_id)
-returning id
-
--- :name create-gender! :! :n
--- :doc creates a new gender record
-INSERT INTO genders (id)
-VALUES (:id)
-returning id
-
--- :name create-intention! :! :n
--- :doc creates a new intention record
-INSERT INTO intentions (visit_id,
- elector_id,
- option_id,
- locality)
-VALUES (:visit_id,
- :elector_id,
- :option_id,
- :locality)
-returning id
-
--- :name create-issue! :! :n
--- :doc creates a new issue record
-INSERT INTO issues (url,
- current,
- brief,
- id)
-VALUES (:url,
- :current,
- :brief,
- :id)
-returning id
-
--- :name create-option! :! :n
--- :doc creates a new option record
-INSERT INTO options (id)
-VALUES (:id)
-returning id
-
--- :name create-role! :! :n
--- :doc creates a new role record
-INSERT INTO roles (name)
-VALUES (:name)
-returning id
-
--- :name create-team! :! :n
--- :doc creates a new team record
-INSERT INTO teams (name,
- district_id,
- latitude,
- longitude)
-VALUES (:name,
- :district_id,
- :latitude,
- :longitude)
-returning id
-
--- :name create-visit! :! :n
--- :doc creates a new visit record
-INSERT INTO visits (address_id,
- canvasser_id,
- date)
-VALUES (:address_id,
- :canvasser_id,
- :date)
-returning id
-
--- :name delete-address! :! :n
--- :doc updates an existing address record
-DELETE FROM addresses
-WHERE addresses.id = :id
-
--- :name delete-authority! :! :n
--- :doc updates an existing authority record
-DELETE FROM authorities
-WHERE authorities.id = :id
-
--- :name delete-canvasser! :! :n
--- :doc updates an existing canvasser record
-DELETE FROM canvassers
-WHERE canvassers.id = :id
-
--- :name delete-district! :! :n
--- :doc updates an existing district record
-DELETE FROM districts
-WHERE districts.id = :id
-
--- :name delete-dwelling! :! :n
--- :doc updates an existing dwelling record
-DELETE FROM dwellings
-WHERE dwellings.id = :id
-
--- :name delete-elector! :! :n
--- :doc updates an existing elector record
-DELETE FROM electors
-WHERE electors.id = :id
-
--- :name delete-event! :! :n
--- :doc updates an existing event record
-DELETE FROM events
-WHERE events.id = :id
-
--- :name delete-followupaction! :! :n
--- :doc updates an existing followupaction record
-DELETE FROM followupactions
-WHERE followupactions.id = :id
-
--- :name delete-followupmethod! :! :n
--- :doc updates an existing followupmethod record
-DELETE FROM followupmethods
-WHERE followupmethods.id = :id
-
--- :name delete-followuprequest! :! :n
--- :doc updates an existing followuprequest record
-DELETE FROM followuprequests
-WHERE followuprequests.id = :id
-
--- :name delete-gender! :! :n
--- :doc updates an existing gender record
-DELETE FROM genders
-WHERE genders.id = :id
-
--- :name delete-intention! :! :n
--- :doc updates an existing intention record
-DELETE FROM intentions
-WHERE intentions.id = :id
-
--- :name delete-issue! :! :n
--- :doc updates an existing issue record
-DELETE FROM issues
-WHERE issues.id = :id
-
--- :name delete-option! :! :n
--- :doc updates an existing option record
-DELETE FROM options
-WHERE options.id = :id
-
--- :name delete-role! :! :n
--- :doc updates an existing role record
-DELETE FROM roles
-WHERE roles.id = :id
-
--- :name delete-team! :! :n
--- :doc updates an existing team record
-DELETE FROM teams
-WHERE teams.id = :id
-
--- :name delete-visit! :! :n
--- :doc updates an existing visit record
-DELETE FROM visits
-WHERE visits.id = :id
-
--- :name get-address :? :1
--- :doc selects an existing address record
-SELECT * FROM addresses
-WHERE addresses.id = :id
-ORDER BY addresses.address,
- addresses.postcode,
- addresses.id
-
--- :name get-authority :? :1
--- :doc selects an existing authority record
-SELECT * FROM authorities
-WHERE authorities.id = :id
-
--- :name get-canvasser :? :1
--- :doc selects an existing canvasser record
-SELECT * FROM canvassers
-WHERE canvassers.id = :id
-ORDER BY canvassers.username,
- canvassers.fullname,
- canvassers.address_id,
- canvassers.phone,
- canvassers.email,
- canvassers.id
-
--- :name get-canvasser-by-username :? :1
--- :doc selects an existing canvasser record
-SELECT * FROM canvassers
-WHERE canvassers.username = :username
-ORDER BY canvassers.username,
- canvassers.fullname,
- canvassers.address_id,
- canvassers.phone,
- canvassers.email,
- canvassers.id
-
--- :name get-district :? :1
--- :doc selects an existing district record
-SELECT * FROM districts
-WHERE districts.id = :id
-ORDER BY districts.name,
- districts.id
-
--- :name get-dwelling :? :1
--- :doc selects an existing dwelling record
-SELECT * FROM dwellings
-WHERE dwellings.id = :id
-ORDER BY dwellings.address_id,
- dwellings.sub_address,
- dwellings.id
-
--- :name get-elector :? :1
--- :doc selects an existing elector record
-SELECT * FROM electors
-WHERE electors.id = :id
-ORDER BY electors.name,
- electors.id
-
--- :name get-event :? :1
--- :doc selects an existing event record
-SELECT * FROM events
-WHERE events.id = :id
-ORDER BY events.name,
- events.date,
- events.time,
- events.id
-
--- :name get-followupaction :? :1
--- :doc selects an existing followupaction record
-SELECT * FROM followupactions
-WHERE followupactions.id = :id
-ORDER BY followupactions.date,
- followupactions.notes,
- followupactions.id
-
--- :name get-followupmethod :? :1
--- :doc selects an existing followupmethod record
-SELECT * FROM followupmethods
-WHERE followupmethods.id = :id
-
--- :name get-followuprequest :? :1
--- :doc selects an existing followuprequest record
-SELECT * FROM followuprequests
-WHERE followuprequests.id = :id
-ORDER BY followuprequests.elector_id,
- followuprequests.visit_id,
- followuprequests.issue_id,
- followuprequests.id
-
--- :name get-gender :? :1
--- :doc selects an existing gender record
-SELECT * FROM genders
-WHERE genders.id = :id
-
--- :name get-intention :? :1
--- :doc selects an existing intention record
-SELECT * FROM intentions
-WHERE intentions.id = :id
-
--- :name get-issue :? :1
--- :doc selects an existing issue record
-SELECT * FROM issues
-WHERE issues.id = :id
-
--- :name get-option :? :1
--- :doc selects an existing option record
-SELECT * FROM options
-WHERE options.id = :id
-
--- :name get-role :? :1
--- :doc selects an existing role record
-SELECT * FROM roles
-WHERE roles.id = :id
-ORDER BY roles.name,
- roles.id
-
--- :name get-role-by-name :? :1
--- :doc selects an existing role record
-SELECT * FROM roles
-WHERE roles.name = :name
-ORDER BY roles.name,
- roles.id
-
--- :name get-team :? :1
--- :doc selects an existing team record
-SELECT * FROM teams
-WHERE teams.id = :id
-ORDER BY teams.name,
- teams.id
-
--- :name get-visit :? :1
--- :doc selects an existing visit record
-SELECT * FROM visits
-WHERE visits.id = :id
-ORDER BY visits.address_id,
- visits.date,
- visits.id
-
--- :name list-addresses :? :*
--- :doc lists all existing address records
-SELECT DISTINCT * FROM lv_addresses
-ORDER BY lv_addresses.address,
- lv_addresses.postcode,
- lv_addresses.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-addresses-by-district :? :*
--- :doc lists all existing address records related to a given district
-SELECT *
-FROM lv_addresses, addresses
-WHERE lv_addresses.id = addresses.id
- AND addresses.district_id = :id
-ORDER BY lv_addresses.address,
- lv_addresses.postcode,
- lv_addresses.id
-
--- :name list-authorities :? :*
--- :doc lists all existing authority records
-SELECT DISTINCT * FROM lv_authorities
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-canvassers :? :*
--- :doc lists all existing canvasser records
-SELECT DISTINCT * FROM lv_canvassers
-ORDER BY lv_canvassers.username,
- lv_canvassers.fullname,
- lv_canvassers.address_id,
- lv_canvassers.phone,
- lv_canvassers.email,
- lv_canvassers.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-canvassers-by-address :? :*
--- :doc lists all existing canvasser records related to a given address
-SELECT *
-FROM lv_canvassers, canvassers
-WHERE lv_canvassers.id = canvassers.id
- AND canvassers.address_id = :id
-ORDER BY lv_canvassers.username,
- lv_canvassers.fullname,
- lv_canvassers.address_id,
- lv_canvassers.phone,
- lv_canvassers.email,
- lv_canvassers.id
-
--- :name list-canvassers-by-authority :? :*
--- :doc lists all existing canvasser records related to a given authority
-SELECT *
-FROM lv_canvassers, canvassers
-WHERE lv_canvassers.id = canvassers.id
- AND canvassers.authority_id = :id
-ORDER BY lv_canvassers.username,
- lv_canvassers.fullname,
- lv_canvassers.address_id,
- lv_canvassers.phone,
- lv_canvassers.email,
- lv_canvassers.id
-
--- :name list-canvassers-by-elector :? :*
--- :doc lists all existing canvasser records related to a given elector
-SELECT *
-FROM lv_canvassers, canvassers
-WHERE lv_canvassers.id = canvassers.id
- AND canvassers.elector_id = :id
-ORDER BY lv_canvassers.username,
- lv_canvassers.fullname,
- lv_canvassers.address_id,
- lv_canvassers.phone,
- lv_canvassers.email,
- lv_canvassers.id
-
--- :name list-canvassers-by-issue :? :*
--- :doc links all existing canvasser records related to a given issue
-SELECT *
-FROM canvassers, ln_expertise_canvassers_issues
-WHERE canvassers.id = ln_expertise_canvassers_issues.canvasser_id
- AND ln_expertise_canvassers_issues.issue_id = :id
-ORDER BY canvassers.username,
- canvassers.fullname,
- canvassers.address_id,
- canvassers.phone,
- canvassers.email,
- canvassers.id
-
--- :name list-canvassers-by-role :? :*
--- :doc links all existing canvasser records related to a given role
-SELECT *
-FROM canvassers, ln_roles_canvassers_roles
-WHERE canvassers.id = ln_roles_canvassers_roles.canvasser_id
- AND ln_roles_canvassers_roles.role_id = :id
-ORDER BY canvassers.username,
- canvassers.fullname,
- canvassers.address_id,
- canvassers.phone,
- canvassers.email,
- canvassers.id
-
--- :name list-districts :? :*
--- :doc lists all existing district records
-SELECT DISTINCT * FROM lv_districts
-ORDER BY lv_districts.name,
- lv_districts.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-dwellings :? :*
--- :doc lists all existing dwelling records
-SELECT DISTINCT * FROM lv_dwellings
-ORDER BY lv_dwellings.address_id,
- lv_dwellings.sub_address,
- lv_dwellings.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-dwellings-by-address :? :*
--- :doc lists all existing dwelling records related to a given address
-SELECT *
-FROM lv_dwellings, dwellings
-WHERE lv_dwellings.id = dwellings.id
- AND dwellings.address_id = :id
-ORDER BY lv_dwellings.address_id,
- lv_dwellings.sub_address,
- lv_dwellings.id
-
--- :name list-electors :? :*
--- :doc lists all existing elector records
-SELECT DISTINCT * FROM lv_electors
-ORDER BY lv_electors.name,
- lv_electors.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-electors-by-dwelling :? :*
--- :doc lists all existing elector records related to a given dwelling
-SELECT *
-FROM lv_electors, electors
-WHERE lv_electors.id = electors.id
- AND electors.dwelling_id = :id
-ORDER BY lv_electors.name,
- lv_electors.id
-
--- :name list-electors-by-gender :? :*
--- :doc lists all existing elector records related to a given gender
-SELECT *
-FROM lv_electors, electors
-WHERE lv_electors.id = electors.id
- AND electors.gender = :id
-ORDER BY lv_electors.name,
- lv_electors.id
-
--- :name list-events :? :*
--- :doc lists all existing event records
-SELECT DISTINCT * FROM lv_events
-ORDER BY lv_events.name,
- lv_events.date,
- lv_events.time,
- lv_events.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-events-by-team :? :*
--- :doc links all existing event records related to a given team
-SELECT *
-FROM events, ln_teams_events_teams
-WHERE events.id = ln_teams_events_teams.event_id
- AND ln_teams_events_teams.team_id = :id
-ORDER BY events.name,
- events.date,
- events.time,
- events.id
-
--- :name list-followupactions :? :*
--- :doc lists all existing followupaction records
-SELECT DISTINCT * FROM lv_followupactions
-ORDER BY lv_followupactions.date,
- lv_followupactions.notes,
- lv_followupactions.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-followupactions-by-canvasser :? :*
--- :doc lists all existing followupaction records related to a given canvasser
-SELECT *
-FROM lv_followupactions, followupactions
-WHERE lv_followupactions.id = followupactions.id
- AND followupactions.actor = :id
-ORDER BY lv_followupactions.date,
- lv_followupactions.notes,
- lv_followupactions.id
-
--- :name list-followupactions-by-followuprequest :? :*
--- :doc lists all existing followupaction records related to a given followuprequest
-SELECT *
-FROM lv_followupactions, followupactions
-WHERE lv_followupactions.id = followupactions.id
- AND followupactions.request_id = :id
-ORDER BY lv_followupactions.date,
- lv_followupactions.notes,
- lv_followupactions.id
-
--- :name list-followupmethods :? :*
--- :doc lists all existing followupmethod records
-SELECT DISTINCT * FROM lv_followupmethods
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-followuprequests :? :*
--- :doc lists all existing followuprequest records
-SELECT DISTINCT * FROM lv_followuprequests
-ORDER BY lv_followuprequests.elector_id,
- lv_followuprequests.visit_id,
- lv_followuprequests.issue_id,
- lv_followuprequests.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-followuprequests-by-elector :? :*
--- :doc lists all existing followuprequest records related to a given elector
-SELECT *
-FROM lv_followuprequests, followuprequests
-WHERE lv_followuprequests.id = followuprequests.id
- AND followuprequests.elector_id = :id
-ORDER BY lv_followuprequests.elector_id,
- lv_followuprequests.visit_id,
- lv_followuprequests.issue_id,
- lv_followuprequests.id
-
--- :name list-followuprequests-by-followupmethod :? :*
--- :doc lists all existing followuprequest records related to a given followupmethod
-SELECT *
-FROM lv_followuprequests, followuprequests
-WHERE lv_followuprequests.id = followuprequests.id
- AND followuprequests.method_id = :id
-ORDER BY lv_followuprequests.elector_id,
- lv_followuprequests.visit_id,
- lv_followuprequests.issue_id,
- lv_followuprequests.id
-
--- :name list-followuprequests-by-issue :? :*
--- :doc lists all existing followuprequest records related to a given issue
-SELECT *
-FROM lv_followuprequests, followuprequests
-WHERE lv_followuprequests.id = followuprequests.id
- AND followuprequests.issue_id = :id
-ORDER BY lv_followuprequests.elector_id,
- lv_followuprequests.visit_id,
- lv_followuprequests.issue_id,
- lv_followuprequests.id
-
--- :name list-followuprequests-by-visit :? :*
--- :doc lists all existing followuprequest records related to a given visit
-SELECT *
-FROM lv_followuprequests, followuprequests
-WHERE lv_followuprequests.id = followuprequests.id
- AND followuprequests.visit_id = :id
-ORDER BY lv_followuprequests.elector_id,
- lv_followuprequests.visit_id,
- lv_followuprequests.issue_id,
- lv_followuprequests.id
-
--- :name list-genders :? :*
--- :doc lists all existing gender records
-SELECT DISTINCT * FROM lv_genders
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-intentions :? :*
--- :doc lists all existing intention records
-SELECT DISTINCT * FROM lv_intentions
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-intentions-by-elector :? :*
--- :doc lists all existing intention records related to a given elector
-SELECT *
-FROM lv_intentions, intentions
-WHERE lv_intentions.id = intentions.id
- AND intentions.elector_id = :id
-
--- :name list-intentions-by-option :? :*
--- :doc lists all existing intention records related to a given option
-SELECT *
-FROM lv_intentions, intentions
-WHERE lv_intentions.id = intentions.id
- AND intentions.option_id = :id
-
--- :name list-intentions-by-visit :? :*
--- :doc lists all existing intention records related to a given visit
-SELECT *
-FROM lv_intentions, intentions
-WHERE lv_intentions.id = intentions.id
- AND intentions.visit_id = :id
-
--- :name list-issues :? :*
--- :doc lists all existing issue records
-SELECT DISTINCT * FROM lv_issues
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-issues-by-canvasser :? :*
--- :doc links all existing issue records related to a given canvasser
-SELECT *
-FROM issues, ln_experts_issues_canvassers
-WHERE issues.id = ln_experts_issues_canvassers.issue_id
- AND ln_experts_issues_canvassers.canvasser_id = :id
-
--- :name list-options :? :*
--- :doc lists all existing option records
-SELECT DISTINCT * FROM lv_options
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-roles :? :*
--- :doc lists all existing role records
-SELECT DISTINCT * FROM lv_roles
-ORDER BY lv_roles.name,
- lv_roles.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-roles-by-canvasser :? :*
--- :doc links all existing role records related to a given canvasser
-SELECT *
-FROM roles, ln_members_roles_canvassers
-WHERE roles.id = ln_members_roles_canvassers.role_id
- AND ln_members_roles_canvassers.canvasser_id = :id
-ORDER BY roles.name,
- roles.id
-
--- :name list-teams :? :*
--- :doc lists all existing team records
-SELECT DISTINCT * FROM lv_teams
-ORDER BY lv_teams.name,
- lv_teams.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-teams-by-canvasser :? :*
--- :doc links all existing team records related to a given canvasser
-SELECT *
-FROM teams, ln_organisers_teams_canvassers
-WHERE teams.id = ln_organisers_teams_canvassers.team_id
- AND ln_organisers_teams_canvassers.canvasser_id = :id
-ORDER BY teams.name,
- teams.id
-
--- :name list-teams-by-district :? :*
--- :doc lists all existing team records related to a given district
-SELECT *
-FROM lv_teams, teams
-WHERE lv_teams.id = teams.id
- AND teams.district_id = :id
-ORDER BY lv_teams.name,
- lv_teams.id
-
--- :name list-visits :? :*
--- :doc lists all existing visit records
-SELECT DISTINCT * FROM lv_visits
-ORDER BY lv_visits.address_id,
- lv_visits.date,
- lv_visits.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name list-visits-by-address :? :*
--- :doc lists all existing visit records related to a given address
-SELECT *
-FROM lv_visits, visits
-WHERE lv_visits.id = visits.id
- AND visits.address_id = :id
-ORDER BY lv_visits.address_id,
- lv_visits.date,
- lv_visits.id
-
--- :name list-visits-by-canvasser :? :*
--- :doc lists all existing visit records related to a given canvasser
-SELECT *
-FROM lv_visits, visits
-WHERE lv_visits.id = visits.id
- AND visits.canvasser_id = :id
-ORDER BY lv_visits.address_id,
- lv_visits.date,
- lv_visits.id
-
--- :name search-strings-addresses :? :*
--- :doc selects existing address records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_addresses
-WHERE false
- --~ (if (:address params) (str "OR address LIKE '%" (:address params) "%'"))
- --~ (if (:postcode params) (str "OR postcode = :postcode"))
- --~ (if (:phone params) (str "OR phone LIKE '%" (:phone params) "%'"))
- --~ (if (:district_id params) (str "OR district_id_expanded LIKE '%" (:district_id params) "%'"))
- --~ (if (:latitude params) (str "OR latitude = :latitude"))
- --~ (if (:longitude params) (str "OR longitude = :longitude"))
- --~ (if (:locality params) (str "OR locality = :locality"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_addresses.address,
- lv_addresses.postcode,
- lv_addresses.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-authorities :? :*
--- :doc selects existing authority records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_authorities
-WHERE false
- --~ (if (:request-token-uri params) (str "OR request_token_uri LIKE '%" (:request-token-uri params) "%'"))
- --~ (if (:access-token-uri params) (str "OR access_token_uri LIKE '%" (:access-token-uri params) "%'"))
- --~ (if (:authorize-uri params) (str "OR authorize_uri LIKE '%" (:authorize-uri params) "%'"))
- --~ (if (:consumer-key params) (str "OR consumer_key LIKE '%" (:consumer-key params) "%'"))
- --~ (if (:consumer-secret params) (str "OR consumer_secret LIKE '%" (:consumer-secret params) "%'"))
- --~ (if (:id params) (str "OR id LIKE '%" (:id params) "%'"))
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-canvassers :? :*
--- :doc selects existing canvasser records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_canvassers
-WHERE false
- --~ (if (:username params) (str "OR username LIKE '%" (:username params) "%'"))
- --~ (if (:fullname params) (str "OR fullname LIKE '%" (:fullname params) "%'"))
- --~ (if (:avatar params) (str "OR avatar = :avatar"))
- --~ (if (:bio params) (str "OR bio LIKE '%" (:bio params) "%'"))
- --~ (if (:elector_id params) (str "OR elector_id_expanded LIKE '%" (:elector_id params) "%'"))
- --~ (if (:address_id params) (str "OR address_id_expanded LIKE '%" (:address_id params) "%'"))
- --~ (if (:phone params) (str "OR phone LIKE '%" (:phone params) "%'"))
- --~ (if (:email params) (str "OR email LIKE '%" (:email params) "%'"))
- --~ (if (:authority_id params) (str "OR authority_id_expanded LIKE '%" (:authority_id params) "%'"))
- --~ (if (:authorised params) (str "OR authorised = :authorised"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_canvassers.username,
- lv_canvassers.fullname,
- lv_canvassers.address_id,
- lv_canvassers.phone,
- lv_canvassers.email,
- lv_canvassers.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-districts :? :*
--- :doc selects existing district records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_districts
-WHERE false
- --~ (if (:name params) (str "OR name LIKE '%" (:name params) "%'"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_districts.name,
- lv_districts.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-dwellings :? :*
--- :doc selects existing dwelling records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_dwellings
-WHERE false
- --~ (if (:address_id params) (str "OR address_id_expanded LIKE '%" (:address_id params) "%'"))
- --~ (if (:sub-address params) (str "OR sub_address LIKE '%" (:sub-address params) "%'"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_dwellings.address_id,
- lv_dwellings.sub_address,
- lv_dwellings.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-electors :? :*
--- :doc selects existing elector records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_electors
-WHERE false
- --~ (if (:name params) (str "OR name LIKE '%" (:name params) "%'"))
- --~ (if (:dwelling_id params) (str "OR dwelling_id_expanded LIKE '%" (:dwelling_id params) "%'"))
- --~ (if (:phone params) (str "OR phone LIKE '%" (:phone params) "%'"))
- --~ (if (:email params) (str "OR email LIKE '%" (:email params) "%'"))
- --~ (if (:gender params) (str "OR gender_expanded LIKE '%" (:gender params) "%'"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_electors.name,
- lv_electors.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-events :? :*
--- :doc selects existing event records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_events
-WHERE false
- --~ (if (:name params) (str "OR name LIKE '%" (:name params) "%'"))
- --~ (if (:date params) (str "OR date = ':date'"))
- --~ (if (:time params) (str "OR time = ':time'"))
- --~ (if (:decription params) (str "OR decription LIKE '%" (:decription params) "%'"))
- --~ (if (:cancelled params) (str "OR cancelled = :cancelled"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_events.name,
- lv_events.date,
- lv_events.time,
- lv_events.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-followupactions :? :*
--- :doc selects existing followupaction records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_followupactions
-WHERE false
- --~ (if (:request_id params) (str "OR request_id_expanded LIKE '%" (:request_id params) "%'"))
- --~ (if (:actor params) (str "OR actor_expanded LIKE '%" (:actor params) "%'"))
- --~ (if (:date params) (str "OR date = ':date'"))
- --~ (if (:notes params) (str "OR notes LIKE '%" (:notes params) "%'"))
- --~ (if (:closed params) (str "OR closed = :closed"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_followupactions.date,
- lv_followupactions.notes,
- lv_followupactions.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-followupmethods :? :*
--- :doc selects existing followupmethod records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_followupmethods
-WHERE false
- --~ (if (:id params) (str "OR id LIKE '%" (:id params) "%'"))
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-followuprequests :? :*
--- :doc selects existing followuprequest records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_followuprequests
-WHERE false
- --~ (if (:elector_id params) (str "OR elector_id_expanded LIKE '%" (:elector_id params) "%'"))
- --~ (if (:visit_id params) (str "OR visit_id_expanded LIKE '%" (:visit_id params) "%'"))
- --~ (if (:issue_id params) (str "OR issue_id_expanded LIKE '%" (:issue_id params) "%'"))
- --~ (if (:method_id params) (str "OR method_id_expanded LIKE '%" (:method_id params) "%'"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_followuprequests.elector_id,
- lv_followuprequests.visit_id,
- lv_followuprequests.issue_id,
- lv_followuprequests.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-genders :? :*
--- :doc selects existing gender records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_genders
-WHERE false
- --~ (if (:id params) (str "OR id LIKE '%" (:id params) "%'"))
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-intentions :? :*
--- :doc selects existing intention records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_intentions
-WHERE false
- --~ (if (:visit_id params) (str "OR visit_id_expanded LIKE '%" (:visit_id params) "%'"))
- --~ (if (:elector_id params) (str "OR elector_id_expanded LIKE '%" (:elector_id params) "%'"))
- --~ (if (:option_id params) (str "OR option_id_expanded LIKE '%" (:option_id params) "%'"))
- --~ (if (:locality params) (str "OR locality = :locality"))
- --~ (if (:id params) (str "OR id = :id"))
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-issues :? :*
--- :doc selects existing issue records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_issues
-WHERE false
- --~ (if (:url params) (str "OR url LIKE '%" (:url params) "%'"))
- --~ (if (:current params) (str "OR current = :current"))
- --~ (if (:brief params) (str "OR brief LIKE '%" (:brief params) "%'"))
- --~ (if (:id params) (str "OR id LIKE '%" (:id params) "%'"))
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-options :? :*
--- :doc selects existing option records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_options
-WHERE false
- --~ (if (:id params) (str "OR id LIKE '%" (:id params) "%'"))
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-roles :? :*
--- :doc selects existing role records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_roles
-WHERE false
- --~ (if (:name params) (str "OR name LIKE '%" (:name params) "%'"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_roles.name,
- lv_roles.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-teams :? :*
--- :doc selects existing team records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_teams
-WHERE false
- --~ (if (:name params) (str "OR name LIKE '%" (:name params) "%'"))
- --~ (if (:district_id params) (str "OR district_id_expanded LIKE '%" (:district_id params) "%'"))
- --~ (if (:latitude params) (str "OR latitude = :latitude"))
- --~ (if (:longitude params) (str "OR longitude = :longitude"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_teams.name,
- lv_teams.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name search-strings-visits :? :*
--- :doc selects existing visit records having any string field matching the parameter of the same name by substring match
-SELECT DISTINCT * FROM lv_visits
-WHERE false
- --~ (if (:address_id params) (str "OR address_id_expanded LIKE '%" (:address_id params) "%'"))
- --~ (if (:canvasser_id params) (str "OR canvasser_id_expanded LIKE '%" (:canvasser_id params) "%'"))
- --~ (if (:date params) (str "OR date = ':date'"))
- --~ (if (:id params) (str "OR id = :id"))
-ORDER BY lv_visits.address_id,
- lv_visits.date,
- lv_visits.id
---~ (if (:offset params) "OFFSET :offset ")
---~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-
--- :name update-address! :! :n
--- :doc updates an existing address record
-UPDATE addresses
-SET address = :address,
- postcode = :postcode,
- phone = :phone,
- district_id = :district_id,
- latitude = :latitude,
- longitude = :longitude,
- locality = :locality
-WHERE addresses.id = :id
-
--- :name update-authority! :! :n
--- :doc updates an existing authority record
-UPDATE authorities
-SET request_token_uri = :request-token-uri,
- access_token_uri = :access-token-uri,
- authorize_uri = :authorize-uri,
- consumer_key = :consumer-key,
- consumer_secret = :consumer-secret,
- id = :id
-WHERE authorities.id = :id
-
--- :name update-canvasser! :! :n
--- :doc updates an existing canvasser record
-UPDATE canvassers
-SET username = :username,
- fullname = :fullname,
- avatar = :avatar,
- bio = :bio,
- elector_id = :elector_id,
- address_id = :address_id,
- phone = :phone,
- email = :email,
- authority_id = :authority_id,
- authorised = :authorised
-WHERE canvassers.id = :id
-
--- :name update-district! :! :n
--- :doc updates an existing district record
-UPDATE districts
-SET name = :name
-WHERE districts.id = :id
-
--- :name update-dwelling! :! :n
--- :doc updates an existing dwelling record
-UPDATE dwellings
-SET address_id = :address_id,
- sub_address = :sub-address
-WHERE dwellings.id = :id
-
--- :name update-elector! :! :n
--- :doc updates an existing elector record
-UPDATE electors
-SET name = :name,
- dwelling_id = :dwelling_id,
- phone = :phone,
- email = :email,
- gender = :gender
-WHERE electors.id = :id
-
--- :name update-event! :! :n
--- :doc updates an existing event record
-UPDATE events
-SET name = :name,
- date = :date,
- time = :time,
- decription = :decription,
- cancelled = :cancelled
-WHERE events.id = :id
-
--- :name update-followupaction! :! :n
--- :doc updates an existing followupaction record
-UPDATE followupactions
-SET request_id = :request_id,
- actor = :actor,
- date = :date,
- notes = :notes,
- closed = :closed
-WHERE followupactions.id = :id
-
--- :name update-followupmethod! :! :n
--- :doc updates an existing followupmethod record
-UPDATE followupmethods
-SET id = :id
-WHERE followupmethods.id = :id
-
--- :name update-followuprequest! :! :n
--- :doc updates an existing followuprequest record
-UPDATE followuprequests
-SET elector_id = :elector_id,
- visit_id = :visit_id,
- issue_id = :issue_id,
- method_id = :method_id
-WHERE followuprequests.id = :id
-
--- :name update-gender! :! :n
--- :doc updates an existing gender record
-UPDATE genders
-SET id = :id
-WHERE genders.id = :id
-
--- :name update-intention! :! :n
--- :doc updates an existing intention record
-UPDATE intentions
-SET visit_id = :visit_id,
- elector_id = :elector_id,
- option_id = :option_id,
- locality = :locality
-WHERE intentions.id = :id
-
--- :name update-issue! :! :n
--- :doc updates an existing issue record
-UPDATE issues
-SET url = :url,
- current = :current,
- brief = :brief,
- id = :id
-WHERE issues.id = :id
-
--- :name update-option! :! :n
--- :doc updates an existing option record
-UPDATE options
-SET id = :id
-WHERE options.id = :id
-
--- :name update-role! :! :n
--- :doc updates an existing role record
-UPDATE roles
-SET name = :name
-WHERE roles.id = :id
-
--- :name update-team! :! :n
--- :doc updates an existing team record
-UPDATE teams
-SET name = :name,
- district_id = :district_id,
- latitude = :latitude,
- longitude = :longitude
-WHERE teams.id = :id
-
--- :name update-visit! :! :n
--- :doc updates an existing visit record
-UPDATE visits
-SET address_id = :address_id,
- canvasser_id = :canvasser_id,
- date = :date
-WHERE visits.id = :id
\ No newline at end of file
diff --git a/resources/sql/youyesyet.postgres.sql b/resources/sql/youyesyet.postgres.sql
index 8b97649..8ae3567 100644
--- a/resources/sql/youyesyet.postgres.sql
+++ b/resources/sql/youyesyet.postgres.sql
@@ -1,12 +1,12 @@
------------------------------------------------------------------------
--- Database definition for application
---
--- youyesyet version 0.1.1
---
--- auto-generated by [Application Description Language framework]
---
--- (https://github.com/simon-brooke/adl) at 20180715T195945.839Z
---
+-- Database definition for application
+--
+-- youyesyet version 0.1.1
+--
+-- auto-generated by [Application Description Language framework]
+--
+-- (https://github.com/simon-brooke/adl) at 20180717T075810.523Z
+--
-- A web-app intended to be used by canvassers
-- campaigning for a 'Yes' vote in the second independence
-- referendum. The web-app will be delivered to canvassers out
@@ -17,56 +17,56 @@
-- be an administrative interface through which privileged users can
-- set the system up and authorise canvassers, and a 'followup'
-- interface through which issue-expert specialist canvassers can
--- address particular electors' queries.
+-- address particular electors' queries.
------------------------------------------------------------------------
------------------------------------------------------------------------
--- security group admin
+-- security group admin
------------------------------------------------------------------------
CREATE GROUP admin;
------------------------------------------------------------------------
--- security group analysts
+-- security group analysts
------------------------------------------------------------------------
CREATE GROUP analysts;
------------------------------------------------------------------------
--- security group canvassers
+-- security group canvassers
------------------------------------------------------------------------
CREATE GROUP canvassers;
------------------------------------------------------------------------
--- security group issueeditors
+-- security group issueeditors
------------------------------------------------------------------------
CREATE GROUP issueeditors;
------------------------------------------------------------------------
--- security group issueexperts
+-- security group issueexperts
------------------------------------------------------------------------
CREATE GROUP issueexperts;
------------------------------------------------------------------------
--- security group public
+-- security group public
------------------------------------------------------------------------
CREATE GROUP public;
------------------------------------------------------------------------
--- security group teamorganisers
+-- security group teamorganisers
------------------------------------------------------------------------
CREATE GROUP teamorganisers;
------------------------------------------------------------------------
--- primary table addresses for entity addresses
---
+-- primary table addresses for entity addresses
+--
-- Addresses of all buildings which contain
--- dwellings.
+-- dwellings.
------------------------------------------------------------------------
CREATE TABLE addresses
(
@@ -90,10 +90,10 @@ GRANT UPDATE ON addresses TO admin ;
GRANT DELETE ON addresses TO admin ;
------------------------------------------------------------------------
--- primary table authorities for entity authorities
---
+-- primary table authorities for entity authorities
+--
-- Authorities which may authenticate canvassers to
--- the system.
+-- the system.
------------------------------------------------------------------------
CREATE TABLE authorities
(
@@ -115,10 +115,10 @@ GRANT UPDATE ON authorities TO admin ;
GRANT DELETE ON authorities TO admin ;
------------------------------------------------------------------------
--- primary table canvassers for entity canvassers
---
+-- primary table canvassers for entity canvassers
+--
-- Primary users of the system: those actually
--- interviewing electors.
+-- interviewing electors.
------------------------------------------------------------------------
CREATE TABLE canvassers
(
@@ -149,11 +149,11 @@ GRANT UPDATE ON canvassers TO admin,
GRANT DELETE ON canvassers TO admin ;
------------------------------------------------------------------------
--- primary table districts for entity districts
---
+-- primary table districts for entity districts
+--
-- Electoral districts: TODO: Shape (polygon)
-- information will need to be added, for use in
--- maps.
+-- maps.
------------------------------------------------------------------------
CREATE TABLE districts
(
@@ -172,14 +172,14 @@ GRANT UPDATE ON districts TO admin ;
GRANT DELETE ON districts TO admin ;
------------------------------------------------------------------------
--- primary table dwellings for entity dwellings
---
+-- primary table dwellings for entity dwellings
+--
-- All dwellings within addresses in the system; a
-- dwelling is a house, flat or appartment in which electors live.
-- Every address should have at least one dwelling; essentially,
-- an address maps onto a street door and dwellings map onto
-- what's behind that door. So a tenement or a block of flats
--- would be one address with many dwellings.
+-- would be one address with many dwellings.
------------------------------------------------------------------------
CREATE TABLE dwellings
(
@@ -198,11 +198,11 @@ GRANT UPDATE ON dwellings TO admin ;
GRANT DELETE ON dwellings TO admin ;
------------------------------------------------------------------------
--- primary table electors for entity electors
---
+-- primary table electors for entity electors
+--
-- All electors known to the system; electors are
-- people believed to be entitled to vote in the current
--- campaign.
+-- campaign.
------------------------------------------------------------------------
CREATE TABLE electors
(
@@ -211,7 +211,8 @@ CREATE TABLE electors
dwelling_id INTEGER NOT NULL,
phone VARCHAR(16),
email VARCHAR(128),
- gender VARCHAR(32) DEFAULT 'Unknown'
+ gender VARCHAR(32) DEFAULT 'Unknown',
+ signature TEXT
);
GRANT SELECT ON electors TO admin,
analysts,
@@ -224,14 +225,14 @@ GRANT UPDATE ON electors TO admin ;
GRANT DELETE ON electors TO admin ;
------------------------------------------------------------------------
--- primary table events for entity events
---
---
--- An event to which a team or teams are invited. Typically created
+-- primary table events for entity events
+--
+--
+-- An event to which a team or teams are invited. Typically created
-- by the team organiser(s).
--- May be a training event, a social event or a canvassing
+-- May be a training event, a social event or a canvassing
-- session.
---
+--
------------------------------------------------------------------------
CREATE TABLE events
(
@@ -255,10 +256,10 @@ GRANT UPDATE ON events TO admin,
GRANT DELETE ON events TO admin ;
------------------------------------------------------------------------
--- primary table followupactions for entity followupactions
---
+-- primary table followupactions for entity followupactions
+--
-- Actions taken on followup
--- requests.
+-- requests.
------------------------------------------------------------------------
CREATE TABLE followupactions
(
@@ -280,10 +281,10 @@ GRANT UPDATE ON followupactions TO admin ;
GRANT DELETE ON followupactions TO admin ;
------------------------------------------------------------------------
--- primary table followupmethods for entity followupmethods
---
--- Methods which may be used to follow up a followup request. Reference
--- data.
+-- primary table followupmethods for entity followupmethods
+--
+-- Methods which may be used to follow up a followup request. Reference
+-- data.
------------------------------------------------------------------------
CREATE TABLE followupmethods
(
@@ -300,10 +301,10 @@ GRANT UPDATE ON followupmethods TO admin ;
GRANT DELETE ON followupmethods TO admin ;
------------------------------------------------------------------------
--- primary table followuprequests for entity followuprequests
---
+-- primary table followuprequests for entity followuprequests
+--
-- Requests for a followup with an issue
--- expert
+-- expert
------------------------------------------------------------------------
CREATE TABLE followuprequests
(
@@ -325,10 +326,10 @@ GRANT INSERT ON followuprequests TO admin,
------------------------------------------------------------------------
--- primary table genders for entity genders
---
+-- primary table genders for entity genders
+--
-- All genders which may be assigned to
--- electors.
+-- electors.
------------------------------------------------------------------------
CREATE TABLE genders
(
@@ -345,10 +346,10 @@ GRANT UPDATE ON genders TO admin ;
GRANT DELETE ON genders TO admin ;
------------------------------------------------------------------------
--- primary table intentions for entity intentions
---
+-- primary table intentions for entity intentions
+--
-- Intentions of electors to vote for options
--- elicited in visits.
+-- elicited in visits.
------------------------------------------------------------------------
CREATE TABLE intentions
(
@@ -367,10 +368,10 @@ GRANT INSERT ON intentions TO admin,
------------------------------------------------------------------------
--- primary table issues for entity issues
---
+-- primary table issues for entity issues
+--
-- Issues believed to be of interest to electors,
--- about which they may have questions.
+-- about which they may have questions.
------------------------------------------------------------------------
CREATE TABLE issues
(
@@ -392,10 +393,10 @@ GRANT UPDATE ON issues TO admin,
GRANT DELETE ON issues TO admin ;
------------------------------------------------------------------------
--- primary table options for entity options
---
+-- primary table options for entity options
+--
-- Options in the election or referendum being
--- canvassed on
+-- canvassed on
------------------------------------------------------------------------
CREATE TABLE options
(
@@ -412,11 +413,11 @@ GRANT UPDATE ON options TO admin ;
GRANT DELETE ON options TO admin ;
------------------------------------------------------------------------
--- primary table roles for entity roles
---
+-- primary table roles for entity roles
+--
-- A role (essentially, the same as a group, but
-- application layer rather than database layer) of which a user
--- may be a member.
+-- may be a member.
------------------------------------------------------------------------
CREATE TABLE roles
(
@@ -434,7 +435,7 @@ GRANT UPDATE ON roles TO admin ;
GRANT DELETE ON roles TO admin ;
------------------------------------------------------------------------
--- primary table teams for entity teams
+-- primary table teams for entity teams
------------------------------------------------------------------------
CREATE TABLE teams
(
@@ -457,10 +458,10 @@ GRANT UPDATE ON teams TO admin,
GRANT DELETE ON teams TO admin ;
------------------------------------------------------------------------
--- primary table visits for entity visits
---
+-- primary table visits for entity visits
+--
-- All visits made by canvassers to dwellings in
--- which opinions were recorded.
+-- which opinions were recorded.
------------------------------------------------------------------------
CREATE TABLE visits
(
@@ -482,7 +483,7 @@ GRANT UPDATE ON visits TO admin ;
GRANT DELETE ON visits TO admin ;
------------------------------------------------------------------------
--- convenience view lv_addresses of entity addresses for lists, et cetera
+-- convenience view lv_addresses of entity addresses for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_addresses AS
SELECT addresses.address,
@@ -505,8 +506,8 @@ GRANT SELECT ON lv_addresses TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_authorities of entity authorities for lists, et
--- cetera
+-- convenience view lv_authorities of entity authorities for lists, et
+-- cetera
------------------------------------------------------------------------
CREATE VIEW lv_authorities AS
SELECT authorities.request_token_uri,
@@ -525,8 +526,8 @@ GRANT SELECT ON lv_authorities TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_canvassers of entity canvassers for lists, et
--- cetera
+-- convenience view lv_canvassers of entity canvassers for lists, et
+-- cetera
------------------------------------------------------------------------
CREATE VIEW lv_canvassers AS
SELECT canvassers.username,
@@ -556,7 +557,7 @@ GRANT SELECT ON lv_canvassers TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_districts of entity districts for lists, et cetera
+-- convenience view lv_districts of entity districts for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_districts AS
SELECT districts.name,
@@ -572,7 +573,7 @@ GRANT SELECT ON lv_districts TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_dwellings of entity dwellings for lists, et cetera
+-- convenience view lv_dwellings of entity dwellings for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_dwellings AS
SELECT addresses.address ||', '|| addresses.postcode AS address_id_expanded,
@@ -590,7 +591,7 @@ GRANT SELECT ON lv_dwellings TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_electors of entity electors for lists, et cetera
+-- convenience view lv_electors of entity electors for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_electors AS
SELECT electors.name,
@@ -600,6 +601,7 @@ SELECT electors.name,
electors.email,
genders.id AS gender_expanded,
electors.gender,
+ electors.signature,
electors.id
FROM dwellings, addresses, genders, electors
WHERE electors.dwelling_id = dwellings.id
@@ -613,7 +615,7 @@ GRANT SELECT ON lv_electors TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_events of entity events for lists, et cetera
+-- convenience view lv_events of entity events for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_events AS
SELECT events.name,
@@ -632,8 +634,8 @@ GRANT SELECT ON lv_events TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_followupactions of entity followupactions for
--- lists, et cetera
+-- convenience view lv_followupactions of entity followupactions for
+-- lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_followupactions AS
SELECT electors.name ||', '|| addresses.address ||', '|| addresses.postcode ||', '|| visits.date ||', '|| issues.id AS request_id_expanded,
@@ -655,8 +657,8 @@ GRANT SELECT ON lv_followupactions TO admin,
issueexperts ;
------------------------------------------------------------------------
--- convenience view lv_followupmethods of entity followupmethods for
--- lists, et cetera
+-- convenience view lv_followupmethods of entity followupmethods for
+-- lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_followupmethods AS
SELECT followupmethods.id
@@ -670,8 +672,8 @@ GRANT SELECT ON lv_followupmethods TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_followuprequests of entity followuprequests for
--- lists, et cetera
+-- convenience view lv_followuprequests of entity followuprequests for
+-- lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_followuprequests AS
SELECT electors.name AS elector_id_expanded,
@@ -697,7 +699,7 @@ GRANT SELECT ON lv_followuprequests TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_genders of entity genders for lists, et cetera
+-- convenience view lv_genders of entity genders for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_genders AS
SELECT genders.id
@@ -711,8 +713,8 @@ GRANT SELECT ON lv_genders TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_intentions of entity intentions for lists, et
--- cetera
+-- convenience view lv_intentions of entity intentions for lists, et
+-- cetera
------------------------------------------------------------------------
CREATE VIEW lv_intentions AS
SELECT addresses.address ||', '|| addresses.postcode ||', '|| visits.date AS visit_id_expanded,
@@ -733,7 +735,7 @@ GRANT SELECT ON lv_intentions TO admin,
canvassers ;
------------------------------------------------------------------------
--- convenience view lv_issues of entity issues for lists, et cetera
+-- convenience view lv_issues of entity issues for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_issues AS
SELECT issues.url,
@@ -750,7 +752,7 @@ GRANT SELECT ON lv_issues TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_options of entity options for lists, et cetera
+-- convenience view lv_options of entity options for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_options AS
SELECT options.id
@@ -764,7 +766,7 @@ GRANT SELECT ON lv_options TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_roles of entity roles for lists, et cetera
+-- convenience view lv_roles of entity roles for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_roles AS
SELECT roles.name,
@@ -779,7 +781,7 @@ GRANT SELECT ON lv_roles TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_teams of entity teams for lists, et cetera
+-- convenience view lv_teams of entity teams for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_teams AS
SELECT teams.name,
@@ -799,12 +801,12 @@ GRANT SELECT ON lv_teams TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- convenience view lv_visits of entity visits for lists, et cetera
+-- convenience view lv_visits of entity visits for lists, et cetera
------------------------------------------------------------------------
CREATE VIEW lv_visits AS
SELECT addresses.address ||', '|| addresses.postcode AS address_id_expanded,
visits.address_id,
- canvassers.username ||', '|| canvassers.fullname ||', '|| addresses.address ||', '|| addresses.postcode ||', '|| canvassers.phone ||', '|| canvassers.email AS canvasser_id_expanded,
+ canvassers.username ||', '|| canvassers.fullname ||', ' || canvassers.phone ||', '|| canvassers.email AS canvasser_id_expanded,
visits.canvasser_id,
visits.date,
visits.id
@@ -820,106 +822,106 @@ GRANT SELECT ON lv_visits TO admin,
teamorganisers ;
------------------------------------------------------------------------
--- referential integrity links for primary tables
+-- referential integrity links for primary tables
------------------------------------------------------------------------
-ALTER TABLE addresses ADD CONSTRAINT ri_addresses_districts_district_id
- FOREIGN KEY( district_id )
- REFERENCES districts(id)
+ALTER TABLE addresses ADD CONSTRAINT ri_addresses_districts_district_id
+ FOREIGN KEY( district_id )
+ REFERENCES districts(id)
ON DELETE NO ACTION ;
-ALTER TABLE canvassers ADD CONSTRAINT ri_canvassers_addresses_address_id
- FOREIGN KEY( address_id )
- REFERENCES addresses(id)
+ALTER TABLE canvassers ADD CONSTRAINT ri_canvassers_addresses_address_id
+ FOREIGN KEY( address_id )
+ REFERENCES addresses(id)
ON DELETE NO ACTION ;
-ALTER TABLE canvassers ADD CONSTRAINT ri_canvassers_authorities_authority_id
- FOREIGN KEY( authority_id )
- REFERENCES authorities(id)
+ALTER TABLE canvassers ADD CONSTRAINT ri_canvassers_authorities_authority_id
+ FOREIGN KEY( authority_id )
+ REFERENCES authorities(id)
ON DELETE NO ACTION ;
-ALTER TABLE canvassers ADD CONSTRAINT ri_canvassers_electors_elector_id
- FOREIGN KEY( elector_id )
- REFERENCES electors(id)
+ALTER TABLE canvassers ADD CONSTRAINT ri_canvassers_electors_elector_id
+ FOREIGN KEY( elector_id )
+ REFERENCES electors(id)
ON DELETE NO ACTION ;
-ALTER TABLE dwellings ADD CONSTRAINT ri_dwellings_addresses_address_id
- FOREIGN KEY( address_id )
- REFERENCES addresses(id)
+ALTER TABLE dwellings ADD CONSTRAINT ri_dwellings_addresses_address_id
+ FOREIGN KEY( address_id )
+ REFERENCES addresses(id)
ON DELETE NO ACTION ;
-ALTER TABLE electors ADD CONSTRAINT ri_electors_dwellings_dwelling_id
- FOREIGN KEY( dwelling_id )
- REFERENCES dwellings(id)
+ALTER TABLE electors ADD CONSTRAINT ri_electors_dwellings_dwelling_id
+ FOREIGN KEY( dwelling_id )
+ REFERENCES dwellings(id)
ON DELETE NO ACTION ;
-ALTER TABLE electors ADD CONSTRAINT ri_electors_genders_gender
- FOREIGN KEY( gender )
- REFERENCES genders(id)
+ALTER TABLE electors ADD CONSTRAINT ri_electors_genders_gender
+ FOREIGN KEY( gender )
+ REFERENCES genders(id)
ON DELETE NO ACTION ;
-ALTER TABLE followupactions ADD CONSTRAINT ri_followupactions_canvassers_actor
- FOREIGN KEY( actor )
- REFERENCES canvassers(id)
+ALTER TABLE followupactions ADD CONSTRAINT ri_followupactions_canvassers_actor
+ FOREIGN KEY( actor )
+ REFERENCES canvassers(id)
ON DELETE NO ACTION ;
-ALTER TABLE followupactions ADD CONSTRAINT ri_followupactions_followuprequests_request_id
- FOREIGN KEY( request_id )
- REFERENCES followuprequests(id)
+ALTER TABLE followupactions ADD CONSTRAINT ri_followupactions_followuprequests_request_id
+ FOREIGN KEY( request_id )
+ REFERENCES followuprequests(id)
ON DELETE NO ACTION ;
-ALTER TABLE followuprequests ADD CONSTRAINT ri_followuprequests_electors_elector_id
- FOREIGN KEY( elector_id )
- REFERENCES electors(id)
+ALTER TABLE followuprequests ADD CONSTRAINT ri_followuprequests_electors_elector_id
+ FOREIGN KEY( elector_id )
+ REFERENCES electors(id)
ON DELETE NO ACTION ;
-ALTER TABLE followuprequests ADD CONSTRAINT ri_followuprequests_issues_issue_id
- FOREIGN KEY( issue_id )
- REFERENCES issues(id)
+ALTER TABLE followuprequests ADD CONSTRAINT ri_followuprequests_issues_issue_id
+ FOREIGN KEY( issue_id )
+ REFERENCES issues(id)
ON DELETE NO ACTION ;
-ALTER TABLE followuprequests ADD CONSTRAINT ri_followuprequests_followupmethods_method_id
- FOREIGN KEY( method_id )
- REFERENCES followupmethods(id)
+ALTER TABLE followuprequests ADD CONSTRAINT ri_followuprequests_followupmethods_method_id
+ FOREIGN KEY( method_id )
+ REFERENCES followupmethods(id)
ON DELETE NO ACTION ;
-ALTER TABLE followuprequests ADD CONSTRAINT ri_followuprequests_visits_visit_id
- FOREIGN KEY( visit_id )
- REFERENCES visits(id)
+ALTER TABLE followuprequests ADD CONSTRAINT ri_followuprequests_visits_visit_id
+ FOREIGN KEY( visit_id )
+ REFERENCES visits(id)
ON DELETE NO ACTION ;
-ALTER TABLE intentions ADD CONSTRAINT ri_intentions_electors_elector_id
- FOREIGN KEY( elector_id )
- REFERENCES electors(id)
+ALTER TABLE intentions ADD CONSTRAINT ri_intentions_electors_elector_id
+ FOREIGN KEY( elector_id )
+ REFERENCES electors(id)
ON DELETE NO ACTION ;
-ALTER TABLE intentions ADD CONSTRAINT ri_intentions_options_option_id
- FOREIGN KEY( option_id )
- REFERENCES options(id)
+ALTER TABLE intentions ADD CONSTRAINT ri_intentions_options_option_id
+ FOREIGN KEY( option_id )
+ REFERENCES options(id)
ON DELETE NO ACTION ;
-ALTER TABLE intentions ADD CONSTRAINT ri_intentions_visits_visit_id
- FOREIGN KEY( visit_id )
- REFERENCES visits(id)
+ALTER TABLE intentions ADD CONSTRAINT ri_intentions_visits_visit_id
+ FOREIGN KEY( visit_id )
+ REFERENCES visits(id)
ON DELETE NO ACTION ;
-ALTER TABLE teams ADD CONSTRAINT ri_teams_districts_district_id
- FOREIGN KEY( district_id )
- REFERENCES districts(id)
+ALTER TABLE teams ADD CONSTRAINT ri_teams_districts_district_id
+ FOREIGN KEY( district_id )
+ REFERENCES districts(id)
ON DELETE NO ACTION ;
-ALTER TABLE visits ADD CONSTRAINT ri_visits_addresses_address_id
- FOREIGN KEY( address_id )
- REFERENCES addresses(id)
+ALTER TABLE visits ADD CONSTRAINT ri_visits_addresses_address_id
+ FOREIGN KEY( address_id )
+ REFERENCES addresses(id)
ON DELETE NO ACTION ;
-ALTER TABLE visits ADD CONSTRAINT ri_visits_canvassers_canvasser_id
- FOREIGN KEY( canvasser_id )
- REFERENCES canvassers(id)
+ALTER TABLE visits ADD CONSTRAINT ri_visits_canvassers_canvasser_id
+ FOREIGN KEY( canvasser_id )
+ REFERENCES canvassers(id)
ON DELETE NO ACTION ;
------------------------------------------------------------------------
--- link table joining canvassers with issues
+-- link table joining canvassers with issues
------------------------------------------------------------------------
CREATE TABLE ln_expertise_canvassers_issues
(
@@ -940,18 +942,18 @@ GRANT UPDATE ON ln_expertise_canvassers_issues TO admin,
teamorganisers ;
GRANT DELETE ON ln_expertise_canvassers_issues TO admin ;
-ALTER TABLE ln_expertise_canvassers_issues ADD CONSTRAINT ri_ln_expertise_canvassers_issues_canvassers_canvasser_id
- FOREIGN KEY( canvasser_id )
- REFERENCES canvassers(id)
+ALTER TABLE ln_expertise_canvassers_issues ADD CONSTRAINT ri_ln_expertise_canvassers_issues_canvassers_canvasser_id
+ FOREIGN KEY( canvasser_id )
+ REFERENCES canvassers(id)
ON DELETE NO ACTION ;
-ALTER TABLE ln_expertise_canvassers_issues ADD CONSTRAINT ri_ln_expertise_canvassers_issues_issues_issue_id
- FOREIGN KEY( issue_id )
- REFERENCES issues(id)
+ALTER TABLE ln_expertise_canvassers_issues ADD CONSTRAINT ri_ln_expertise_canvassers_issues_issues_issue_id
+ FOREIGN KEY( issue_id )
+ REFERENCES issues(id)
ON DELETE NO ACTION ;
------------------------------------------------------------------------
--- link table joining canvassers with roles
+-- link table joining canvassers with roles
------------------------------------------------------------------------
CREATE TABLE ln_roles_canvassers_roles
(
@@ -972,18 +974,18 @@ GRANT UPDATE ON ln_roles_canvassers_roles TO admin,
teamorganisers ;
GRANT DELETE ON ln_roles_canvassers_roles TO admin ;
-ALTER TABLE ln_roles_canvassers_roles ADD CONSTRAINT ri_ln_roles_canvassers_roles_canvassers_canvasser_id
- FOREIGN KEY( canvasser_id )
- REFERENCES canvassers(id)
+ALTER TABLE ln_roles_canvassers_roles ADD CONSTRAINT ri_ln_roles_canvassers_roles_canvassers_canvasser_id
+ FOREIGN KEY( canvasser_id )
+ REFERENCES canvassers(id)
ON DELETE NO ACTION ;
-ALTER TABLE ln_roles_canvassers_roles ADD CONSTRAINT ri_ln_roles_canvassers_roles_roles_role_id
- FOREIGN KEY( role_id )
- REFERENCES roles(id)
+ALTER TABLE ln_roles_canvassers_roles ADD CONSTRAINT ri_ln_roles_canvassers_roles_roles_role_id
+ FOREIGN KEY( role_id )
+ REFERENCES roles(id)
ON DELETE NO ACTION ;
------------------------------------------------------------------------
--- link table joining events with teams
+-- link table joining events with teams
------------------------------------------------------------------------
CREATE TABLE ln_teams_events_teams
(
@@ -1002,18 +1004,18 @@ GRANT UPDATE ON ln_teams_events_teams TO admin,
teamorganisers ;
GRANT DELETE ON ln_teams_events_teams TO admin ;
-ALTER TABLE ln_teams_events_teams ADD CONSTRAINT ri_ln_teams_events_teams_events_event_id
- FOREIGN KEY( event_id )
- REFERENCES events(id)
+ALTER TABLE ln_teams_events_teams ADD CONSTRAINT ri_ln_teams_events_teams_events_event_id
+ FOREIGN KEY( event_id )
+ REFERENCES events(id)
ON DELETE NO ACTION ;
-ALTER TABLE ln_teams_events_teams ADD CONSTRAINT ri_ln_teams_events_teams_teams_team_id
- FOREIGN KEY( team_id )
- REFERENCES teams(id)
+ALTER TABLE ln_teams_events_teams ADD CONSTRAINT ri_ln_teams_events_teams_teams_team_id
+ FOREIGN KEY( team_id )
+ REFERENCES teams(id)
ON DELETE NO ACTION ;
------------------------------------------------------------------------
--- link table joining issues with canvassers
+-- link table joining issues with canvassers
------------------------------------------------------------------------
CREATE TABLE ln_experts_issues_canvassers
(
@@ -1032,18 +1034,18 @@ GRANT UPDATE ON ln_experts_issues_canvassers TO admin,
issueeditors ;
GRANT DELETE ON ln_experts_issues_canvassers TO admin ;
-ALTER TABLE ln_experts_issues_canvassers ADD CONSTRAINT ri_ln_experts_issues_canvassers_canvassers_canvasser_id
- FOREIGN KEY( canvasser_id )
- REFERENCES canvassers(id)
+ALTER TABLE ln_experts_issues_canvassers ADD CONSTRAINT ri_ln_experts_issues_canvassers_canvassers_canvasser_id
+ FOREIGN KEY( canvasser_id )
+ REFERENCES canvassers(id)
ON DELETE NO ACTION ;
-ALTER TABLE ln_experts_issues_canvassers ADD CONSTRAINT ri_ln_experts_issues_canvassers_issues_issue_id
- FOREIGN KEY( issue_id )
- REFERENCES issues(id)
+ALTER TABLE ln_experts_issues_canvassers ADD CONSTRAINT ri_ln_experts_issues_canvassers_issues_issue_id
+ FOREIGN KEY( issue_id )
+ REFERENCES issues(id)
ON DELETE NO ACTION ;
------------------------------------------------------------------------
--- link table joining roles with canvassers
+-- link table joining roles with canvassers
------------------------------------------------------------------------
CREATE TABLE ln_members_roles_canvassers
(
@@ -1060,18 +1062,18 @@ GRANT INSERT ON ln_members_roles_canvassers TO admin ;
GRANT UPDATE ON ln_members_roles_canvassers TO admin ;
GRANT DELETE ON ln_members_roles_canvassers TO admin ;
-ALTER TABLE ln_members_roles_canvassers ADD CONSTRAINT ri_ln_members_roles_canvassers_canvassers_canvasser_id
- FOREIGN KEY( canvasser_id )
- REFERENCES canvassers(id)
+ALTER TABLE ln_members_roles_canvassers ADD CONSTRAINT ri_ln_members_roles_canvassers_canvassers_canvasser_id
+ FOREIGN KEY( canvasser_id )
+ REFERENCES canvassers(id)
ON DELETE NO ACTION ;
-ALTER TABLE ln_members_roles_canvassers ADD CONSTRAINT ri_ln_members_roles_canvassers_roles_role_id
- FOREIGN KEY( role_id )
- REFERENCES roles(id)
+ALTER TABLE ln_members_roles_canvassers ADD CONSTRAINT ri_ln_members_roles_canvassers_roles_role_id
+ FOREIGN KEY( role_id )
+ REFERENCES roles(id)
ON DELETE NO ACTION ;
------------------------------------------------------------------------
--- link table joining teams with canvassers
+-- link table joining teams with canvassers
------------------------------------------------------------------------
CREATE TABLE ln_members_teams_canvassers
(
@@ -1090,18 +1092,18 @@ GRANT UPDATE ON ln_members_teams_canvassers TO admin,
teamorganisers ;
GRANT DELETE ON ln_members_teams_canvassers TO admin ;
-ALTER TABLE ln_members_teams_canvassers ADD CONSTRAINT ri_ln_members_teams_canvassers_canvassers_canvasser_id
- FOREIGN KEY( canvasser_id )
- REFERENCES canvassers(id)
+ALTER TABLE ln_members_teams_canvassers ADD CONSTRAINT ri_ln_members_teams_canvassers_canvassers_canvasser_id
+ FOREIGN KEY( canvasser_id )
+ REFERENCES canvassers(id)
ON DELETE NO ACTION ;
-ALTER TABLE ln_members_teams_canvassers ADD CONSTRAINT ri_ln_members_teams_canvassers_teams_team_id
- FOREIGN KEY( team_id )
- REFERENCES teams(id)
+ALTER TABLE ln_members_teams_canvassers ADD CONSTRAINT ri_ln_members_teams_canvassers_teams_team_id
+ FOREIGN KEY( team_id )
+ REFERENCES teams(id)
ON DELETE NO ACTION ;
------------------------------------------------------------------------
--- link table joining teams with canvassers
+-- link table joining teams with canvassers
------------------------------------------------------------------------
CREATE TABLE ln_organisers_teams_canvassers
(
@@ -1120,12 +1122,12 @@ GRANT UPDATE ON ln_organisers_teams_canvassers TO admin,
teamorganisers ;
GRANT DELETE ON ln_organisers_teams_canvassers TO admin ;
-ALTER TABLE ln_organisers_teams_canvassers ADD CONSTRAINT ri_ln_organisers_teams_canvassers_canvassers_canvasser_id
- FOREIGN KEY( canvasser_id )
- REFERENCES canvassers(id)
+ALTER TABLE ln_organisers_teams_canvassers ADD CONSTRAINT ri_ln_organisers_teams_canvassers_canvassers_canvasser_id
+ FOREIGN KEY( canvasser_id )
+ REFERENCES canvassers(id)
ON DELETE NO ACTION ;
-ALTER TABLE ln_organisers_teams_canvassers ADD CONSTRAINT ri_ln_organisers_teams_canvassers_teams_team_id
- FOREIGN KEY( team_id )
- REFERENCES teams(id)
- ON DELETE NO ACTION ;
\ No newline at end of file
+ALTER TABLE ln_organisers_teams_canvassers ADD CONSTRAINT ri_ln_organisers_teams_canvassers_teams_team_id
+ FOREIGN KEY( team_id )
+ REFERENCES teams(id)
+ ON DELETE NO ACTION ;
diff --git a/resources/templates/auto/application-index.html b/resources/templates/auto/application-index.html
deleted file mode 100644
index 51e4424..0000000
--- a/resources/templates/auto/application-index.html
+++ /dev/null
@@ -1,269 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block content %}
-
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Address
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Addresses of all buildings which contain
- dwellings.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Authority
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Authorities which may authenticate canvassers to
- the system.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Canvasser
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Primary users of the system: those actually
- interviewing electors.
-
-
-{% endifmemberof %}
-{% ifmemberof public admin canvassers teamorganisers issueexperts analysts issueeditors %}
-
-
-District
-
-
-{% endifmemberof %}
-{% ifmemberof public admin canvassers teamorganisers issueexperts analysts issueeditors %}
-
-
-Electoral districts: TODO: Shape (polygon)
- information will need to be added, for use in
- maps.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Dwelling
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-All dwellings within addresses in the system; a
- dwelling is a house, flat or appartment in which electors live.
- Every address should have at least one dwelling; essentially,
- an address maps onto a street door and dwellings map onto
- what's behind that door. So a tenement or a block of flats
- would be one address with many dwellings.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Elector
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-All electors known to the system; electors are
- people believed to be entitled to vote in the current
- campaign.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Event
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-
- An event to which a team or teams are invited. Typically created by the team organiser(s).
- May be a training event, a social event or a canvassing session.
-
-
-
-{% endifmemberof %}
-{% ifmemberof issueexperts canvassers analysts issueeditors admin %}
-
-
-Followupaction
-
-
-{% endifmemberof %}
-{% ifmemberof issueexperts canvassers analysts issueeditors admin %}
-
-
-Actions taken on followup
- requests.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Followupmethod
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Methods which may be used to follow up a followup request. Reference data.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Followuprequest
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Requests for a followup with an issue
- expert
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Gender
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-All genders which may be assigned to
- electors.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers analysts admin %}
-
-
-Intention
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers analysts admin %}
-
-
-Intentions of electors to vote for options
- elicited in visits.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Issue
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Issues believed to be of interest to electors,
- about which they may have questions.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Option
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Options in the election or referendum being
- canvassed on
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-Role
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-
-A role (essentially, the same as a group, but
- application layer rather than database layer) of which a user
- may be a member.
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin teamorganisers admin %}
-
-
-Team
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin teamorganisers admin %}
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
-
-
-Visit
-
-
-{% endifmemberof %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
-
-
-All visits made by canvassers to dwellings in
- which opinions were recorded.
-
-
-{% endifmemberof %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-addresses-Address.html b/resources/templates/auto/form-addresses-Address.html
deleted file mode 100644
index 2aeb94a..0000000
--- a/resources/templates/auto/form-addresses-Address.html
+++ /dev/null
@@ -1,278 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-authorities-Authority.html b/resources/templates/auto/form-authorities-Authority.html
deleted file mode 100644
index fec028e..0000000
--- a/resources/templates/auto/form-authorities-Authority.html
+++ /dev/null
@@ -1,241 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-canvassers-Canvasser.html b/resources/templates/auto/form-canvassers-Canvasser.html
deleted file mode 100644
index 9883cc6..0000000
--- a/resources/templates/auto/form-canvassers-Canvasser.html
+++ /dev/null
@@ -1,514 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
- {% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-districts-District.html b/resources/templates/auto/form-districts-District.html
deleted file mode 100644
index d59209f..0000000
--- a/resources/templates/auto/form-districts-District.html
+++ /dev/null
@@ -1,72 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-dwellings-Dwelling.html b/resources/templates/auto/form-dwellings-Dwelling.html
deleted file mode 100644
index d02f1b2..0000000
--- a/resources/templates/auto/form-dwellings-Dwelling.html
+++ /dev/null
@@ -1,142 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-electors-Elector.html b/resources/templates/auto/form-electors-Elector.html
deleted file mode 100644
index ee2e3b2..0000000
--- a/resources/templates/auto/form-electors-Elector.html
+++ /dev/null
@@ -1,248 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-events-Events.html b/resources/templates/auto/form-events-Events.html
deleted file mode 100644
index 78e44e4..0000000
--- a/resources/templates/auto/form-events-Events.html
+++ /dev/null
@@ -1,272 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
- {% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-followupactions-Followupaction.html b/resources/templates/auto/form-followupactions-Followupaction.html
deleted file mode 100644
index 4e8e569..0000000
--- a/resources/templates/auto/form-followupactions-Followupaction.html
+++ /dev/null
@@ -1,302 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
- {% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-followupmethods-Followupmethod.html b/resources/templates/auto/form-followupmethods-Followupmethod.html
deleted file mode 100644
index 656511e..0000000
--- a/resources/templates/auto/form-followupmethods-Followupmethod.html
+++ /dev/null
@@ -1,71 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-followuprequests-Followuprequest.html b/resources/templates/auto/form-followuprequests-Followuprequest.html
deleted file mode 100644
index da7df61..0000000
--- a/resources/templates/auto/form-followuprequests-Followuprequest.html
+++ /dev/null
@@ -1,252 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% csrf-field %}
-
-
-
-Elector_id
-
-{% if {{record.elector_id}} %}
-{% ifmemberof %}
-
-{% for option in elector_id %}{{option.name}} {% endfor %}
-
-{% else %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-{{record.elector_id}}
-
-{% else %}
-
-You are not permitted to view elector_id of followuprequests
-
-{% endifmemberof %}
-{% endifmemberof %}
-{% else %}
-{% ifmemberof %}
-
-{% for option in elector_id %}{{option.name}} {% endfor %}
-
-{% else %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-{{record.elector_id}}
-
-{% else %}
-
-You are not permitted to view elector_id of followuprequests
-
-{% endifmemberof %}
-{% endifmemberof %}
-{% endif %}
-
-
-
-Visit_id
-
-{% if {{record.visit_id}} %}
-{% ifmemberof %}
-
-{% for option in visit_id %}{{option.address_id_expanded}} {{option.date}} {% endfor %}
-
-{% else %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-{{record.visit_id}}
-
-{% else %}
-
-You are not permitted to view visit_id of followuprequests
-
-{% endifmemberof %}
-{% endifmemberof %}
-{% else %}
-{% ifmemberof %}
-
-{% for option in visit_id %}{{option.address_id_expanded}} {{option.date}} {% endfor %}
-
-{% else %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-{{record.visit_id}}
-
-{% else %}
-
-You are not permitted to view visit_id of followuprequests
-
-{% endifmemberof %}
-{% endifmemberof %}
-{% endif %}
-
-
-
-Issue_id
-
-{% if {{record.issue_id}} %}
-{% ifmemberof %}
-
-{% for option in issue_id %}{{option.id}} {% endfor %}
-
-{% else %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-{{record.issue_id}}
-
-{% else %}
-
-You are not permitted to view issue_id of followuprequests
-
-{% endifmemberof %}
-{% endifmemberof %}
-{% else %}
-{% ifmemberof %}
-
-{% for option in issue_id %}{{option.id}} {% endfor %}
-
-{% else %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-{{record.issue_id}}
-
-{% else %}
-
-You are not permitted to view issue_id of followuprequests
-
-{% endifmemberof %}
-{% endifmemberof %}
-{% endif %}
-
-
-
-Method_id
-
-{% if {{record.method_id}} %}
-{% ifmemberof %}
-
-{% for option in method_id %}{{option.id}} {% endfor %}
-
-{% else %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-{{record.method_id}}
-
-{% else %}
-
-You are not permitted to view method_id of followuprequests
-
-{% endifmemberof %}
-{% endifmemberof %}
-{% else %}
-{% ifmemberof %}
-
-{% for option in method_id %}{{option.id}} {% endfor %}
-
-{% else %}
-{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
-
-{{record.method_id}}
-
-{% else %}
-
-You are not permitted to view method_id of followuprequests
-
-{% endifmemberof %}
-{% endifmemberof %}
-{% endif %}
-
-{% ifmemberof %}
-
-
-To save this followuprequests record
-
-
-
-{% endifmemberof %}
-{% ifmemberof %}
-
-
-To delete this followuprequests record
-
-
-
-{% endifmemberof %}
-
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-genders-Gender.html b/resources/templates/auto/form-genders-Gender.html
deleted file mode 100644
index 1c62008..0000000
--- a/resources/templates/auto/form-genders-Gender.html
+++ /dev/null
@@ -1,71 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-intentions-Intention.html b/resources/templates/auto/form-intentions-Intention.html
deleted file mode 100644
index 27ea536..0000000
--- a/resources/templates/auto/form-intentions-Intention.html
+++ /dev/null
@@ -1,247 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-issues-Issue.html b/resources/templates/auto/form-issues-Issue.html
deleted file mode 100644
index 1aa348d..0000000
--- a/resources/templates/auto/form-issues-Issue.html
+++ /dev/null
@@ -1,199 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
- {% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-options-Option.html b/resources/templates/auto/form-options-Option.html
deleted file mode 100644
index a551489..0000000
--- a/resources/templates/auto/form-options-Option.html
+++ /dev/null
@@ -1,71 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-roles-Role.html b/resources/templates/auto/form-roles-Role.html
deleted file mode 100644
index 60e00db..0000000
--- a/resources/templates/auto/form-roles-Role.html
+++ /dev/null
@@ -1,112 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-teams-Team.html b/resources/templates/auto/form-teams-Team.html
deleted file mode 100644
index 6ea32e2..0000000
--- a/resources/templates/auto/form-teams-Team.html
+++ /dev/null
@@ -1,384 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/form-visits-Visit.html b/resources/templates/auto/form-visits-Visit.html
deleted file mode 100644
index cdd4699..0000000
--- a/resources/templates/auto/form-visits-Visit.html
+++ /dev/null
@@ -1,243 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block extra-head %}
-
- {% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
- {% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
-{% endblock %}
-{% block content %}
-
-
-{% endblock %}
-{% block extra-tail %}
-
-
-{% endblock %}
diff --git a/resources/templates/auto/list-addresses-Addresses.html b/resources/templates/auto/list-addresses-Addresses.html
deleted file mode 100644
index 17f4381..0000000
--- a/resources/templates/auto/list-addresses-Addresses.html
+++ /dev/null
@@ -1,158 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-addresses-Addresses');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-authorities-Authorities.html b/resources/templates/auto/list-authorities-Authorities.html
deleted file mode 100644
index 9bb6383..0000000
--- a/resources/templates/auto/list-authorities-Authorities.html
+++ /dev/null
@@ -1,129 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-authorities-Authorities');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-canvassers-Canvassers.html b/resources/templates/auto/list-canvassers-Canvassers.html
deleted file mode 100644
index 9055347..0000000
--- a/resources/templates/auto/list-canvassers-Canvassers.html
+++ /dev/null
@@ -1,151 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-canvassers-Canvassers');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-districts-Districts.html b/resources/templates/auto/list-districts-Districts.html
deleted file mode 100644
index ff93492..0000000
--- a/resources/templates/auto/list-districts-Districts.html
+++ /dev/null
@@ -1,111 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-districts-Districts');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-dwellings-Dwellings.html b/resources/templates/auto/list-dwellings-Dwellings.html
deleted file mode 100644
index 952575c..0000000
--- a/resources/templates/auto/list-dwellings-Dwellings.html
+++ /dev/null
@@ -1,122 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-dwellings-Dwellings');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-electors-Electors.html b/resources/templates/auto/list-electors-Electors.html
deleted file mode 100644
index 27fbbbe..0000000
--- a/resources/templates/auto/list-electors-Electors.html
+++ /dev/null
@@ -1,151 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-electors-Electors');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-events-Events.html b/resources/templates/auto/list-events-Events.html
deleted file mode 100644
index 8e7066d..0000000
--- a/resources/templates/auto/list-events-Events.html
+++ /dev/null
@@ -1,147 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof teamorganisers admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-events-Events');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-followupactions-Followupactions.html b/resources/templates/auto/list-followupactions-Followupactions.html
deleted file mode 100644
index faf6361..0000000
--- a/resources/templates/auto/list-followupactions-Followupactions.html
+++ /dev/null
@@ -1,142 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-followupactions-Followupactions');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-followupmethods-Followupmethods.html b/resources/templates/auto/list-followupmethods-Followupmethods.html
deleted file mode 100644
index 330e5f8..0000000
--- a/resources/templates/auto/list-followupmethods-Followupmethods.html
+++ /dev/null
@@ -1,102 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-followupmethods-Followupmethods');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-followuprequests-Followuprequests.html b/resources/templates/auto/list-followuprequests-Followuprequests.html
deleted file mode 100644
index 486c760..0000000
--- a/resources/templates/auto/list-followuprequests-Followuprequests.html
+++ /dev/null
@@ -1,146 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-followuprequests-Followuprequests');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-genders-Genders.html b/resources/templates/auto/list-genders-Genders.html
deleted file mode 100644
index 7b34df4..0000000
--- a/resources/templates/auto/list-genders-Genders.html
+++ /dev/null
@@ -1,102 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-genders-Genders');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-intentions-Intentions.html b/resources/templates/auto/list-intentions-Intentions.html
deleted file mode 100644
index fb4aedc..0000000
--- a/resources/templates/auto/list-intentions-Intentions.html
+++ /dev/null
@@ -1,135 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-intentions-Intentions');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-issues-Issues.html b/resources/templates/auto/list-issues-Issues.html
deleted file mode 100644
index 29d6bff..0000000
--- a/resources/templates/auto/list-issues-Issues.html
+++ /dev/null
@@ -1,129 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof issueeditors admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-issues-Issues');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-options-Options.html b/resources/templates/auto/list-options-Options.html
deleted file mode 100644
index 4a5a7f8..0000000
--- a/resources/templates/auto/list-options-Options.html
+++ /dev/null
@@ -1,102 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-options-Options');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-roles-Roles.html b/resources/templates/auto/list-roles-Roles.html
deleted file mode 100644
index 652985e..0000000
--- a/resources/templates/auto/list-roles-Roles.html
+++ /dev/null
@@ -1,111 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-roles-Roles');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-teams-Teams.html b/resources/templates/auto/list-teams-Teams.html
deleted file mode 100644
index 026a832..0000000
--- a/resources/templates/auto/list-teams-Teams.html
+++ /dev/null
@@ -1,140 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof teamorganisers admin teamorganisers admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-teams-Teams');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/resources/templates/auto/list-visits-Visits.html b/resources/templates/auto/list-visits-Visits.html
deleted file mode 100644
index efed8b6..0000000
--- a/resources/templates/auto/list-visits-Visits.html
+++ /dev/null
@@ -1,133 +0,0 @@
-{% extends "base.html" %}
-
-
-
-{% block back-links %}
-
-
-{% endblock %}
-{% block big-links %}
-
-
-{% ifmemberof admin %}
-
-{% endifmemberof %}
-
-
-{% endblock %}
-{% block content %}
-
-{% csrf-field %}
-
-
-
-
-
-{% endblock %}
-{% block extra-script %}
-
- var form = document.getElementById('list-visits-Visits');
- var ow = document.getElementById('offset');
- var lw = document.getElementById('limit');
- form.addEventListener('submit', function() {
- ow.value='0';
- });
-
- var prevSelector = document.getElementById('prev-selector');
- if (prevSelector != null) {
- prevSelector.addEventListener('click', function () {
- if (parseInt(ow.value)===0) {
- window.location = '{{servlet-context}}/admin';
- } else {
- ow.value=(parseInt(ow.value)-parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- }
- });
- }
-
- document.getElementById('next-selector').addEventListener('click', function () {
- ow.value=(parseInt(ow.value)+parseInt(lw.value));
- console.log('Updated offset to ' + ow.value);
- form.submit();
- });
-{% endblock %}
diff --git a/src/clj/youyesyet/routes/auto.clj b/src/clj/youyesyet/routes/auto.clj
deleted file mode 100644
index a1f1614..0000000
--- a/src/clj/youyesyet/routes/auto.clj
+++ /dev/null
@@ -1,1844 +0,0 @@
-(ns
- youyesyet.routes.auto
- "User interface routes for Youyesyet auto-generated by [Application Description Language framework](https://github.com/simon-brooke/adl) at 20180715T195946.069Z"
- (:require
- [adl-support.core :as support]
- [clojure.java.io :as io]
- [clojure.set :refer [subset?]]
- [clojure.tools.logging :as log]
- [clojure.walk :refer [keywordize-keys]]
- [compojure.core :refer [defroutes GET POST]]
- [hugsql.core :as hugsql]
- [noir.response :as nresponse]
- [noir.util.route :as route]
- [ring.util.http-response :as response]
- [youyesyet.layout :as l]
- [youyesyet.db.core :as db]
- [youyesyet.routes.manual :as m]))
-
-(defn
- index
- [r]
- (l/render
- (support/resolve-template "application-index.html")
- (:session r)
- {:title "Administrative menu"}))
-
-(defn
- list-addresses-Addresses
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-addresses-Addresses.html")
- (:session request)
- (merge
- {:title "Addresses", :params params}
- (let
- [records
- (if
- (some
- #{:locality :address :phone :postcode :longitude :district_id
- :id :latitude}
- (keys params))
- (do
- (log/debug (db/search-strings-addresses-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-addresses db/*db* params)
- :message
- "Error while searching address records"
- :error-return
- {:warnings ["Error while searching address records"]}))
- (do
- (log/debug (db/list-addresses-sqlvec params))
- (support/do-or-log-error
- (db/list-addresses db/*db* {})
- :message
- "Error while fetching address records"
- :error-return
- {:warnings ["Error while fetching address records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-addresses-Address
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-addresses-Address.html")
- (:session request)
- (merge
- {:title "Address", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-address db/*db* params)
- :message
- (str "Error while fetching address record " params)
- :error-return
- {:warnings
- [(str "Error while fetching address record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :district_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-district db/*db* {:id (:district_id record)})
- :message
- "Error while fetching district record {:id (:district_id record)}")
- (support/do-or-log-error
- (db/list-districts db/*db*)
- :message
- "Error while fetching district list"))))})))))
-
-(defn
- list-authorities-Authorities
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-authorities-Authorities.html")
- (:session request)
- (merge
- {:title "Authorities", :params params}
- (let
- [records
- (if
- (some
- #{:access-token-uri :request-token-uri :authorize-uri :id
- :consumer-secret :consumer-key}
- (keys params))
- (do
- (log/debug (db/search-strings-authorities-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-authorities db/*db* params)
- :message
- "Error while searching authority records"
- :error-return
- {:warnings ["Error while searching authority records"]}))
- (do
- (log/debug (db/list-authorities-sqlvec params))
- (support/do-or-log-error
- (db/list-authorities db/*db* {})
- :message
- "Error while fetching authority records"
- :error-return
- {:warnings ["Error while fetching authority records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-authorities-Authority
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-authorities-Authority.html")
- (:session request)
- (merge
- {:title "Authority", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-authority db/*db* params)
- :message
- (str "Error while fetching authority record " params)
- :error-return
- {:warnings
- [(str "Error while fetching authority record " params)]})]
- {:error (:warnings record), :record (dissoc record :warnings)})))))
-
-(defn
- list-canvassers-Canvassers
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-canvassers-Canvassers.html")
- (:session request)
- (merge
- {:title "Canvassers", :params params}
- (let
- [records
- (if
- (some
- #{:email :phone :roles :username :fullname :bio :elector_id
- :expertise :id :avatar :address_id :authority_id :authorised}
- (keys params))
- (do
- (log/debug (db/search-strings-canvassers-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-canvassers db/*db* params)
- :message
- "Error while searching canvasser records"
- :error-return
- {:warnings ["Error while searching canvasser records"]}))
- (do
- (log/debug (db/list-canvassers-sqlvec params))
- (support/do-or-log-error
- (db/list-canvassers db/*db* {})
- :message
- "Error while fetching canvasser records"
- :error-return
- {:warnings ["Error while fetching canvasser records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-canvassers-Canvasser
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-canvassers-Canvasser.html")
- (:session request)
- (merge
- {:title "Canvasser", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-canvasser db/*db* params)
- :message
- (str "Error while fetching canvasser record " params)
- :error-return
- {:warnings
- [(str "Error while fetching canvasser record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :elector_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-elector db/*db* {:id (:elector_id record)})
- :message
- "Error while fetching elector record {:id (:elector_id record)}")
- (support/do-or-log-error
- (db/list-electors db/*db*)
- :message
- "Error while fetching elector list")))),
- :address_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-address db/*db* {:id (:address_id record)})
- :message
- "Error while fetching address record {:id (:address_id record)}")
- (support/do-or-log-error
- (db/list-addresses db/*db*)
- :message
- "Error while fetching address list")))),
- :authority_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-authority db/*db* {:id (:authority_id record)})
- :message
- "Error while fetching authority record {:id (:authority_id record)}")
- (support/do-or-log-error
- (db/list-authorities db/*db*)
- :message
- "Error while fetching authority list")))),
- :roles
- (flatten
- (remove
- nil?
- (list
- nil
- (support/do-or-log-error
- (db/list-roles db/*db*)
- :message
- "Error while fetching role list")))),
- :expertise
- (flatten
- (remove
- nil?
- (list
- nil
- (support/do-or-log-error
- (db/list-issues db/*db*)
- :message
- "Error while fetching issue list"))))})))))
-
-(defn
- list-districts-Districts
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-districts-Districts.html")
- (:session request)
- (merge
- {:title "Districts", :params params}
- (let
- [records
- (if
- (some #{:name :id} (keys params))
- (do
- (log/debug (db/search-strings-districts-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-districts db/*db* params)
- :message
- "Error while searching district records"
- :error-return
- {:warnings ["Error while searching district records"]}))
- (do
- (log/debug (db/list-districts-sqlvec params))
- (support/do-or-log-error
- (db/list-districts db/*db* {})
- :message
- "Error while fetching district records"
- :error-return
- {:warnings ["Error while fetching district records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-districts-District
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-districts-District.html")
- (:session request)
- (merge
- {:title "District", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-district db/*db* params)
- :message
- (str "Error while fetching district record " params)
- :error-return
- {:warnings
- [(str "Error while fetching district record " params)]})]
- {:error (:warnings record), :record (dissoc record :warnings)})))))
-
-(defn
- list-dwellings-Dwellings
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-dwellings-Dwellings.html")
- (:session request)
- (merge
- {:title "Dwellings", :params params}
- (let
- [records
- (if
- (some #{:id :address_id :sub-address} (keys params))
- (do
- (log/debug (db/search-strings-dwellings-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-dwellings db/*db* params)
- :message
- "Error while searching dwelling records"
- :error-return
- {:warnings ["Error while searching dwelling records"]}))
- (do
- (log/debug (db/list-dwellings-sqlvec params))
- (support/do-or-log-error
- (db/list-dwellings db/*db* {})
- :message
- "Error while fetching dwelling records"
- :error-return
- {:warnings ["Error while fetching dwelling records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-dwellings-Dwelling
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-dwellings-Dwelling.html")
- (:session request)
- (merge
- {:title "Dwelling", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-dwelling db/*db* params)
- :message
- (str "Error while fetching dwelling record " params)
- :error-return
- {:warnings
- [(str "Error while fetching dwelling record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :address_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-address db/*db* {:id (:address_id record)})
- :message
- "Error while fetching address record {:id (:address_id record)}")
- (support/do-or-log-error
- (db/list-addresses db/*db*)
- :message
- "Error while fetching address list"))))})))))
-
-(defn
- list-electors-Electors
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-electors-Electors.html")
- (:session request)
- (merge
- {:title "Electors", :params params}
- (let
- [records
- (if
- (some
- #{:email :phone :name :dwelling_id :id :gender}
- (keys params))
- (do
- (log/debug (db/search-strings-electors-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-electors db/*db* params)
- :message
- "Error while searching elector records"
- :error-return
- {:warnings ["Error while searching elector records"]}))
- (do
- (log/debug (db/list-electors-sqlvec params))
- (support/do-or-log-error
- (db/list-electors db/*db* {})
- :message
- "Error while fetching elector records"
- :error-return
- {:warnings ["Error while fetching elector records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-electors-Elector
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-electors-Elector.html")
- (:session request)
- (merge
- {:title "Elector", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-elector db/*db* params)
- :message
- (str "Error while fetching elector record " params)
- :error-return
- {:warnings
- [(str "Error while fetching elector record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :dwelling_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-dwelling db/*db* {:id (:dwelling_id record)})
- :message
- "Error while fetching dwelling record {:id (:dwelling_id record)}")
- (support/do-or-log-error
- (db/list-dwellings db/*db*)
- :message
- "Error while fetching dwelling list")))),
- :gender
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-gender db/*db* {:id (:gender record)})
- :message
- "Error while fetching gender record {:id (:gender record)}")
- (support/do-or-log-error
- (db/list-genders db/*db*)
- :message
- "Error while fetching gender list"))))})))))
-
-(defn
- form-events-Events
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-events-Events.html")
- (:session request)
- (merge
- {:title "Events", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-event db/*db* params)
- :message
- (str "Error while fetching event record " params)
- :error-return
- {:warnings
- [(str "Error while fetching event record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :teams
- (flatten
- (remove
- nil?
- (list
- nil
- (support/do-or-log-error
- (db/list-teams db/*db*)
- :message
- "Error while fetching team list"))))})))))
-
-(defn
- list-events-Events
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-events-Events.html")
- (:session request)
- (merge
- {:title "Events", :params params}
- (let
- [records
- (if
- (some
- #{:date :name :time :teams :cancelled :decription :id}
- (keys params))
- (do
- (log/debug (db/search-strings-events-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-events db/*db* params)
- :message
- "Error while searching event records"
- :error-return
- {:warnings ["Error while searching event records"]}))
- (do
- (log/debug (db/list-events-sqlvec params))
- (support/do-or-log-error
- (db/list-events db/*db* {})
- :message
- "Error while fetching event records"
- :error-return
- {:warnings ["Error while fetching event records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- list-followupactions-Followupactions
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template
- "list-followupactions-Followupactions.html")
- (:session request)
- (merge
- {:title "Followupactions", :params params}
- (let
- [records
- (if
- (some
- #{:closed :date :id :notes :request_id :actor}
- (keys params))
- (do
- (log/debug (db/search-strings-followupactions-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-followupactions db/*db* params)
- :message
- "Error while searching followupaction records"
- :error-return
- {:warnings ["Error while searching followupaction records"]}))
- (do
- (log/debug (db/list-followupactions-sqlvec params))
- (support/do-or-log-error
- (db/list-followupactions db/*db* {})
- :message
- "Error while fetching followupaction records"
- :error-return
- {:warnings
- ["Error while fetching followupaction records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-followupactions-Followupaction
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template
- "form-followupactions-Followupaction.html")
- (:session request)
- (merge
- {:title "Followupaction", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-followupaction db/*db* params)
- :message
- (str "Error while fetching followupaction record " params)
- :error-return
- {:warnings
- [(str "Error while fetching followupaction record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :request_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-followuprequest db/*db* {:id (:request_id record)})
- :message
- "Error while fetching followuprequest record {:id (:request_id record)}")
- (support/do-or-log-error
- (db/list-followuprequests db/*db*)
- :message
- "Error while fetching followuprequest list")))),
- :actor
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-canvasser db/*db* {:id (:actor record)})
- :message
- "Error while fetching canvasser record {:id (:actor record)}")
- (support/do-or-log-error
- (db/list-canvassers db/*db*)
- :message
- "Error while fetching canvasser list"))))})))))
-
-(defn
- list-followupmethods-Followupmethods
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template
- "list-followupmethods-Followupmethods.html")
- (:session request)
- (merge
- {:title "Followupmethods", :params params}
- (let
- [records
- (if
- (some #{:id} (keys params))
- (do
- (log/debug (db/search-strings-followupmethods-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-followupmethods db/*db* params)
- :message
- "Error while searching followupmethod records"
- :error-return
- {:warnings ["Error while searching followupmethod records"]}))
- (do
- (log/debug (db/list-followupmethods-sqlvec params))
- (support/do-or-log-error
- (db/list-followupmethods db/*db* {})
- :message
- "Error while fetching followupmethod records"
- :error-return
- {:warnings
- ["Error while fetching followupmethod records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-followupmethods-Followupmethod
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template
- "form-followupmethods-Followupmethod.html")
- (:session request)
- (merge
- {:title "Followupmethod", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-followupmethod db/*db* params)
- :message
- (str "Error while fetching followupmethod record " params)
- :error-return
- {:warnings
- [(str "Error while fetching followupmethod record " params)]})]
- {:error (:warnings record), :record (dissoc record :warnings)})))))
-
-(defn
- list-followuprequests-Followuprequests
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template
- "list-followuprequests-Followuprequests.html")
- (:session request)
- (merge
- {:title "Followuprequests", :params params}
- (let
- [records
- (if
- (some
- #{:issue_id :visit_id :elector_id :id :method_id}
- (keys params))
- (do
- (log/debug (db/search-strings-followuprequests-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-followuprequests db/*db* params)
- :message
- "Error while searching followuprequest records"
- :error-return
- {:warnings
- ["Error while searching followuprequest records"]}))
- (do
- (log/debug (db/list-followuprequests-sqlvec params))
- (support/do-or-log-error
- (db/list-followuprequests db/*db* {})
- :message
- "Error while fetching followuprequest records"
- :error-return
- {:warnings
- ["Error while fetching followuprequest records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-followuprequests-Followuprequest
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template
- "form-followuprequests-Followuprequest.html")
- (:session request)
- (merge
- {:title "Followuprequest", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-followuprequest db/*db* params)
- :message
- (str "Error while fetching followuprequest record " params)
- :error-return
- {:warnings
- [(str
- "Error while fetching followuprequest record "
- params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :elector_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-elector db/*db* {:id (:elector_id record)})
- :message
- "Error while fetching elector record {:id (:elector_id record)}")
- (support/do-or-log-error
- (db/list-electors db/*db*)
- :message
- "Error while fetching elector list")))),
- :visit_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-visit db/*db* {:id (:visit_id record)})
- :message
- "Error while fetching visit record {:id (:visit_id record)}")
- (support/do-or-log-error
- (db/list-visits db/*db*)
- :message
- "Error while fetching visit list")))),
- :issue_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-issue db/*db* {:id (:issue_id record)})
- :message
- "Error while fetching issue record {:id (:issue_id record)}")
- (support/do-or-log-error
- (db/list-issues db/*db*)
- :message
- "Error while fetching issue list")))),
- :method_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-followupmethod db/*db* {:id (:method_id record)})
- :message
- "Error while fetching followupmethod record {:id (:method_id record)}")
- (support/do-or-log-error
- (db/list-followupmethods db/*db*)
- :message
- "Error while fetching followupmethod list"))))})))))
-
-(defn
- list-genders-Genders
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-genders-Genders.html")
- (:session request)
- (merge
- {:title "Genders", :params params}
- (let
- [records
- (if
- (some #{:id} (keys params))
- (do
- (log/debug (db/search-strings-genders-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-genders db/*db* params)
- :message
- "Error while searching gender records"
- :error-return
- {:warnings ["Error while searching gender records"]}))
- (do
- (log/debug (db/list-genders-sqlvec params))
- (support/do-or-log-error
- (db/list-genders db/*db* {})
- :message
- "Error while fetching gender records"
- :error-return
- {:warnings ["Error while fetching gender records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-genders-Gender
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-genders-Gender.html")
- (:session request)
- (merge
- {:title "Gender", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-gender db/*db* params)
- :message
- (str "Error while fetching gender record " params)
- :error-return
- {:warnings
- [(str "Error while fetching gender record " params)]})]
- {:error (:warnings record), :record (dissoc record :warnings)})))))
-
-(defn
- list-intentions-Intentions
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-intentions-Intentions.html")
- (:session request)
- (merge
- {:title "Intentions", :params params}
- (let
- [records
- (if
- (some
- #{:locality :option_id :visit_id :elector_id :id}
- (keys params))
- (do
- (log/debug (db/search-strings-intentions-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-intentions db/*db* params)
- :message
- "Error while searching intention records"
- :error-return
- {:warnings ["Error while searching intention records"]}))
- (do
- (log/debug (db/list-intentions-sqlvec params))
- (support/do-or-log-error
- (db/list-intentions db/*db* {})
- :message
- "Error while fetching intention records"
- :error-return
- {:warnings ["Error while fetching intention records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-intentions-Intention
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-intentions-Intention.html")
- (:session request)
- (merge
- {:title "Intention", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-intention db/*db* params)
- :message
- (str "Error while fetching intention record " params)
- :error-return
- {:warnings
- [(str "Error while fetching intention record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :visit_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-visit db/*db* {:id (:visit_id record)})
- :message
- "Error while fetching visit record {:id (:visit_id record)}")
- (support/do-or-log-error
- (db/list-visits db/*db*)
- :message
- "Error while fetching visit list")))),
- :elector_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-elector db/*db* {:id (:elector_id record)})
- :message
- "Error while fetching elector record {:id (:elector_id record)}")
- (support/do-or-log-error
- (db/list-electors db/*db*)
- :message
- "Error while fetching elector list")))),
- :option_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-option db/*db* {:id (:option_id record)})
- :message
- "Error while fetching option record {:id (:option_id record)}")
- (support/do-or-log-error
- (db/list-options db/*db*)
- :message
- "Error while fetching option list"))))})))))
-
-(defn
- list-issues-Issues
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-issues-Issues.html")
- (:session request)
- (merge
- {:title "Issues", :params params}
- (let
- [records
- (if
- (some #{:experts :brief :id :current :url} (keys params))
- (do
- (log/debug (db/search-strings-issues-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-issues db/*db* params)
- :message
- "Error while searching issue records"
- :error-return
- {:warnings ["Error while searching issue records"]}))
- (do
- (log/debug (db/list-issues-sqlvec params))
- (support/do-or-log-error
- (db/list-issues db/*db* {})
- :message
- "Error while fetching issue records"
- :error-return
- {:warnings ["Error while fetching issue records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-issues-Issue
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-issues-Issue.html")
- (:session request)
- (merge
- {:title "Issue", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-issue db/*db* params)
- :message
- (str "Error while fetching issue record " params)
- :error-return
- {:warnings
- [(str "Error while fetching issue record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :experts
- (flatten
- (remove
- nil?
- (list
- nil
- (support/do-or-log-error
- (db/list-canvassers db/*db*)
- :message
- "Error while fetching canvasser list"))))})))))
-
-(defn
- list-options-Options
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-options-Options.html")
- (:session request)
- (merge
- {:title "Options", :params params}
- (let
- [records
- (if
- (some #{:id} (keys params))
- (do
- (log/debug (db/search-strings-options-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-options db/*db* params)
- :message
- "Error while searching option records"
- :error-return
- {:warnings ["Error while searching option records"]}))
- (do
- (log/debug (db/list-options-sqlvec params))
- (support/do-or-log-error
- (db/list-options db/*db* {})
- :message
- "Error while fetching option records"
- :error-return
- {:warnings ["Error while fetching option records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-options-Option
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-options-Option.html")
- (:session request)
- (merge
- {:title "Option", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-option db/*db* params)
- :message
- (str "Error while fetching option record " params)
- :error-return
- {:warnings
- [(str "Error while fetching option record " params)]})]
- {:error (:warnings record), :record (dissoc record :warnings)})))))
-
-(defn
- list-roles-Roles
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-roles-Roles.html")
- (:session request)
- (merge
- {:title "Roles", :params params}
- (let
- [records
- (if
- (some #{:name :id :members} (keys params))
- (do
- (log/debug (db/search-strings-roles-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-roles db/*db* params)
- :message
- "Error while searching role records"
- :error-return
- {:warnings ["Error while searching role records"]}))
- (do
- (log/debug (db/list-roles-sqlvec params))
- (support/do-or-log-error
- (db/list-roles db/*db* {})
- :message
- "Error while fetching role records"
- :error-return
- {:warnings ["Error while fetching role records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-roles-Role
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-roles-Role.html")
- (:session request)
- (merge
- {:title "Role", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-role db/*db* params)
- :message
- (str "Error while fetching role record " params)
- :error-return
- {:warnings [(str "Error while fetching role record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :members
- (flatten
- (remove
- nil?
- (list
- nil
- (support/do-or-log-error
- (db/list-canvassers db/*db*)
- :message
- "Error while fetching canvasser list"))))})))))
-
-(defn
- list-teams-Teams
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-teams-Teams.html")
- (:session request)
- (merge
- {:title "Teams", :params params}
- (let
- [records
- (if
- (some
- #{:name :organisers :longitude :district_id :id :latitude
- :members}
- (keys params))
- (do
- (log/debug (db/search-strings-teams-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-teams db/*db* params)
- :message
- "Error while searching team records"
- :error-return
- {:warnings ["Error while searching team records"]}))
- (do
- (log/debug (db/list-teams-sqlvec params))
- (support/do-or-log-error
- (db/list-teams db/*db* {})
- :message
- "Error while fetching team records"
- :error-return
- {:warnings ["Error while fetching team records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-teams-Team
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-teams-Team.html")
- (:session request)
- (merge
- {:title "Team", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-team db/*db* params)
- :message
- (str "Error while fetching team record " params)
- :error-return
- {:warnings [(str "Error while fetching team record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :district_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-district db/*db* {:id (:district_id record)})
- :message
- "Error while fetching district record {:id (:district_id record)}")
- (support/do-or-log-error
- (db/list-districts db/*db*)
- :message
- "Error while fetching district list")))),
- :members
- (flatten
- (remove
- nil?
- (list
- nil
- (support/do-or-log-error
- (db/list-canvassers db/*db*)
- :message
- "Error while fetching canvasser list")))),
- :organisers
- (flatten
- (remove
- nil?
- (list
- nil
- (support/do-or-log-error
- (db/list-canvassers db/*db*)
- :message
- "Error while fetching canvasser list"))))})))))
-
-(defn
- list-visits-Visits
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "list-visits-Visits.html")
- (:session request)
- (merge
- {:title "Visits", :params params}
- (let
- [records
- (if
- (some #{:canvasser_id :date :id :address_id} (keys params))
- (do
- (log/debug (db/search-strings-visits-sqlvec params))
- (support/do-or-log-error
- (db/search-strings-visits db/*db* params)
- :message
- "Error while searching visit records"
- :error-return
- {:warnings ["Error while searching visit records"]}))
- (do
- (log/debug (db/list-visits-sqlvec params))
- (support/do-or-log-error
- (db/list-visits db/*db* {})
- :message
- "Error while fetching visit records"
- :error-return
- {:warnings ["Error while fetching visit records"]})))]
- (if (:warnings records) records {:records records}))))))
-
-(defn
- form-visits-Visit
- [request]
- (let
- [params
- (support/massage-params
- (keywordize-keys (:params request))
- (keywordize-keys (:form-params request))
- #{:id})]
- (l/render
- (support/resolve-template "form-visits-Visit.html")
- (:session request)
- (merge
- {:title "Visit", :params params}
- (let
- [record
- (support/do-or-log-error
- (db/get-visit db/*db* params)
- :message
- (str "Error while fetching visit record " params)
- :error-return
- {:warnings
- [(str "Error while fetching visit record " params)]})]
- {:error (:warnings record),
- :record (dissoc record :warnings),
- :address_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-address db/*db* {:id (:address_id record)})
- :message
- "Error while fetching address record {:id (:address_id record)}")
- (support/do-or-log-error
- (db/list-addresses db/*db*)
- :message
- "Error while fetching address list")))),
- :canvasser_id
- (flatten
- (remove
- nil?
- (list
- (support/do-or-log-error
- (db/get-canvasser db/*db* {:id (:canvasser_id record)})
- :message
- "Error while fetching canvasser record {:id (:canvasser_id record)}")
- (support/do-or-log-error
- (db/list-canvassers db/*db*)
- :message
- "Error while fetching canvasser list"))))})))))
-
-(defn
- raw-resolve-handler
- "Prefer the manually-written version of the handler with name `n`, if it exists, to the automatically generated one"
- [n]
- (try
- (eval (symbol (str "youyesyet" ".routes.manual/" n)))
- (catch
- Exception
- _
- (eval (symbol (str "youyesyet" ".routes.auto/" n))))))
-
-(def resolve-handler (memoize raw-resolve-handler))
-
-(defroutes
- auto-selmer-routes
- (GET
- "/admin"
- request
- (route/restricted (apply (resolve-handler "index") (list request))))
- (GET
- "/form-addresses-Address"
- request
- (route/restricted
- (apply (resolve-handler "form-addresses-Address") (list request))))
- (POST
- "/form-addresses-Address"
- request
- (route/restricted
- (apply (resolve-handler "form-addresses-Address") (list request))))
- (GET
- "/form-authorities-Authority"
- request
- (route/restricted
- (apply
- (resolve-handler "form-authorities-Authority")
- (list request))))
- (POST
- "/form-authorities-Authority"
- request
- (route/restricted
- (apply
- (resolve-handler "form-authorities-Authority")
- (list request))))
- (GET
- "/form-canvassers-Canvasser"
- request
- (route/restricted
- (apply
- (resolve-handler "form-canvassers-Canvasser")
- (list request))))
- (POST
- "/form-canvassers-Canvasser"
- request
- (route/restricted
- (apply
- (resolve-handler "form-canvassers-Canvasser")
- (list request))))
- (GET
- "/form-districts-District"
- request
- (route/restricted
- (apply (resolve-handler "form-districts-District") (list request))))
- (POST
- "/form-districts-District"
- request
- (route/restricted
- (apply (resolve-handler "form-districts-District") (list request))))
- (GET
- "/form-dwellings-Dwelling"
- request
- (route/restricted
- (apply (resolve-handler "form-dwellings-Dwelling") (list request))))
- (POST
- "/form-dwellings-Dwelling"
- request
- (route/restricted
- (apply (resolve-handler "form-dwellings-Dwelling") (list request))))
- (GET
- "/form-electors-Elector"
- request
- (route/restricted
- (apply (resolve-handler "form-electors-Elector") (list request))))
- (POST
- "/form-electors-Elector"
- request
- (route/restricted
- (apply (resolve-handler "form-electors-Elector") (list request))))
- (GET
- "/form-events-Events"
- request
- (route/restricted
- (apply (resolve-handler "form-events-Events") (list request))))
- (POST
- "/form-events-Events"
- request
- (route/restricted
- (apply (resolve-handler "form-events-Events") (list request))))
- (GET
- "/form-followupactions-Followupaction"
- request
- (route/restricted
- (apply
- (resolve-handler "form-followupactions-Followupaction")
- (list request))))
- (POST
- "/form-followupactions-Followupaction"
- request
- (route/restricted
- (apply
- (resolve-handler "form-followupactions-Followupaction")
- (list request))))
- (GET
- "/form-followupmethods-Followupmethod"
- request
- (route/restricted
- (apply
- (resolve-handler "form-followupmethods-Followupmethod")
- (list request))))
- (POST
- "/form-followupmethods-Followupmethod"
- request
- (route/restricted
- (apply
- (resolve-handler "form-followupmethods-Followupmethod")
- (list request))))
- (GET
- "/form-followuprequests-Followuprequest"
- request
- (route/restricted
- (apply
- (resolve-handler "form-followuprequests-Followuprequest")
- (list request))))
- (POST
- "/form-followuprequests-Followuprequest"
- request
- (route/restricted
- (apply
- (resolve-handler "form-followuprequests-Followuprequest")
- (list request))))
- (GET
- "/form-genders-Gender"
- request
- (route/restricted
- (apply (resolve-handler "form-genders-Gender") (list request))))
- (POST
- "/form-genders-Gender"
- request
- (route/restricted
- (apply (resolve-handler "form-genders-Gender") (list request))))
- (GET
- "/form-intentions-Intention"
- request
- (route/restricted
- (apply
- (resolve-handler "form-intentions-Intention")
- (list request))))
- (POST
- "/form-intentions-Intention"
- request
- (route/restricted
- (apply
- (resolve-handler "form-intentions-Intention")
- (list request))))
- (GET
- "/form-issues-Issue"
- request
- (route/restricted
- (apply (resolve-handler "form-issues-Issue") (list request))))
- (POST
- "/form-issues-Issue"
- request
- (route/restricted
- (apply (resolve-handler "form-issues-Issue") (list request))))
- (GET
- "/form-options-Option"
- request
- (route/restricted
- (apply (resolve-handler "form-options-Option") (list request))))
- (POST
- "/form-options-Option"
- request
- (route/restricted
- (apply (resolve-handler "form-options-Option") (list request))))
- (GET
- "/form-roles-Role"
- request
- (route/restricted
- (apply (resolve-handler "form-roles-Role") (list request))))
- (POST
- "/form-roles-Role"
- request
- (route/restricted
- (apply (resolve-handler "form-roles-Role") (list request))))
- (GET
- "/form-teams-Team"
- request
- (route/restricted
- (apply (resolve-handler "form-teams-Team") (list request))))
- (POST
- "/form-teams-Team"
- request
- (route/restricted
- (apply (resolve-handler "form-teams-Team") (list request))))
- (GET
- "/form-visits-Visit"
- request
- (route/restricted
- (apply (resolve-handler "form-visits-Visit") (list request))))
- (POST
- "/form-visits-Visit"
- request
- (route/restricted
- (apply (resolve-handler "form-visits-Visit") (list request))))
- (GET
- "/list-addresses-Addresses"
- request
- (route/restricted
- (apply
- (resolve-handler "list-addresses-Addresses")
- (list request))))
- (POST
- "/list-addresses-Addresses"
- request
- (route/restricted
- (apply
- (resolve-handler "list-addresses-Addresses")
- (list request))))
- (GET
- "/list-authorities-Authorities"
- request
- (route/restricted
- (apply
- (resolve-handler "list-authorities-Authorities")
- (list request))))
- (POST
- "/list-authorities-Authorities"
- request
- (route/restricted
- (apply
- (resolve-handler "list-authorities-Authorities")
- (list request))))
- (GET
- "/list-canvassers-Canvassers"
- request
- (route/restricted
- (apply
- (resolve-handler "list-canvassers-Canvassers")
- (list request))))
- (POST
- "/list-canvassers-Canvassers"
- request
- (route/restricted
- (apply
- (resolve-handler "list-canvassers-Canvassers")
- (list request))))
- (GET
- "/list-districts-Districts"
- request
- (route/restricted
- (apply
- (resolve-handler "list-districts-Districts")
- (list request))))
- (POST
- "/list-districts-Districts"
- request
- (route/restricted
- (apply
- (resolve-handler "list-districts-Districts")
- (list request))))
- (GET
- "/list-dwellings-Dwellings"
- request
- (route/restricted
- (apply
- (resolve-handler "list-dwellings-Dwellings")
- (list request))))
- (POST
- "/list-dwellings-Dwellings"
- request
- (route/restricted
- (apply
- (resolve-handler "list-dwellings-Dwellings")
- (list request))))
- (GET
- "/list-electors-Electors"
- request
- (route/restricted
- (apply (resolve-handler "list-electors-Electors") (list request))))
- (POST
- "/list-electors-Electors"
- request
- (route/restricted
- (apply (resolve-handler "list-electors-Electors") (list request))))
- (GET
- "/list-events-Events"
- request
- (route/restricted
- (apply (resolve-handler "list-events-Events") (list request))))
- (POST
- "/list-events-Events"
- request
- (route/restricted
- (apply (resolve-handler "list-events-Events") (list request))))
- (GET
- "/list-followupactions-Followupactions"
- request
- (route/restricted
- (apply
- (resolve-handler "list-followupactions-Followupactions")
- (list request))))
- (POST
- "/list-followupactions-Followupactions"
- request
- (route/restricted
- (apply
- (resolve-handler "list-followupactions-Followupactions")
- (list request))))
- (GET
- "/list-followupmethods-Followupmethods"
- request
- (route/restricted
- (apply
- (resolve-handler "list-followupmethods-Followupmethods")
- (list request))))
- (POST
- "/list-followupmethods-Followupmethods"
- request
- (route/restricted
- (apply
- (resolve-handler "list-followupmethods-Followupmethods")
- (list request))))
- (GET
- "/list-followuprequests-Followuprequests"
- request
- (route/restricted
- (apply
- (resolve-handler "list-followuprequests-Followuprequests")
- (list request))))
- (POST
- "/list-followuprequests-Followuprequests"
- request
- (route/restricted
- (apply
- (resolve-handler "list-followuprequests-Followuprequests")
- (list request))))
- (GET
- "/list-genders-Genders"
- request
- (route/restricted
- (apply (resolve-handler "list-genders-Genders") (list request))))
- (POST
- "/list-genders-Genders"
- request
- (route/restricted
- (apply (resolve-handler "list-genders-Genders") (list request))))
- (GET
- "/list-intentions-Intentions"
- request
- (route/restricted
- (apply
- (resolve-handler "list-intentions-Intentions")
- (list request))))
- (POST
- "/list-intentions-Intentions"
- request
- (route/restricted
- (apply
- (resolve-handler "list-intentions-Intentions")
- (list request))))
- (GET
- "/list-issues-Issues"
- request
- (route/restricted
- (apply (resolve-handler "list-issues-Issues") (list request))))
- (POST
- "/list-issues-Issues"
- request
- (route/restricted
- (apply (resolve-handler "list-issues-Issues") (list request))))
- (GET
- "/list-options-Options"
- request
- (route/restricted
- (apply (resolve-handler "list-options-Options") (list request))))
- (POST
- "/list-options-Options"
- request
- (route/restricted
- (apply (resolve-handler "list-options-Options") (list request))))
- (GET
- "/list-roles-Roles"
- request
- (route/restricted
- (apply (resolve-handler "list-roles-Roles") (list request))))
- (POST
- "/list-roles-Roles"
- request
- (route/restricted
- (apply (resolve-handler "list-roles-Roles") (list request))))
- (GET
- "/list-teams-Teams"
- request
- (route/restricted
- (apply (resolve-handler "list-teams-Teams") (list request))))
- (POST
- "/list-teams-Teams"
- request
- (route/restricted
- (apply (resolve-handler "list-teams-Teams") (list request))))
- (GET
- "/list-visits-Visits"
- request
- (route/restricted
- (apply (resolve-handler "list-visits-Visits") (list request))))
- (POST
- "/list-visits-Visits"
- request
- (route/restricted
- (apply (resolve-handler "list-visits-Visits") (list request)))))
-
diff --git a/src/clj/youyesyet/routes/auto_json.clj b/src/clj/youyesyet/routes/auto_json.clj
deleted file mode 100644
index 9869f35..0000000
--- a/src/clj/youyesyet/routes/auto_json.clj
+++ /dev/null
@@ -1,1875 +0,0 @@
-(ns
- youyesyet.routes.auto-json
- "JSON routes for youyesyet auto-generated by [Application Description Language framework](https://github.com/simon-brooke/adl) at 20180715T195944.782Z"
- (:require
- [adl-support.core :as support]
- [clojure.core.memoize :as memo]
- [clojure.java.io :as io]
- [clojure.tools.logging :as log]
- [compojure.core :refer [defroutes GET POST]]
- [hugsql.core :as hugsql]
- [noir.response :as nresponse]
- [noir.util.route :as route]
- [ring.util.http-response :as response]
- [youyesyet.db.core :as db]))
-
-(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 form-params]}]
- (let
- [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 form-params]}]
- (let
- [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 :avatar :bio :elector_id :address_id :phone :email :authority_id :authorised)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params form-params]}]
- (let
- [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 form-params]}]
- (let
- [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 form-params]}]
- (let
- [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 form-params]}]
- (let
- [result
- (db/create-elector!
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
-
-(defn
- create-event!
- "Auto-generated method to insert one record to the `events` table. Expects the following key(s) to be present in `params`: `(:name :date :time :decription :cancelled)`. Returns a map containing the keys `#{\"id\"}` identifying the record created."
- [{:keys [params form-params]}]
- (let
- [result
- (db/create-event!
- 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 form-params]}]
- (let
- [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 form-params]}]
- (let
- [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 form-params]}]
- (let
- [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 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 form-params]}]
- (let
- [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 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 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 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 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 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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((db/delete-elector!
- db/*db*
- (support/massage-params params form-params #{"id"}))
- (response/found "/")))
-
-(defn
- delete-event!
- "Auto-generated method to delete one record from the `events` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`."
- [{:keys [params form-params]}]
- ((db/delete-event!
- 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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((db/delete-visit!
- db/*db*
- (support/massage-params params form-params #{"id"}))
- (response/found "/")))
-
-(def
- get-address
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-address
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000000))
-
-(def
- get-authority
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-authority
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- get-canvasser
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-canvasser
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000))
-
-(def
- get-canvasser-by-username
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-canvasser-by-username
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000))
-
-(def
- get-district
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-district
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- get-dwelling
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-dwelling
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000000))
-
-(def
- get-elector
- (memo/ttl
- (fn
- [{: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-event
- "Auto-generated method to select one record from the `events` table. Expects the following key(s) to be present in `params`: `#{\"id\"}`. Returns a map containing the following keys: `clojure.lang.LazySeq@3ac90901`."
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-event
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
-
-(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 form-params]}]
- (let
- [result
- (db/get-followupaction
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
-
-(def
- get-followupmethod
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-followupmethod
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- get-followuprequest
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-followuprequest
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000))
-
-(def
- get-gender
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-gender
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000000))
-
-(def
- get-intention
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-intention
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000))
-
-(def
- get-issue
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-issue
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000))
-
-(def
- get-option
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-option
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- get-role
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-role
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- get-role-by-name
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-role-by-name
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- get-team
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-team
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000))
-
-(def
- get-visit
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/get-visit
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000))
-
-(def
- list-addresses
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-addresses
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000000))
-
-(defn
- list-addresses-by-district
- [{:keys [params]}]
- (do (db/list-addresses-by-district params)))
-
-(def
- list-authorities
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-authorities
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- list-canvassers
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-canvassers
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000))
-
-(defn
- list-canvassers-by-address
- [{:keys [params]}]
- (do (db/list-canvassers-by-address params)))
-
-(defn
- list-canvassers-by-authority
- [{:keys [params]}]
- (do (db/list-canvassers-by-authority params)))
-
-(defn
- list-canvassers-by-elector
- [{:keys [params]}]
- (do (db/list-canvassers-by-elector params)))
-
-(defn
- list-canvassers-by-issue
- [{:keys [params]}]
- (do (db/list-canvassers-by-issue params)))
-
-(defn
- list-canvassers-by-role
- [{:keys [params]}]
- (do (db/list-canvassers-by-role params)))
-
-(def
- list-districts
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-districts
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- list-dwellings
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-dwellings
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000000))
-
-(defn
- list-dwellings-by-address
- [{:keys [params]}]
- (do (db/list-dwellings-by-address params)))
-
-(def
- list-electors
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-electors
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000000))
-
-(defn
- list-electors-by-dwelling
- [{:keys [params]}]
- (do (db/list-electors-by-dwelling params)))
-
-(defn
- list-electors-by-gender
- [{:keys [params]}]
- (do (db/list-electors-by-gender params)))
-
-(defn
- list-events
- "Auto-generated method to select all records from the `events` 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: `(:name :teams :date :time :decription :cancelled :id)`."
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-events
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
-
-(defn
- list-events-by-team
- [{:keys [params]}]
- (do (db/list-events-by-team params)))
-
-(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 form-params]}]
- (let
- [result
- (db/list-followupactions
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
-
-(defn
- list-followupactions-by-canvasser
- [{:keys [params]}]
- (do (db/list-followupactions-by-canvasser params)))
-
-(defn
- list-followupactions-by-followuprequest
- [{:keys [params]}]
- (do (db/list-followupactions-by-followuprequest params)))
-
-(def
- list-followupmethods
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-followupmethods
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- list-followuprequests
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-followuprequests
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000))
-
-(defn
- list-followuprequests-by-elector
- [{:keys [params]}]
- (do (db/list-followuprequests-by-elector params)))
-
-(defn
- list-followuprequests-by-followupmethod
- [{:keys [params]}]
- (do (db/list-followuprequests-by-followupmethod params)))
-
-(defn
- list-followuprequests-by-issue
- [{:keys [params]}]
- (do (db/list-followuprequests-by-issue params)))
-
-(defn
- list-followuprequests-by-visit
- [{:keys [params]}]
- (do (db/list-followuprequests-by-visit params)))
-
-(def
- list-genders
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-genders
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000000))
-
-(def
- list-intentions
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-intentions
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000))
-
-(defn
- list-intentions-by-elector
- [{:keys [params]}]
- (do (db/list-intentions-by-elector params)))
-
-(defn
- list-intentions-by-option
- [{:keys [params]}]
- (do (db/list-intentions-by-option params)))
-
-(defn
- list-intentions-by-visit
- [{:keys [params]}]
- (do (db/list-intentions-by-visit params)))
-
-(def
- list-issues
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-issues
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000))
-
-(defn
- list-issues-by-canvasser
- [{:keys [params]}]
- (do (db/list-issues-by-canvasser params)))
-
-(def
- list-options
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-options
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- list-roles
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-roles
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(defn
- list-roles-by-canvasser
- [{:keys [params]}]
- (do (db/list-roles-by-canvasser params)))
-
-(def
- list-teams
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-teams
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000))
-
-(defn
- list-teams-by-canvasser
- [{:keys [params]}]
- (do (db/list-teams-by-canvasser params)))
-
-(defn
- list-teams-by-district
- [{:keys [params]}]
- (do (db/list-teams-by-district params)))
-
-(def
- list-visits
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/list-visits
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000))
-
-(defn
- list-visits-by-address
- [{:keys [params]}]
- (do (db/list-visits-by-address params)))
-
-(defn
- list-visits-by-canvasser
- [{:keys [params]}]
- (do (db/list-visits-by-canvasser params)))
-
-(def
- search-strings-addresses
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-addresses
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000000))
-
-(def
- search-strings-authorities
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-authorities
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- search-strings-canvassers
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-canvassers
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000))
-
-(def
- search-strings-districts
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-districts
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- search-strings-dwellings
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-dwellings
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000000))
-
-(def
- search-strings-electors
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-electors
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000000))
-
-(defn
- search-strings-events
- "Auto-generated method to select all records from the `events` 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: `(:name :teams :date :time :decription :cancelled :id)`."
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-events
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
-
-(defn
- search-strings-followupactions
- "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 form-params]}]
- (let
- [result
- (db/search-strings-followupactions
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
-
-(def
- search-strings-followupmethods
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-followupmethods
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- search-strings-followuprequests
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-followuprequests
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000))
-
-(def
- search-strings-genders
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-genders
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000000))
-
-(def
- search-strings-intentions
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-intentions
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000))
-
-(def
- search-strings-issues
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-issues
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 1000000))
-
-(def
- search-strings-options
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-options
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- search-strings-roles
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-roles
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000000))
-
-(def
- search-strings-teams
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-teams
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 10000000))
-
-(def
- search-strings-visits
- (memo/ttl
- (fn
- [{:keys [params form-params]}]
- (let
- [result
- (db/search-strings-visits
- db/*db*
- (support/massage-params params form-params #{"id"}))]
- (response/ok result)))
- :ttl/threshold
- 100000))
-
-(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 form-params]}]
- ((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 form-params]}]
- ((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 :avatar :bio :elector_id :email :fullname :id :phone :username)`."
- [{:keys [params form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((db/update-elector!
- db/*db*
- (support/massage-params params form-params #{"id"}))
- (response/found "/")))
-
-(defn
- update-event!
- "Auto-generated method to update one record in the `events` table. Expects the following key(s) to be present in `params`: `(:cancelled :date :decription :id :name :time)`."
- [{:keys [params form-params]}]
- ((db/update-event!
- 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 form-params]}]
- ((db/update-followupaction!
- db/*db*
- (support/massage-params params form-params #{"id"}))
- (response/found "/")))
-
-(defn
- update-followupmethod!
- "Auto-generated method to update one record in the `followupmethods` table. Expects the following key(s) to be present in `params`: `(:id)`."
- [{:keys [params form-params]}]
- ((db/update-followupmethod!
- 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 form-params]}]
- ((db/update-followuprequest!
- db/*db*
- (support/massage-params params form-params #{"id"}))
- (response/found "/")))
-
-(defn
- update-gender!
- "Auto-generated method to update one record in the `genders` table. Expects the following key(s) to be present in `params`: `(:id)`."
- [{:keys [params form-params]}]
- ((db/update-gender!
- 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`: `(:elector_id :id :locality :option_id :visit_id)`."
- [{:keys [params form-params]}]
- ((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 form-params]}]
- ((db/update-issue!
- db/*db*
- (support/massage-params params form-params #{"id"}))
- (response/found "/")))
-
-(defn
- update-option!
- "Auto-generated method to update one record in the `options` table. Expects the following key(s) to be present in `params`: `(:id)`."
- [{:keys [params form-params]}]
- ((db/update-option!
- 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 form-params]}]
- ((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 form-params]}]
- ((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 form-params]}]
- ((db/update-visit!
- db/*db*
- (support/massage-params params form-params #{"id"}))
- (response/found "/")))
-
-(defroutes
- auto-rest-routes
- (POST
- "/json/auto/create-address"
- request
- (route/restricted (create-address! request)))
- (POST
- "/json/auto/create-authority"
- request
- (route/restricted (create-authority! request)))
- (POST
- "/json/auto/create-canvasser"
- request
- (route/restricted (create-canvasser! request)))
- (POST
- "/json/auto/create-district"
- request
- (route/restricted (create-district! request)))
- (POST
- "/json/auto/create-dwelling"
- request
- (route/restricted (create-dwelling! request)))
- (POST
- "/json/auto/create-elector"
- request
- (route/restricted (create-elector! request)))
- (POST
- "/json/auto/create-event"
- request
- (route/restricted (create-event! request)))
- (POST
- "/json/auto/create-followupaction"
- request
- (route/restricted (create-followupaction! request)))
- (POST
- "/json/auto/create-followupmethod"
- request
- (route/restricted (create-followupmethod! request)))
- (POST
- "/json/auto/create-followuprequest"
- request
- (route/restricted (create-followuprequest! request)))
- (POST
- "/json/auto/create-gender"
- request
- (route/restricted (create-gender! request)))
- (POST
- "/json/auto/create-intention"
- request
- (route/restricted (create-intention! request)))
- (POST
- "/json/auto/create-issue"
- request
- (route/restricted (create-issue! request)))
- (POST
- "/json/auto/create-option"
- request
- (route/restricted (create-option! request)))
- (POST
- "/json/auto/create-role"
- request
- (route/restricted (create-role! request)))
- (POST
- "/json/auto/create-team"
- request
- (route/restricted (create-team! request)))
- (POST
- "/json/auto/create-visit"
- request
- (route/restricted (create-visit! request)))
- (POST
- "/json/auto/delete-address"
- request
- (route/restricted (delete-address! request)))
- (POST
- "/json/auto/delete-authority"
- request
- (route/restricted (delete-authority! request)))
- (POST
- "/json/auto/delete-canvasser"
- request
- (route/restricted (delete-canvasser! request)))
- (POST
- "/json/auto/delete-district"
- request
- (route/restricted (delete-district! request)))
- (POST
- "/json/auto/delete-dwelling"
- request
- (route/restricted (delete-dwelling! request)))
- (POST
- "/json/auto/delete-elector"
- request
- (route/restricted (delete-elector! request)))
- (POST
- "/json/auto/delete-event"
- request
- (route/restricted (delete-event! request)))
- (POST
- "/json/auto/delete-followupaction"
- request
- (route/restricted (delete-followupaction! request)))
- (POST
- "/json/auto/delete-followupmethod"
- request
- (route/restricted (delete-followupmethod! request)))
- (POST
- "/json/auto/delete-followuprequest"
- request
- (route/restricted (delete-followuprequest! request)))
- (POST
- "/json/auto/delete-gender"
- request
- (route/restricted (delete-gender! request)))
- (POST
- "/json/auto/delete-intention"
- request
- (route/restricted (delete-intention! request)))
- (POST
- "/json/auto/delete-issue"
- request
- (route/restricted (delete-issue! request)))
- (POST
- "/json/auto/delete-option"
- request
- (route/restricted (delete-option! request)))
- (POST
- "/json/auto/delete-role"
- request
- (route/restricted (delete-role! request)))
- (POST
- "/json/auto/delete-team"
- request
- (route/restricted (delete-team! request)))
- (POST
- "/json/auto/delete-visit"
- request
- (route/restricted (delete-visit! request)))
- (GET
- "/json/auto/get-address"
- request
- (route/restricted (get-address request)))
- (GET
- "/json/auto/get-authority"
- request
- (route/restricted (get-authority request)))
- (GET
- "/json/auto/get-canvasser"
- request
- (route/restricted (get-canvasser request)))
- (GET
- "/json/auto/get-canvasser-by-username"
- request
- (route/restricted (get-canvasser-by-username request)))
- (GET
- "/json/auto/get-district"
- request
- (route/restricted (get-district request)))
- (GET
- "/json/auto/get-dwelling"
- request
- (route/restricted (get-dwelling request)))
- (GET
- "/json/auto/get-elector"
- request
- (route/restricted (get-elector request)))
- (GET
- "/json/auto/get-event"
- request
- (route/restricted (get-event request)))
- (GET
- "/json/auto/get-followupaction"
- request
- (route/restricted (get-followupaction request)))
- (GET
- "/json/auto/get-followupmethod"
- request
- (route/restricted (get-followupmethod request)))
- (GET
- "/json/auto/get-followuprequest"
- request
- (route/restricted (get-followuprequest request)))
- (GET
- "/json/auto/get-gender"
- request
- (route/restricted (get-gender request)))
- (GET
- "/json/auto/get-intention"
- request
- (route/restricted (get-intention request)))
- (GET
- "/json/auto/get-issue"
- request
- (route/restricted (get-issue request)))
- (GET
- "/json/auto/get-option"
- request
- (route/restricted (get-option request)))
- (GET
- "/json/auto/get-role"
- request
- (route/restricted (get-role request)))
- (GET
- "/json/auto/get-role-by-name"
- request
- (route/restricted (get-role-by-name request)))
- (GET
- "/json/auto/get-team"
- request
- (route/restricted (get-team request)))
- (GET
- "/json/auto/get-visit"
- request
- (route/restricted (get-visit request)))
- (GET
- "/json/auto/list-addresses"
- request
- (route/restricted (list-addresses request)))
- (GET
- "/json/auto/list-addresses-by-district"
- request
- (route/restricted (list-addresses-by-district request)))
- (GET
- "/json/auto/list-authorities"
- request
- (route/restricted (list-authorities request)))
- (GET
- "/json/auto/list-canvassers"
- request
- (route/restricted (list-canvassers request)))
- (GET
- "/json/auto/list-canvassers-by-address"
- request
- (route/restricted (list-canvassers-by-address request)))
- (GET
- "/json/auto/list-canvassers-by-authority"
- request
- (route/restricted (list-canvassers-by-authority request)))
- (GET
- "/json/auto/list-canvassers-by-elector"
- request
- (route/restricted (list-canvassers-by-elector request)))
- (GET
- "/json/auto/list-canvassers-by-issue"
- request
- (route/restricted (list-canvassers-by-issue request)))
- (GET
- "/json/auto/list-canvassers-by-role"
- request
- (route/restricted (list-canvassers-by-role request)))
- (GET
- "/json/auto/list-districts"
- request
- (route/restricted (list-districts request)))
- (GET
- "/json/auto/list-dwellings"
- request
- (route/restricted (list-dwellings request)))
- (GET
- "/json/auto/list-dwellings-by-address"
- request
- (route/restricted (list-dwellings-by-address request)))
- (GET
- "/json/auto/list-electors"
- request
- (route/restricted (list-electors request)))
- (GET
- "/json/auto/list-electors-by-dwelling"
- request
- (route/restricted (list-electors-by-dwelling request)))
- (GET
- "/json/auto/list-electors-by-gender"
- request
- (route/restricted (list-electors-by-gender request)))
- (GET
- "/json/auto/list-events"
- request
- (route/restricted (list-events request)))
- (GET
- "/json/auto/list-events-by-team"
- request
- (route/restricted (list-events-by-team request)))
- (GET
- "/json/auto/list-followupactions"
- request
- (route/restricted (list-followupactions request)))
- (GET
- "/json/auto/list-followupactions-by-canvasser"
- request
- (route/restricted (list-followupactions-by-canvasser request)))
- (GET
- "/json/auto/list-followupactions-by-followuprequest"
- request
- (route/restricted (list-followupactions-by-followuprequest request)))
- (GET
- "/json/auto/list-followupmethods"
- request
- (route/restricted (list-followupmethods request)))
- (GET
- "/json/auto/list-followuprequests"
- request
- (route/restricted (list-followuprequests request)))
- (GET
- "/json/auto/list-followuprequests-by-elector"
- request
- (route/restricted (list-followuprequests-by-elector request)))
- (GET
- "/json/auto/list-followuprequests-by-followupmethod"
- request
- (route/restricted (list-followuprequests-by-followupmethod request)))
- (GET
- "/json/auto/list-followuprequests-by-issue"
- request
- (route/restricted (list-followuprequests-by-issue request)))
- (GET
- "/json/auto/list-followuprequests-by-visit"
- request
- (route/restricted (list-followuprequests-by-visit request)))
- (GET
- "/json/auto/list-genders"
- request
- (route/restricted (list-genders request)))
- (GET
- "/json/auto/list-intentions"
- request
- (route/restricted (list-intentions request)))
- (GET
- "/json/auto/list-intentions-by-elector"
- request
- (route/restricted (list-intentions-by-elector request)))
- (GET
- "/json/auto/list-intentions-by-option"
- request
- (route/restricted (list-intentions-by-option request)))
- (GET
- "/json/auto/list-intentions-by-visit"
- request
- (route/restricted (list-intentions-by-visit request)))
- (GET
- "/json/auto/list-issues"
- request
- (route/restricted (list-issues request)))
- (GET
- "/json/auto/list-issues-by-canvasser"
- request
- (route/restricted (list-issues-by-canvasser request)))
- (GET
- "/json/auto/list-options"
- request
- (route/restricted (list-options request)))
- (GET
- "/json/auto/list-roles"
- request
- (route/restricted (list-roles request)))
- (GET
- "/json/auto/list-roles-by-canvasser"
- request
- (route/restricted (list-roles-by-canvasser request)))
- (GET
- "/json/auto/list-teams"
- request
- (route/restricted (list-teams request)))
- (GET
- "/json/auto/list-teams-by-canvasser"
- request
- (route/restricted (list-teams-by-canvasser request)))
- (GET
- "/json/auto/list-teams-by-district"
- request
- (route/restricted (list-teams-by-district request)))
- (GET
- "/json/auto/list-visits"
- request
- (route/restricted (list-visits request)))
- (GET
- "/json/auto/list-visits-by-address"
- request
- (route/restricted (list-visits-by-address request)))
- (GET
- "/json/auto/list-visits-by-canvasser"
- request
- (route/restricted (list-visits-by-canvasser request)))
- (GET
- "/json/auto/search-strings-addresses"
- request
- (route/restricted (search-strings-addresses request)))
- (GET
- "/json/auto/search-strings-authorities"
- request
- (route/restricted (search-strings-authorities request)))
- (GET
- "/json/auto/search-strings-canvassers"
- request
- (route/restricted (search-strings-canvassers request)))
- (GET
- "/json/auto/search-strings-districts"
- request
- (route/restricted (search-strings-districts request)))
- (GET
- "/json/auto/search-strings-dwellings"
- request
- (route/restricted (search-strings-dwellings request)))
- (GET
- "/json/auto/search-strings-electors"
- request
- (route/restricted (search-strings-electors request)))
- (GET
- "/json/auto/search-strings-events"
- request
- (route/restricted (search-strings-events request)))
- (GET
- "/json/auto/search-strings-followupactions"
- request
- (route/restricted (search-strings-followupactions request)))
- (GET
- "/json/auto/search-strings-followupmethods"
- request
- (route/restricted (search-strings-followupmethods request)))
- (GET
- "/json/auto/search-strings-followuprequests"
- request
- (route/restricted (search-strings-followuprequests request)))
- (GET
- "/json/auto/search-strings-genders"
- request
- (route/restricted (search-strings-genders request)))
- (GET
- "/json/auto/search-strings-intentions"
- request
- (route/restricted (search-strings-intentions request)))
- (GET
- "/json/auto/search-strings-issues"
- request
- (route/restricted (search-strings-issues request)))
- (GET
- "/json/auto/search-strings-options"
- request
- (route/restricted (search-strings-options request)))
- (GET
- "/json/auto/search-strings-roles"
- request
- (route/restricted (search-strings-roles request)))
- (GET
- "/json/auto/search-strings-teams"
- request
- (route/restricted (search-strings-teams request)))
- (GET
- "/json/auto/search-strings-visits"
- request
- (route/restricted (search-strings-visits request)))
- (POST
- "/json/auto/update-address"
- request
- (route/restricted (update-address! request)))
- (POST
- "/json/auto/update-authority"
- request
- (route/restricted (update-authority! request)))
- (POST
- "/json/auto/update-canvasser"
- request
- (route/restricted (update-canvasser! request)))
- (POST
- "/json/auto/update-district"
- request
- (route/restricted (update-district! request)))
- (POST
- "/json/auto/update-dwelling"
- request
- (route/restricted (update-dwelling! request)))
- (POST
- "/json/auto/update-elector"
- request
- (route/restricted (update-elector! request)))
- (POST
- "/json/auto/update-event"
- request
- (route/restricted (update-event! request)))
- (POST
- "/json/auto/update-followupaction"
- request
- (route/restricted (update-followupaction! request)))
- (POST
- "/json/auto/update-followupmethod"
- request
- (route/restricted (update-followupmethod! request)))
- (POST
- "/json/auto/update-followuprequest"
- request
- (route/restricted (update-followuprequest! request)))
- (POST
- "/json/auto/update-gender"
- request
- (route/restricted (update-gender! request)))
- (POST
- "/json/auto/update-intention"
- request
- (route/restricted (update-intention! request)))
- (POST
- "/json/auto/update-issue"
- request
- (route/restricted (update-issue! request)))
- (POST
- "/json/auto/update-option"
- request
- (route/restricted (update-option! request)))
- (POST
- "/json/auto/update-role"
- request
- (route/restricted (update-role! request)))
- (POST
- "/json/auto/update-team"
- request
- (route/restricted (update-team! request)))
- (POST
- "/json/auto/update-visit"
- request
- (route/restricted (update-visit! request))))