parent
88b693acc5
commit
98695e41dc
|
@ -1,6 +1,6 @@
|
||||||
-- File queries.sql
|
-- File queries.sql
|
||||||
-- autogenerated by adl.to-hugsql-queries at
|
-- autogenerated by adl.to-hugsql-queries at
|
||||||
-- 2018-06-05T12:33:53.043Z
|
-- 2018-06-11T00:58:48.917Z
|
||||||
-- See [Application Description Language](https://github.com/simon-brooke/adl).
|
-- See [Application Description Language](https://github.com/simon-brooke/adl).
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,8 +36,7 @@ INSERT INTO canvassers (username,
|
||||||
phone,
|
phone,
|
||||||
email,
|
email,
|
||||||
authority_id,
|
authority_id,
|
||||||
authorised,
|
authorised)
|
||||||
roles)
|
|
||||||
VALUES (:username,
|
VALUES (:username,
|
||||||
:fullname,
|
:fullname,
|
||||||
:elector_id,
|
:elector_id,
|
||||||
|
@ -45,8 +44,7 @@ VALUES (:username,
|
||||||
:phone,
|
:phone,
|
||||||
:email,
|
:email,
|
||||||
:authority_id,
|
:authority_id,
|
||||||
:authorised,
|
:authorised)
|
||||||
:roles)
|
|
||||||
returning id
|
returning id
|
||||||
|
|
||||||
-- :name create-district! :! :n
|
-- :name create-district! :! :n
|
||||||
|
@ -440,7 +438,7 @@ ORDER BY addresses.address,
|
||||||
|
|
||||||
-- :name list-addresses-by-district :? :*
|
-- :name list-addresses-by-district :? :*
|
||||||
-- :doc lists all existing address records related to a given district
|
-- :doc lists all existing address records related to a given district
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM addresses
|
FROM addresses
|
||||||
WHERE addresses.district_id = :id
|
WHERE addresses.district_id = :id
|
||||||
ORDER BY addresses.address,
|
ORDER BY addresses.address,
|
||||||
|
@ -465,7 +463,7 @@ ORDER BY canvassers.username,
|
||||||
|
|
||||||
-- :name list-canvassers-by-address :? :*
|
-- :name list-canvassers-by-address :? :*
|
||||||
-- :doc lists all existing canvasser records related to a given address
|
-- :doc lists all existing canvasser records related to a given address
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM canvassers
|
FROM canvassers
|
||||||
WHERE canvassers.address_id = :id
|
WHERE canvassers.address_id = :id
|
||||||
ORDER BY canvassers.username,
|
ORDER BY canvassers.username,
|
||||||
|
@ -475,7 +473,7 @@ ORDER BY canvassers.username,
|
||||||
|
|
||||||
-- :name list-canvassers-by-authority :? :*
|
-- :name list-canvassers-by-authority :? :*
|
||||||
-- :doc lists all existing canvasser records related to a given authority
|
-- :doc lists all existing canvasser records related to a given authority
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM canvassers
|
FROM canvassers
|
||||||
WHERE canvassers.authority_id = :id
|
WHERE canvassers.authority_id = :id
|
||||||
ORDER BY canvassers.username,
|
ORDER BY canvassers.username,
|
||||||
|
@ -485,7 +483,7 @@ ORDER BY canvassers.username,
|
||||||
|
|
||||||
-- :name list-canvassers-by-elector :? :*
|
-- :name list-canvassers-by-elector :? :*
|
||||||
-- :doc lists all existing canvasser records related to a given elector
|
-- :doc lists all existing canvasser records related to a given elector
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM canvassers
|
FROM canvassers
|
||||||
WHERE canvassers.elector_id = :id
|
WHERE canvassers.elector_id = :id
|
||||||
ORDER BY canvassers.username,
|
ORDER BY canvassers.username,
|
||||||
|
@ -494,10 +492,11 @@ ORDER BY canvassers.username,
|
||||||
canvassers.id
|
canvassers.id
|
||||||
|
|
||||||
-- :name list-canvassers-by-role :? :*
|
-- :name list-canvassers-by-role :? :*
|
||||||
-- :doc lists all existing canvasser records related to a given role
|
-- :doc links all existing canvasser records related to a given role
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM canvassers
|
FROM canvassers
|
||||||
WHERE canvassers.roles = :id
|
WHERE canvassers.roles = link_canvassers_roles.canvasser_id
|
||||||
|
AND link_canvassers_roles.role_id = :id
|
||||||
ORDER BY canvassers.username,
|
ORDER BY canvassers.username,
|
||||||
canvassers.fullname,
|
canvassers.fullname,
|
||||||
canvassers.email,
|
canvassers.email,
|
||||||
|
@ -519,7 +518,7 @@ SELECT * FROM dwellings
|
||||||
|
|
||||||
-- :name list-dwellings-by-address :? :*
|
-- :name list-dwellings-by-address :? :*
|
||||||
-- :doc lists all existing dwelling records related to a given address
|
-- :doc lists all existing dwelling records related to a given address
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM dwellings
|
FROM dwellings
|
||||||
WHERE dwellings.address_id = :id
|
WHERE dwellings.address_id = :id
|
||||||
|
|
||||||
|
@ -535,7 +534,7 @@ ORDER BY electors.name,
|
||||||
|
|
||||||
-- :name list-electors-by-dwelling :? :*
|
-- :name list-electors-by-dwelling :? :*
|
||||||
-- :doc lists all existing elector records related to a given dwelling
|
-- :doc lists all existing elector records related to a given dwelling
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM electors
|
FROM electors
|
||||||
WHERE electors.dwelling_id = :id
|
WHERE electors.dwelling_id = :id
|
||||||
ORDER BY electors.name,
|
ORDER BY electors.name,
|
||||||
|
@ -545,7 +544,7 @@ ORDER BY electors.name,
|
||||||
|
|
||||||
-- :name list-electors-by-gender :? :*
|
-- :name list-electors-by-gender :? :*
|
||||||
-- :doc lists all existing elector records related to a given gender
|
-- :doc lists all existing elector records related to a given gender
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM electors
|
FROM electors
|
||||||
WHERE electors.gender = :id
|
WHERE electors.gender = :id
|
||||||
ORDER BY electors.name,
|
ORDER BY electors.name,
|
||||||
|
@ -561,13 +560,13 @@ SELECT * FROM followupactions
|
||||||
|
|
||||||
-- :name list-followupactions-by-canvasser :? :*
|
-- :name list-followupactions-by-canvasser :? :*
|
||||||
-- :doc lists all existing followupaction records related to a given canvasser
|
-- :doc lists all existing followupaction records related to a given canvasser
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM followupactions
|
FROM followupactions
|
||||||
WHERE followupactions.actor = :id
|
WHERE followupactions.actor = :id
|
||||||
|
|
||||||
-- :name list-followupactions-by-followuprequest :? :*
|
-- :name list-followupactions-by-followuprequest :? :*
|
||||||
-- :doc lists all existing followupaction records related to a given followuprequest
|
-- :doc lists all existing followupaction records related to a given followuprequest
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM followupactions
|
FROM followupactions
|
||||||
WHERE followupactions.request_id = :id
|
WHERE followupactions.request_id = :id
|
||||||
|
|
||||||
|
@ -585,25 +584,25 @@ SELECT * FROM followuprequests
|
||||||
|
|
||||||
-- :name list-followuprequests-by-elector :? :*
|
-- :name list-followuprequests-by-elector :? :*
|
||||||
-- :doc lists all existing followuprequest records related to a given elector
|
-- :doc lists all existing followuprequest records related to a given elector
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM followuprequests
|
FROM followuprequests
|
||||||
WHERE followuprequests.elector_id = :id
|
WHERE followuprequests.elector_id = :id
|
||||||
|
|
||||||
-- :name list-followuprequests-by-followupmethod :? :*
|
-- :name list-followuprequests-by-followupmethod :? :*
|
||||||
-- :doc lists all existing followuprequest records related to a given followupmethod
|
-- :doc lists all existing followuprequest records related to a given followupmethod
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM followuprequests
|
FROM followuprequests
|
||||||
WHERE followuprequests.method_id = :id
|
WHERE followuprequests.method_id = :id
|
||||||
|
|
||||||
-- :name list-followuprequests-by-issue :? :*
|
-- :name list-followuprequests-by-issue :? :*
|
||||||
-- :doc lists all existing followuprequest records related to a given issue
|
-- :doc lists all existing followuprequest records related to a given issue
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM followuprequests
|
FROM followuprequests
|
||||||
WHERE followuprequests.issue_id = :id
|
WHERE followuprequests.issue_id = :id
|
||||||
|
|
||||||
-- :name list-followuprequests-by-visit :? :*
|
-- :name list-followuprequests-by-visit :? :*
|
||||||
-- :doc lists all existing followuprequest records related to a given visit
|
-- :doc lists all existing followuprequest records related to a given visit
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM followuprequests
|
FROM followuprequests
|
||||||
WHERE followuprequests.visit_id = :id
|
WHERE followuprequests.visit_id = :id
|
||||||
|
|
||||||
|
@ -621,19 +620,19 @@ SELECT * FROM intentions
|
||||||
|
|
||||||
-- :name list-intentions-by-elector :? :*
|
-- :name list-intentions-by-elector :? :*
|
||||||
-- :doc lists all existing intention records related to a given elector
|
-- :doc lists all existing intention records related to a given elector
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM intentions
|
FROM intentions
|
||||||
WHERE intentions.elector_id = :id
|
WHERE intentions.elector_id = :id
|
||||||
|
|
||||||
-- :name list-intentions-by-option :? :*
|
-- :name list-intentions-by-option :? :*
|
||||||
-- :doc lists all existing intention records related to a given option
|
-- :doc lists all existing intention records related to a given option
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM intentions
|
FROM intentions
|
||||||
WHERE intentions.option_id = :id
|
WHERE intentions.option_id = :id
|
||||||
|
|
||||||
-- :name list-intentions-by-visit :? :*
|
-- :name list-intentions-by-visit :? :*
|
||||||
-- :doc lists all existing intention records related to a given visit
|
-- :doc lists all existing intention records related to a given visit
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM intentions
|
FROM intentions
|
||||||
WHERE intentions.visit_id = :id
|
WHERE intentions.visit_id = :id
|
||||||
|
|
||||||
|
@ -645,19 +644,19 @@ SELECT * FROM issueexpertise
|
||||||
|
|
||||||
-- :name list-issueexpertise-by-canvasser :? :*
|
-- :name list-issueexpertise-by-canvasser :? :*
|
||||||
-- :doc lists all existing issueexpertise records related to a given canvasser
|
-- :doc lists all existing issueexpertise records related to a given canvasser
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM issueexpertise
|
FROM issueexpertise
|
||||||
WHERE issueexpertise.canvasser_id = :id
|
WHERE issueexpertise.canvasser_id = :id
|
||||||
|
|
||||||
-- :name list-issueexpertise-by-followupmethod :? :*
|
-- :name list-issueexpertise-by-followupmethod :? :*
|
||||||
-- :doc lists all existing issueexpertise records related to a given followupmethod
|
-- :doc lists all existing issueexpertise records related to a given followupmethod
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM issueexpertise
|
FROM issueexpertise
|
||||||
WHERE issueexpertise.method_id = :id
|
WHERE issueexpertise.method_id = :id
|
||||||
|
|
||||||
-- :name list-issueexpertise-by-issue :? :*
|
-- :name list-issueexpertise-by-issue :? :*
|
||||||
-- :doc lists all existing issueexpertise records related to a given issue
|
-- :doc lists all existing issueexpertise records related to a given issue
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM issueexpertise
|
FROM issueexpertise
|
||||||
WHERE issueexpertise.issue_id = :id
|
WHERE issueexpertise.issue_id = :id
|
||||||
|
|
||||||
|
@ -681,13 +680,13 @@ SELECT * FROM rolememberships
|
||||||
|
|
||||||
-- :name list-rolememberships-by-canvasser :? :*
|
-- :name list-rolememberships-by-canvasser :? :*
|
||||||
-- :doc lists all existing rolemembership records related to a given canvasser
|
-- :doc lists all existing rolemembership records related to a given canvasser
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM rolememberships
|
FROM rolememberships
|
||||||
WHERE rolememberships.canvasser_id = :id
|
WHERE rolememberships.canvasser_id = :id
|
||||||
|
|
||||||
-- :name list-rolememberships-by-role :? :*
|
-- :name list-rolememberships-by-role :? :*
|
||||||
-- :doc lists all existing rolemembership records related to a given role
|
-- :doc lists all existing rolemembership records related to a given role
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM rolememberships
|
FROM rolememberships
|
||||||
WHERE rolememberships.role_id = :id
|
WHERE rolememberships.role_id = :id
|
||||||
|
|
||||||
|
@ -699,6 +698,15 @@ ORDER BY roles.name,
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (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
|
||||||
|
WHERE roles.members = link_roles_canvassers.role_id
|
||||||
|
AND link_roles_canvassers.canvasser_id = :id
|
||||||
|
ORDER BY roles.name,
|
||||||
|
roles.id
|
||||||
|
|
||||||
-- :name list-teammemberships :? :*
|
-- :name list-teammemberships :? :*
|
||||||
-- :doc lists all existing teammembership records
|
-- :doc lists all existing teammembership records
|
||||||
SELECT * FROM teammemberships
|
SELECT * FROM teammemberships
|
||||||
|
@ -707,13 +715,13 @@ SELECT * FROM teammemberships
|
||||||
|
|
||||||
-- :name list-teammemberships-by-canvasser :? :*
|
-- :name list-teammemberships-by-canvasser :? :*
|
||||||
-- :doc lists all existing teammembership records related to a given canvasser
|
-- :doc lists all existing teammembership records related to a given canvasser
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM teammemberships
|
FROM teammemberships
|
||||||
WHERE teammemberships.canvasser_id = :id
|
WHERE teammemberships.canvasser_id = :id
|
||||||
|
|
||||||
-- :name list-teammemberships-by-team :? :*
|
-- :name list-teammemberships-by-team :? :*
|
||||||
-- :doc lists all existing teammembership records related to a given team
|
-- :doc lists all existing teammembership records related to a given team
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM teammemberships
|
FROM teammemberships
|
||||||
WHERE teammemberships.team_id = :id
|
WHERE teammemberships.team_id = :id
|
||||||
|
|
||||||
|
@ -725,13 +733,13 @@ SELECT * FROM teamorganiserships
|
||||||
|
|
||||||
-- :name list-teamorganiserships-by-canvasser :? :*
|
-- :name list-teamorganiserships-by-canvasser :? :*
|
||||||
-- :doc lists all existing teamorganisership records related to a given canvasser
|
-- :doc lists all existing teamorganisership records related to a given canvasser
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM teamorganiserships
|
FROM teamorganiserships
|
||||||
WHERE teamorganiserships.canvasser_id = :id
|
WHERE teamorganiserships.canvasser_id = :id
|
||||||
|
|
||||||
-- :name list-teamorganiserships-by-team :? :*
|
-- :name list-teamorganiserships-by-team :? :*
|
||||||
-- :doc lists all existing teamorganisership records related to a given team
|
-- :doc lists all existing teamorganisership records related to a given team
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM teamorganiserships
|
FROM teamorganiserships
|
||||||
WHERE teamorganiserships.team_id = :id
|
WHERE teamorganiserships.team_id = :id
|
||||||
|
|
||||||
|
@ -743,9 +751,18 @@ ORDER BY teams.name,
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (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
|
||||||
|
WHERE teams.members = link_teams_canvassers.team_id
|
||||||
|
AND link_teams_canvassers.canvasser_id = :id
|
||||||
|
ORDER BY teams.name,
|
||||||
|
teams.id
|
||||||
|
|
||||||
-- :name list-teams-by-district :? :*
|
-- :name list-teams-by-district :? :*
|
||||||
-- :doc lists all existing team records related to a given district
|
-- :doc lists all existing team records related to a given district
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM teams
|
FROM teams
|
||||||
WHERE teams.district_id = :id
|
WHERE teams.district_id = :id
|
||||||
ORDER BY teams.name,
|
ORDER BY teams.name,
|
||||||
|
@ -759,20 +776,20 @@ SELECT * FROM visits
|
||||||
|
|
||||||
-- :name list-visits-by-address :? :*
|
-- :name list-visits-by-address :? :*
|
||||||
-- :doc lists all existing visit records related to a given address
|
-- :doc lists all existing visit records related to a given address
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM visits
|
FROM visits
|
||||||
WHERE visits.address_id = :id
|
WHERE visits.address_id = :id
|
||||||
|
|
||||||
-- :name list-visits-by-canvasser :? :*
|
-- :name list-visits-by-canvasser :? :*
|
||||||
-- :doc lists all existing visit records related to a given canvasser
|
-- :doc lists all existing visit records related to a given canvasser
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM visits
|
FROM visits
|
||||||
WHERE visits.canvasser_id = :id
|
WHERE visits.canvasser_id = :id
|
||||||
|
|
||||||
-- :name search-strings-address :? :1
|
-- :name search-strings-address :? :1
|
||||||
-- :doc selects existing address records having any string field matching `:pattern` by substring match
|
-- :doc selects existing address records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM addresses
|
SELECT * FROM addresses
|
||||||
WHERE
|
WHERE
|
||||||
address LIKE '%:pattern%'
|
address LIKE '%:pattern%'
|
||||||
OR phone LIKE '%:pattern%'
|
OR phone LIKE '%:pattern%'
|
||||||
ORDER BY addresses.address,
|
ORDER BY addresses.address,
|
||||||
|
@ -784,7 +801,7 @@ ORDER BY addresses.address,
|
||||||
-- :name search-strings-authority :? :1
|
-- :name search-strings-authority :? :1
|
||||||
-- :doc selects existing authority records having any string field matching `:pattern` by substring match
|
-- :doc selects existing authority records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM authorities
|
SELECT * FROM authorities
|
||||||
WHERE
|
WHERE
|
||||||
id LIKE '%:pattern%'
|
id LIKE '%:pattern%'
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
@ -792,7 +809,7 @@ id LIKE '%:pattern%'
|
||||||
-- :name search-strings-canvasser :? :1
|
-- :name search-strings-canvasser :? :1
|
||||||
-- :doc selects existing canvasser records having any string field matching `:pattern` by substring match
|
-- :doc selects existing canvasser records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM canvassers
|
SELECT * FROM canvassers
|
||||||
WHERE
|
WHERE
|
||||||
username LIKE '%:pattern%'
|
username LIKE '%:pattern%'
|
||||||
OR fullname LIKE '%:pattern%'
|
OR fullname LIKE '%:pattern%'
|
||||||
OR phone LIKE '%:pattern%'
|
OR phone LIKE '%:pattern%'
|
||||||
|
@ -807,7 +824,7 @@ ORDER BY canvassers.username,
|
||||||
-- :name search-strings-district :? :1
|
-- :name search-strings-district :? :1
|
||||||
-- :doc selects existing district records having any string field matching `:pattern` by substring match
|
-- :doc selects existing district records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM districts
|
SELECT * FROM districts
|
||||||
WHERE
|
WHERE
|
||||||
name LIKE '%:pattern%'
|
name LIKE '%:pattern%'
|
||||||
ORDER BY districts.name,
|
ORDER BY districts.name,
|
||||||
districts.id
|
districts.id
|
||||||
|
@ -817,7 +834,7 @@ ORDER BY districts.name,
|
||||||
-- :name search-strings-dwelling :? :1
|
-- :name search-strings-dwelling :? :1
|
||||||
-- :doc selects existing dwelling records having any string field matching `:pattern` by substring match
|
-- :doc selects existing dwelling records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM dwellings
|
SELECT * FROM dwellings
|
||||||
WHERE
|
WHERE
|
||||||
sub-address LIKE '%:pattern%'
|
sub-address LIKE '%:pattern%'
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
@ -825,7 +842,7 @@ sub-address LIKE '%:pattern%'
|
||||||
-- :name search-strings-elector :? :1
|
-- :name search-strings-elector :? :1
|
||||||
-- :doc selects existing elector records having any string field matching `:pattern` by substring match
|
-- :doc selects existing elector records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM electors
|
SELECT * FROM electors
|
||||||
WHERE
|
WHERE
|
||||||
name LIKE '%:pattern%'
|
name LIKE '%:pattern%'
|
||||||
OR phone LIKE '%:pattern%'
|
OR phone LIKE '%:pattern%'
|
||||||
OR email LIKE '%:pattern%'
|
OR email LIKE '%:pattern%'
|
||||||
|
@ -839,7 +856,7 @@ ORDER BY electors.name,
|
||||||
-- :name search-strings-followupaction :? :1
|
-- :name search-strings-followupaction :? :1
|
||||||
-- :doc selects existing followupaction records having any string field matching `:pattern` by substring match
|
-- :doc selects existing followupaction records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM followupactions
|
SELECT * FROM followupactions
|
||||||
WHERE
|
WHERE
|
||||||
notes LIKE '%:pattern%'
|
notes LIKE '%:pattern%'
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
@ -847,7 +864,7 @@ notes LIKE '%:pattern%'
|
||||||
-- :name search-strings-followupmethod :? :1
|
-- :name search-strings-followupmethod :? :1
|
||||||
-- :doc selects existing followupmethod records having any string field matching `:pattern` by substring match
|
-- :doc selects existing followupmethod records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM followupmethods
|
SELECT * FROM followupmethods
|
||||||
WHERE
|
WHERE
|
||||||
id LIKE '%:pattern%'
|
id LIKE '%:pattern%'
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
@ -855,14 +872,14 @@ id LIKE '%:pattern%'
|
||||||
-- :name search-strings-followuprequest :? :1
|
-- :name search-strings-followuprequest :? :1
|
||||||
-- :doc selects existing followuprequest records having any string field matching `:pattern` by substring match
|
-- :doc selects existing followuprequest records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM followuprequests
|
SELECT * FROM followuprequests
|
||||||
WHERE
|
WHERE
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
|
||||||
-- :name search-strings-gender :? :1
|
-- :name search-strings-gender :? :1
|
||||||
-- :doc selects existing gender records having any string field matching `:pattern` by substring match
|
-- :doc selects existing gender records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM genders
|
SELECT * FROM genders
|
||||||
WHERE
|
WHERE
|
||||||
id LIKE '%:pattern%'
|
id LIKE '%:pattern%'
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
@ -870,14 +887,14 @@ id LIKE '%:pattern%'
|
||||||
-- :name search-strings-intention :? :1
|
-- :name search-strings-intention :? :1
|
||||||
-- :doc selects existing intention records having any string field matching `:pattern` by substring match
|
-- :doc selects existing intention records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM intentions
|
SELECT * FROM intentions
|
||||||
WHERE
|
WHERE
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
|
||||||
-- :name search-strings-issue :? :1
|
-- :name search-strings-issue :? :1
|
||||||
-- :doc selects existing issue records having any string field matching `:pattern` by substring match
|
-- :doc selects existing issue records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM issues
|
SELECT * FROM issues
|
||||||
WHERE
|
WHERE
|
||||||
url LIKE '%:pattern%'
|
url LIKE '%:pattern%'
|
||||||
OR id LIKE '%:pattern%'
|
OR id LIKE '%:pattern%'
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
|
@ -886,14 +903,14 @@ url LIKE '%:pattern%'
|
||||||
-- :name search-strings-issueexpertise :? :1
|
-- :name search-strings-issueexpertise :? :1
|
||||||
-- :doc selects existing issueexpertise records having any string field matching `:pattern` by substring match
|
-- :doc selects existing issueexpertise records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM issueexpertise
|
SELECT * FROM issueexpertise
|
||||||
WHERE
|
WHERE
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
|
||||||
-- :name search-strings-option :? :1
|
-- :name search-strings-option :? :1
|
||||||
-- :doc selects existing option records having any string field matching `:pattern` by substring match
|
-- :doc selects existing option records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM options
|
SELECT * FROM options
|
||||||
WHERE
|
WHERE
|
||||||
id LIKE '%:pattern%'
|
id LIKE '%:pattern%'
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
@ -901,7 +918,7 @@ id LIKE '%:pattern%'
|
||||||
-- :name search-strings-role :? :1
|
-- :name search-strings-role :? :1
|
||||||
-- :doc selects existing role records having any string field matching `:pattern` by substring match
|
-- :doc selects existing role records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM roles
|
SELECT * FROM roles
|
||||||
WHERE
|
WHERE
|
||||||
name LIKE '%:pattern%'
|
name LIKE '%:pattern%'
|
||||||
ORDER BY roles.name,
|
ORDER BY roles.name,
|
||||||
roles.id
|
roles.id
|
||||||
|
@ -911,14 +928,14 @@ ORDER BY roles.name,
|
||||||
-- :name search-strings-rolemembership :? :1
|
-- :name search-strings-rolemembership :? :1
|
||||||
-- :doc selects existing rolemembership records having any string field matching `:pattern` by substring match
|
-- :doc selects existing rolemembership records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM rolememberships
|
SELECT * FROM rolememberships
|
||||||
WHERE
|
WHERE
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
|
||||||
-- :name search-strings-team :? :1
|
-- :name search-strings-team :? :1
|
||||||
-- :doc selects existing team records having any string field matching `:pattern` by substring match
|
-- :doc selects existing team records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM teams
|
SELECT * FROM teams
|
||||||
WHERE
|
WHERE
|
||||||
name LIKE '%:pattern%'
|
name LIKE '%:pattern%'
|
||||||
ORDER BY teams.name,
|
ORDER BY teams.name,
|
||||||
teams.id
|
teams.id
|
||||||
|
@ -928,21 +945,21 @@ ORDER BY teams.name,
|
||||||
-- :name search-strings-teammembership :? :1
|
-- :name search-strings-teammembership :? :1
|
||||||
-- :doc selects existing teammembership records having any string field matching `:pattern` by substring match
|
-- :doc selects existing teammembership records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM teammemberships
|
SELECT * FROM teammemberships
|
||||||
WHERE
|
WHERE
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
|
||||||
-- :name search-strings-teamorganisership :? :1
|
-- :name search-strings-teamorganisership :? :1
|
||||||
-- :doc selects existing teamorganisership records having any string field matching `:pattern` by substring match
|
-- :doc selects existing teamorganisership records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM teamorganiserships
|
SELECT * FROM teamorganiserships
|
||||||
WHERE
|
WHERE
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
|
||||||
-- :name search-strings-visit :? :1
|
-- :name search-strings-visit :? :1
|
||||||
-- :doc selects existing visit records having any string field matching `:pattern` by substring match
|
-- :doc selects existing visit records having any string field matching `:pattern` by substring match
|
||||||
SELECT * FROM visits
|
SELECT * FROM visits
|
||||||
WHERE
|
WHERE
|
||||||
--~ (if (:offset params) "OFFSET :offset ")
|
--~ (if (:offset params) "OFFSET :offset ")
|
||||||
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
|
||||||
|
|
||||||
|
@ -967,8 +984,7 @@ SET username = :username,
|
||||||
phone = :phone,
|
phone = :phone,
|
||||||
email = :email,
|
email = :email,
|
||||||
authority_id = :authority_id,
|
authority_id = :authority_id,
|
||||||
authorised = :authorised,
|
authorised = :authorised
|
||||||
roles = :roles
|
|
||||||
WHERE canvassers.id = :id
|
WHERE canvassers.id = :id
|
||||||
|
|
||||||
-- :name update-district! :! :n
|
-- :name update-district! :! :n
|
||||||
|
@ -1079,4 +1095,4 @@ UPDATE visits
|
||||||
SET address_id = :address_id,
|
SET address_id = :address_id,
|
||||||
canvasser_id = :canvasser_id,
|
canvasser_id = :canvasser_id,
|
||||||
date = :date
|
date = :date
|
||||||
WHERE visits.id = :id
|
WHERE visits.id = :id
|
|
@ -1,8 +1,8 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
<link rel="stylesheet" type="text/css" href="css/yyy-common.css" />
|
<link rel="stylesheet" type="text/css" href="css/yyy-common.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="css/yyy-site.css" />
|
<link rel="stylesheet" type="text/css" href="css/yyy-site.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="css/spinner.css" />
|
<link rel="stylesheet" type="text/css" href="css/spinner.css" />
|
||||||
|
@ -11,6 +11,7 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{% block whole-page %}
|
{% block whole-page %}
|
||||||
|
{% block top %}
|
||||||
<header>
|
<header>
|
||||||
<div id="nav">
|
<div id="nav">
|
||||||
<img id="nav-icon" src="img/threelines.png" alt="Menu"/>
|
<img id="nav-icon" src="img/threelines.png" alt="Menu"/>
|
||||||
|
@ -31,7 +32,7 @@
|
||||||
{{title}}
|
{{title}}
|
||||||
</h1>
|
</h1>
|
||||||
</header>
|
</header>
|
||||||
|
{% endblock %}
|
||||||
<div id="main-container" class="container">
|
<div id="main-container" class="container">
|
||||||
<div id="big-links">
|
<div id="big-links">
|
||||||
{% block big-links %}
|
{% block big-links %}
|
||||||
|
@ -45,6 +46,7 @@
|
||||||
<a href="javascript:history.back()" id="back-link">Back</a>
|
<a href="javascript:history.back()" id="back-link">Back</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{% block foot %}
|
||||||
<footer>
|
<footer>
|
||||||
<div id="credits">
|
<div id="credits">
|
||||||
<div>
|
<div>
|
||||||
|
@ -62,6 +64,7 @@
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
{% endblock %}
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var context = "{{servlet-context}}";
|
var context = "{{servlet-context}}";
|
||||||
var csrfToken = "{{csrf-token}}";
|
var csrfToken = "{{csrf-token}}";
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
list-addresses-by-district
|
list-addresses-by-district
|
||||||
list-authorities
|
list-authorities
|
||||||
list-canvassers
|
list-canvassers
|
||||||
list-canvassers-by-addresse
|
list-canvassers-by-address
|
||||||
list-canvassers-by-authoritie
|
list-canvassers-by-authoritie
|
||||||
list-canvassers-by-elector
|
list-canvassers-by-elector
|
||||||
list-districts
|
list-districts
|
||||||
|
@ -110,7 +110,7 @@
|
||||||
|
|
||||||
(defroutes
|
(defroutes
|
||||||
auto-rest-routes
|
auto-rest-routes
|
||||||
(POST "/json/auto/create-addresse" request (create-address request))
|
(POST "/json/auto/create-address" request (create-address request))
|
||||||
(POST
|
(POST
|
||||||
"/json/auto/create-authority"
|
"/json/auto/create-authority"
|
||||||
request
|
request
|
||||||
|
@ -162,7 +162,7 @@
|
||||||
request
|
request
|
||||||
(create-teamorganisership request))
|
(create-teamorganisership request))
|
||||||
(POST "/json/auto/create-visit" request (create-visit request))
|
(POST "/json/auto/create-visit" request (create-visit request))
|
||||||
(POST "/json/auto/delete-addresse" request (delete-address request))
|
(POST "/json/auto/delete-address" request (delete-address request))
|
||||||
(POST
|
(POST
|
||||||
"/json/auto/delete-authority"
|
"/json/auto/delete-authority"
|
||||||
request
|
request
|
||||||
|
@ -188,7 +188,7 @@
|
||||||
(POST "/json/auto/delete-issue" request (delete-issue request))
|
(POST "/json/auto/delete-issue" request (delete-issue request))
|
||||||
(POST "/json/auto/delete-option" request (delete-option request))
|
(POST "/json/auto/delete-option" request (delete-option request))
|
||||||
(POST "/json/auto/delete-visit" request (delete-visit request))
|
(POST "/json/auto/delete-visit" request (delete-visit request))
|
||||||
(POST "/json/auto/get-addresse" request (get-addresse request))
|
(POST "/json/auto/get-address" request (get-address request))
|
||||||
(POST "/json/auto/get-authority" request (get-authority request))
|
(POST "/json/auto/get-authority" request (get-authority request))
|
||||||
(POST "/json/auto/get-canvasser" request (get-canvasser request))
|
(POST "/json/auto/get-canvasser" request (get-canvasser request))
|
||||||
(POST "/json/auto/get-district" request (get-district request))
|
(POST "/json/auto/get-district" request (get-district request))
|
||||||
|
@ -216,9 +216,9 @@
|
||||||
(GET "/json/auto/list-authorities" request (list-authorities request))
|
(GET "/json/auto/list-authorities" request (list-authorities request))
|
||||||
(GET "/json/auto/list-canvassers" request (list-canvassers request))
|
(GET "/json/auto/list-canvassers" request (list-canvassers request))
|
||||||
(GET
|
(GET
|
||||||
"/json/auto/list-canvassers-by-addresse"
|
"/json/auto/list-canvassers-by-address"
|
||||||
request
|
request
|
||||||
(list-canvassers-by-addresse request))
|
(list-canvassers-by-address request))
|
||||||
(GET
|
(GET
|
||||||
"/json/auto/list-canvassers-by-authoritie"
|
"/json/auto/list-canvassers-by-authoritie"
|
||||||
request
|
request
|
||||||
|
@ -230,9 +230,9 @@
|
||||||
(GET "/json/auto/list-districts" request (list-districts request))
|
(GET "/json/auto/list-districts" request (list-districts request))
|
||||||
(GET "/json/auto/list-electors" request (list-electors request))
|
(GET "/json/auto/list-electors" request (list-electors request))
|
||||||
(GET
|
(GET
|
||||||
"/json/auto/list-electors-by-addresse"
|
"/json/auto/list-electors-by-address"
|
||||||
request
|
request
|
||||||
(list-electors-by-addresse request))
|
(list-electors-by-address request))
|
||||||
(GET
|
(GET
|
||||||
"/json/auto/list-followupactions"
|
"/json/auto/list-followupactions"
|
||||||
request
|
request
|
||||||
|
@ -355,14 +355,14 @@
|
||||||
(list-teams-by-district request))
|
(list-teams-by-district request))
|
||||||
(GET "/json/auto/list-visits" request (list-visits request))
|
(GET "/json/auto/list-visits" request (list-visits request))
|
||||||
(GET
|
(GET
|
||||||
"/json/auto/list-visits-by-addresse"
|
"/json/auto/list-visits-by-address"
|
||||||
request
|
request
|
||||||
(list-visits-by-addresse request))
|
(list-visits-by-address request))
|
||||||
(GET
|
(GET
|
||||||
"/json/auto/list-visits-by-canvasser"
|
"/json/auto/list-visits-by-canvasser"
|
||||||
request
|
request
|
||||||
(list-visits-by-canvasser request))
|
(list-visits-by-canvasser request))
|
||||||
(POST "/json/auto/update-addresse" request (update-addresse request))
|
(POST "/json/auto/update-address" request (update-address request))
|
||||||
(POST
|
(POST
|
||||||
"/json/auto/update-canvasser"
|
"/json/auto/update-canvasser"
|
||||||
request
|
request
|
||||||
|
@ -603,10 +603,10 @@
|
||||||
|
|
||||||
|
|
||||||
(defn
|
(defn
|
||||||
get-addresse
|
get-address
|
||||||
"Auto-generated method to select one record from the addresses table. Expects the following key(s) to be present in `params`: (:id). Returns a map containing the following keys: (:address :district_id :id :latitude :longitude :phone :postcode)."
|
"Auto-generated method to select one record from the addresses table. Expects the following key(s) to be present in `params`: (:id). Returns a map containing the following keys: (:address :district_id :id :latitude :longitude :phone :postcode)."
|
||||||
[{:keys [params]}]
|
[{:keys [params]}]
|
||||||
(do (db/get-addresse params)))
|
(do (db/get-address params)))
|
||||||
|
|
||||||
|
|
||||||
(defn
|
(defn
|
||||||
|
@ -707,9 +707,9 @@
|
||||||
|
|
||||||
|
|
||||||
(defn
|
(defn
|
||||||
list-canvassers-by-addresse
|
list-canvassers-by-address
|
||||||
[{:keys [params]}]
|
[{:keys [params]}]
|
||||||
(do (db/list-canvassers-by-addresse params)))
|
(do (db/list-canvassers-by-address params)))
|
||||||
|
|
||||||
|
|
||||||
(defn
|
(defn
|
||||||
|
@ -739,9 +739,9 @@
|
||||||
|
|
||||||
|
|
||||||
(defn
|
(defn
|
||||||
list-electors-by-addresse
|
list-electors-by-address
|
||||||
[{:keys [params]}]
|
[{:keys [params]}]
|
||||||
(do (db/list-electors-by-addresse params)))
|
(do (db/list-electors-by-address params)))
|
||||||
|
|
||||||
|
|
||||||
(defn
|
(defn
|
||||||
|
@ -958,9 +958,9 @@
|
||||||
|
|
||||||
|
|
||||||
(defn
|
(defn
|
||||||
list-visits-by-addresse
|
list-visits-by-address
|
||||||
[{:keys [params]}]
|
[{:keys [params]}]
|
||||||
(do (db/list-visits-by-addresse params)))
|
(do (db/list-visits-by-address params)))
|
||||||
|
|
||||||
|
|
||||||
(defn
|
(defn
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
[session (:session request)
|
[session (:session request)
|
||||||
username (:user session)
|
username (:user session)
|
||||||
user (if username (db-core/get-canvasser-by-username db-core/*db* {:username username}))
|
user (if username (db-core/get-canvasser-by-username db-core/*db* {:username username}))
|
||||||
roles (if user (db-core/get-roles-by-canvasser db-core/*db* {:canvasser (:id user)}))]
|
roles (if user (db-core/list-roles-by-canvasser db-core/*db* {:id (:id user)}))]
|
||||||
(cond
|
(cond
|
||||||
roles (layout/render "roles.html"
|
roles (layout/render "roles.html"
|
||||||
{:title (str "Welcome " (:fullname user) ", what do you want to do?")
|
{:title (str "Welcome " (:fullname user) ", what do you want to do?")
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
"http://www.journeyman.cc/adl/stable/adl/schemas/adl-1.4.1.dtd" -->
|
"http://www.journeyman.cc/adl/stable/adl/schemas/adl-1.4.1.dtd" -->
|
||||||
<application name="youyesyet" version="0.1.1"
|
<application name="youyesyet" version="0.1.1"
|
||||||
xmlns="http://bowyer.journeyman.cc/adl/1.4.1/"
|
xmlns="http://bowyer.journeyman.cc/adl/1.4.1/"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
xmlns:adl="http://bowyer.journeyman.cc/adl/1.4.1/">
|
xmlns:adl="http://bowyer.journeyman.cc/adl/1.4.1/">
|
||||||
<documentation>
|
<documentation>
|
||||||
A web-app intended to be used by canvassers campaigning for a 'Yes' vote in the second independence referendum.
|
A web-app intended to be used by canvassers campaigning for a 'Yes' vote in the second independence referendum.
|
||||||
|
@ -12,9 +13,34 @@
|
||||||
There must also 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.
|
There must also 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.
|
||||||
</documentation>
|
</documentation>
|
||||||
<content>
|
<content>
|
||||||
<head> </head>
|
<head>
|
||||||
|
<html:meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||||
|
<html:meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<html:link rel="stylesheet" type="text/css" href="css/yyy-common.css" />
|
||||||
|
<html:link rel="stylesheet" type="text/css" href="css/yyy-site.css" />
|
||||||
|
<html:link rel="stylesheet" type="text/css" href="css/spinner.css" />
|
||||||
|
<html:link href="https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow" rel="stylesheet"/>
|
||||||
|
<html:title>{{site-title}}: {{title}}</html:title>
|
||||||
|
</head>
|
||||||
<top> </top>
|
<top> </top>
|
||||||
<foot> </foot>
|
<foot>
|
||||||
|
<html:footer>
|
||||||
|
<html:div id="credits">
|
||||||
|
<html:div>
|
||||||
|
<html:img src="img/credits/ric-logo.png" width="24" height="24"/>
|
||||||
|
A project of the
|
||||||
|
<html:a href="https://radical.scot/">Radical Independence Campaign</html:a> ||
|
||||||
|
Version {{version}}
|
||||||
|
</html:div>
|
||||||
|
<html:div>
|
||||||
|
<html:img height="16" width="16" alt="Clojure" src="img/credits/luminus-logo.png"/>Built with <html:a href="http://www.luminusweb.net/">LuminusWeb</html:a> ||
|
||||||
|
<html:img height="16" width="16" alt="Clojure" src="img/credits/clojure-icon.gif"/> Powered by <html:a href="http://clojure.org">Clojure</html:a> ||
|
||||||
|
<html:img height="16" width="16" alt="GitHub" src="img/credits/github-logo-transparent.png"/>Find me/fork me on <html:a href="https://github.com/simon-brooke/smeagol">Github</html:a> ||
|
||||||
|
<html:img height="16" width="16" alt="Free Software Foundation" src="img/credits/gnu.small.png"/>Licensed under the <html:a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License version 2.0</html:a>
|
||||||
|
</html:div>
|
||||||
|
</html:div>
|
||||||
|
</html:footer>
|
||||||
|
</foot>
|
||||||
</content>
|
</content>
|
||||||
<typedef name="postcode" type="string"
|
<typedef name="postcode" type="string"
|
||||||
pattern="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$" size="16">
|
pattern="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$" size="16">
|
||||||
|
@ -143,7 +169,7 @@
|
||||||
<prompt prompt="id" locale="en-GB"/>
|
<prompt prompt="id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
</key>
|
</key>
|
||||||
<property required="true" type="integer" name="address_id" column="address_id"
|
<property required="true" type="entity" name="address_id" column="address_id"
|
||||||
entity="addresses" farkey="id">
|
entity="addresses" farkey="id">
|
||||||
<prompt prompt="address_id" locale="en-GB"/>
|
<prompt prompt="address_id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
|
@ -218,7 +244,7 @@
|
||||||
<property type="entity" name="elector_id" column="elector_id" entity="electors" farkey="id">
|
<property type="entity" name="elector_id" column="elector_id" entity="electors" farkey="id">
|
||||||
<prompt prompt="elector_id" locale="en-GB"/>
|
<prompt prompt="elector_id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
<property required="true" type="integer" name="address_id" column="address_id"
|
<property required="true" type="entity" name="address_id" column="address_id"
|
||||||
entity="addresses" farkey="id">
|
entity="addresses" farkey="id">
|
||||||
<prompt prompt="address_id" locale="en-GB"/>
|
<prompt prompt="address_id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
|
@ -369,7 +395,7 @@
|
||||||
entity="followuprequests" farkey="id">
|
entity="followuprequests" farkey="id">
|
||||||
<prompt prompt="request_id" locale="en-GB"/>
|
<prompt prompt="request_id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
<property required="true" type="integer" name="actor" column="actor" entity="canvassers"
|
<property required="true" type="entity" name="actor" column="actor" entity="canvassers"
|
||||||
farkey="id">
|
farkey="id">
|
||||||
<prompt prompt="actor" locale="en-GB"/>
|
<prompt prompt="actor" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
|
@ -392,7 +418,7 @@
|
||||||
</entity>
|
</entity>
|
||||||
<entity name="issueexpertise" magnitude="5">
|
<entity name="issueexpertise" magnitude="5">
|
||||||
<documentation>Link table</documentation>
|
<documentation>Link table</documentation>
|
||||||
<property required="true" type="integer" name="canvasser_id" column="canvasser_id"
|
<property required="true" type="entity" name="canvasser_id" column="canvasser_id"
|
||||||
entity="canvassers" farkey="id">
|
entity="canvassers" farkey="id">
|
||||||
<prompt prompt="canvasser_id" locale="en-GB"/>
|
<prompt prompt="canvasser_id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!-- DOCTYPE application PUBLIC "-//JOURNEYMAN//DTD ADL 1.4.1//EN"
|
<!-- DOCTYPE application PUBLIC "-//JOURNEYMAN//DTD ADL 1.4.1//EN"
|
||||||
"http://www.journeyman.cc/adl/stable/adl/schemas/adl-1.4.1.dtd" -->
|
"http://www.journeyman.cc/adl/stable/adl/schemas/adl-1.4.1.dtd" -->
|
||||||
<application xmlns="http://bowyer.journeyman.cc/adl/1.4.1/" xmlns:adl="http://bowyer.journeyman.cc/adl/1.4.1/" name="youyesyet" version="0.1.1">
|
<application xmlns="http://bowyer.journeyman.cc/adl/1.4.1/" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:adl="http://bowyer.journeyman.cc/adl/1.4.1/" name="youyesyet" version="0.1.1">
|
||||||
<!--
|
<!--
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
*
|
*
|
||||||
|
@ -22,9 +22,34 @@
|
||||||
There must also 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.
|
There must also 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.
|
||||||
</documentation>
|
</documentation>
|
||||||
<content>
|
<content>
|
||||||
<head> </head>
|
<head>
|
||||||
|
<html:meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||||
|
<html:meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<html:link rel="stylesheet" type="text/css" href="css/yyy-common.css"/>
|
||||||
|
<html:link rel="stylesheet" type="text/css" href="css/yyy-site.css"/>
|
||||||
|
<html:link rel="stylesheet" type="text/css" href="css/spinner.css"/>
|
||||||
|
<html:link href="https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow" rel="stylesheet"/>
|
||||||
|
<html:title>{{site-title}}: {{title}}</html:title>
|
||||||
|
</head>
|
||||||
<top> </top>
|
<top> </top>
|
||||||
<foot> </foot>
|
<foot>
|
||||||
|
<html:footer>
|
||||||
|
<html:div id="credits">
|
||||||
|
<html:div>
|
||||||
|
<html:img src="img/credits/ric-logo.png" width="24" height="24"/>
|
||||||
|
A project of the
|
||||||
|
<html:a href="https://radical.scot/">Radical Independence Campaign</html:a> ||
|
||||||
|
Version {{version}}
|
||||||
|
</html:div>
|
||||||
|
<html:div>
|
||||||
|
<html:img height="16" width="16" alt="Clojure" src="img/credits/luminus-logo.png"/>Built with <html:a href="http://www.luminusweb.net/">LuminusWeb</html:a> ||
|
||||||
|
<html:img height="16" width="16" alt="Clojure" src="img/credits/clojure-icon.gif"/> Powered by <html:a href="http://clojure.org">Clojure</html:a> ||
|
||||||
|
<html:img height="16" width="16" alt="GitHub" src="img/credits/github-logo-transparent.png"/>Find me/fork me on <html:a href="https://github.com/simon-brooke/smeagol">Github</html:a> ||
|
||||||
|
<html:img height="16" width="16" alt="Free Software Foundation" src="img/credits/gnu.small.png"/>Licensed under the <html:a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License version 2.0</html:a>
|
||||||
|
</html:div>
|
||||||
|
</html:div>
|
||||||
|
</html:footer>
|
||||||
|
</foot>
|
||||||
</content>
|
</content>
|
||||||
<typedef name="postcode" type="string" pattern="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$" size="16">
|
<typedef name="postcode" type="string" pattern="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$" size="16">
|
||||||
<documentation>See
|
<documentation>See
|
||||||
|
@ -177,7 +202,7 @@
|
||||||
<prompt prompt="id" locale="en-GB"/>
|
<prompt prompt="id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
</key>
|
</key>
|
||||||
<property required="true" type="integer" name="address_id" column="address_id" entity="addresses" farkey="id">
|
<property required="true" type="entity" name="address_id" column="address_id" entity="addresses" farkey="id">
|
||||||
<prompt prompt="address_id" locale="en-GB"/>
|
<prompt prompt="address_id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
<property required="true" type="entity" name="canvasser_id" column="canvasser_id" entity="canvassers" farkey="id">
|
<property required="true" type="entity" name="canvasser_id" column="canvasser_id" entity="canvassers" farkey="id">
|
||||||
|
@ -294,7 +319,7 @@
|
||||||
<property type="entity" name="elector_id" column="elector_id" entity="electors" farkey="id">
|
<property type="entity" name="elector_id" column="elector_id" entity="electors" farkey="id">
|
||||||
<prompt prompt="elector_id" locale="en-GB"/>
|
<prompt prompt="elector_id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
<property required="true" type="integer" name="address_id" column="address_id" entity="addresses" farkey="id">
|
<property required="true" type="entity" name="address_id" column="address_id" entity="addresses" farkey="id">
|
||||||
<prompt prompt="address_id" locale="en-GB"/>
|
<prompt prompt="address_id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
<property type="string" name="phone" column="phone" size="16">
|
<property type="string" name="phone" column="phone" size="16">
|
||||||
|
@ -484,7 +509,7 @@
|
||||||
<property required="true" type="entity" name="request_id" column="request_id" entity="followuprequests" farkey="id">
|
<property required="true" type="entity" name="request_id" column="request_id" entity="followuprequests" farkey="id">
|
||||||
<prompt prompt="request_id" locale="en-GB"/>
|
<prompt prompt="request_id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
<property required="true" type="integer" name="actor" column="actor" entity="canvassers" farkey="id">
|
<property required="true" type="entity" name="actor" column="actor" entity="canvassers" farkey="id">
|
||||||
<prompt prompt="actor" locale="en-GB"/>
|
<prompt prompt="actor" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
<property required="true" default="" type="timestamp" name="date" column="date">
|
<property required="true" default="" type="timestamp" name="date" column="date">
|
||||||
|
@ -517,7 +542,7 @@
|
||||||
</documentation>
|
</documentation>
|
||||||
</property>
|
</property>
|
||||||
</key>
|
</key>
|
||||||
<property required="true" type="integer" name="canvasser_id" column="canvasser_id" entity="canvassers" farkey="id">
|
<property required="true" type="entity" name="canvasser_id" column="canvasser_id" entity="canvassers" farkey="id">
|
||||||
<prompt prompt="canvasser_id" locale="en-GB"/>
|
<prompt prompt="canvasser_id" locale="en-GB"/>
|
||||||
</property>
|
</property>
|
||||||
<property required="true" type="entity" name="issue_id" column="issue_id" entity="issues" farkey="id">
|
<property required="true" type="entity" name="issue_id" column="issue_id" entity="issues" farkey="id">
|
||||||
|
|
Loading…
Reference in a new issue