I think I'm ready for public alpha.

This commit is contained in:
Simon Brooke 2018-07-18 23:01:52 +01:00
parent 325ad7ed67
commit 542ce9f56d
5 changed files with 244 additions and 366 deletions

View file

@ -42,7 +42,7 @@ del {
}
div.content, form, p, pre, h1, h2, h3, h4, h5 {
padding: 0.25em 5%;
padding: 0.25em 2.5%;
}
dl, menu, ol, table, ul {
@ -346,7 +346,7 @@ th {
/* desktops and laptops, primarily. Adapted to mouse; targets may be small */
@media all and (min-device-width: 1025px) {
#content {
width: 80%;
width: 90%;
float: right;
padding-bottom: 5em;
}

View file

@ -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 20180717T075810.523Z
--
-- Database definition for application
--
-- youyesyet version 0.1.1
--
-- auto-generated by [Application Description Language framework]
--
-- (https://github.com/simon-brooke/adl) at 20180718T215811.044Z
--
-- 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
(
@ -225,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
(
@ -256,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
(
@ -281,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
(
@ -301,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
(
@ -326,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
(
@ -346,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
(
@ -368,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
(
@ -393,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
(
@ -413,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
(
@ -435,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
(
@ -458,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
(
@ -483,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,
@ -506,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,
@ -526,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,
@ -557,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,
@ -573,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,
@ -591,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,
@ -615,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,
@ -634,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,
@ -657,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
@ -672,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,
@ -699,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
@ -713,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,
@ -735,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,
@ -752,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
@ -766,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,
@ -781,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,
@ -801,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 ||', ' || canvassers.phone ||', '|| canvassers.email AS canvasser_id_expanded,
canvassers.username ||', '|| canvassers.fullname ||', '|| addresses.address ||', '|| addresses.postcode ||', '|| canvassers.phone ||', '|| canvassers.email AS canvasser_id_expanded,
visits.canvasser_id,
visits.date,
visits.id
@ -822,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
(
@ -942,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
(
@ -974,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
(
@ -1004,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
(
@ -1034,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
(
@ -1062,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
(
@ -1092,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
(
@ -1122,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 ;
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 ;

View file

@ -67,8 +67,8 @@
(GET "/roles/admin" request (route/restricted (admins-page request)))
(GET "/roles/analysts" request (route/restricted (analysts-page request)))
(GET "/roles/canvassers" request (route/restricted (canvassers-page request)))
(GET "/roles/issue_editors" request (route/restricted (auto/list-issues-Issues request)))
(GET "/roles/issue_experts" request (route/restricted (expert/list-page request)))
(GET "/roles/issueeditors" request (route/restricted (auto/list-issues-Issues request)))
(GET "/roles/issueexperts" request (route/restricted (expert/list-page request)))
(GET "/roles/team_organisers" request (route/restricted (auto/list-teams-Teams request)))
(GET "/roles" request (route/restricted (roles-page request))))

View file

@ -99,24 +99,12 @@ version="0.1.1">
Null if they have not.</documentation>
</property>
<list properties="listed" name="Electors">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="name">
<prompt prompt="Name" locale="en_GB.UTF-8"/>
</field>
<field property="dwelling_id">
<prompt prompt="Home" locale="en_GB.UTF-8"/>
</field>
<field property="phone">
<prompt prompt="Phone" locale="en_GB.UTF-8"/>
</field>
<field property="email">
<prompt prompt="eMail" locale="en_GB.UTF-8"/>
</field>
<field property="gender">
<prompt prompt="Gender" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="Elector">
<field property="id">
@ -203,9 +191,6 @@ version="0.1.1">
</documentation>
</property>
<list properties="listed" name="Dwellings">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="address_id">
<prompt prompt="Building Address" locale="en_GB.UTF-8"/>
</field>
@ -214,9 +199,6 @@ version="0.1.1">
</field>
</list>
<form properties="listed" name="Dwelling">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="address_id">
<prompt prompt="Building Address" locale="en_GB.UTF-8"/>
</field>
@ -277,27 +259,15 @@ version="0.1.1">
users.</documentation>
</property>
<list properties="listed" name="Addresses">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="address">
<prompt prompt="Address" locale="en_GB.UTF-8"/>
</field>
<field property="postcode">
<prompt prompt="Postcode" locale="en_GB.UTF-8"/>
</field>
<field property="phone">
<prompt prompt="Phone" locale="en_GB.UTF-8"/>
</field>
<field property="district_id">
<prompt prompt="District" locale="en_GB.UTF-8"/>
</field>
<field property="latitude">
<prompt prompt="Latitude" locale="en_GB.UTF-8"/>
</field>
<field property="longitude">
<prompt prompt="Longitude" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="Address">
<field property="id">
@ -369,9 +339,6 @@ version="0.1.1">
<permission group="issueeditors" permission="read"/>
<permission group="admin" permission="noedit"/>
<list properties="listed" name="Visits">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="address_id">
<prompt prompt="Address" locale="en_GB.UTF-8"/>
</field>
@ -428,12 +395,10 @@ version="0.1.1">
<property name="consumer-secret" type="string" size="256"
required="true"/>
<list name="Authorities" properties="listed">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>#
<field property="request-token-uri"/>
<field property="access-token-uri"/>
<field property="authorize-uri"/></list>
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="Authority">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
@ -550,13 +515,13 @@ version="0.1.1">
<permission group="admin" permission="noedit"/>
<list properties="listed" name="Intentions">
<field property="visit_id">
<prompt prompt="visit_id" locale="en_GB.UTF-8"/>
<prompt prompt="visit" locale="en_GB.UTF-8"/>
</field>
<field property="elector_id">
<prompt prompt="elector_id" locale="en_GB.UTF-8"/>
<prompt prompt="elector" locale="en_GB.UTF-8"/>
</field>
<field property="option_id">
<prompt prompt="option_id" locale="en_GB.UTF-8"/>
<prompt prompt="option" locale="en_GB.UTF-8"/>
</field>
<field property="locality">
<documentation>The locality at which the intention was
@ -654,21 +619,15 @@ version="0.1.1">
<documentation>All canvassers</documentation>
</permission>
<list properties="listed" name="Canvassers">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="username">
<prompt prompt="username" locale="en_GB.UTF-8"/>
</field>
<field property="fullname">
<prompt prompt="fullname" locale="en_GB.UTF-8"/>
<prompt prompt="full name" locale="en_GB.UTF-8"/>
</field>
<field property="address_id">
<prompt prompt="address" locale="en_GB.UTF-8"/>
</field>
<field property="authority_id">
<prompt prompt="authority_id" locale="en_GB.UTF-8"/>
</field>
<field property="authorised">
<prompt prompt="authorised" locale="en_GB.UTF-8"/>
</field>
@ -746,20 +705,17 @@ version="0.1.1">
<prompt prompt="method_id" locale="en_GB.UTF-8"/>
</property>
<list properties="listed" name="Followuprequests">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="elector_id">
<prompt prompt="elector_id" locale="en_GB.UTF-8"/>
<prompt prompt="elector" locale="en_GB.UTF-8"/>
</field>
<field property="visit_id">
<prompt prompt="visit_id" locale="en_GB.UTF-8"/>
<prompt prompt="visit" locale="en_GB.UTF-8"/>
</field>
<field property="issue_id">
<prompt prompt="issue_id" locale="en_GB.UTF-8"/>
<prompt prompt="issue" locale="en_GB.UTF-8"/>
</field>
<field property="method_id">
<prompt prompt="method_id" locale="en_GB.UTF-8"/>
<prompt prompt="method" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="Followuprequest">
@ -805,9 +761,6 @@ version="0.1.1">
<prompt prompt="Members" locale="en_GB.UTF-8"/>
</property>
<list properties="listed" name="Roles">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="name">
<prompt prompt="name" locale="en_GB.UTF-8"/>
</field>
@ -869,21 +822,12 @@ version="0.1.1">
<documentation>All groups</documentation>
</permission>
<list properties="listed" name="Teams">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="name">
<prompt prompt="name" locale="en_GB.UTF-8"/>
</field>
<field property="district_id">
<prompt prompt="district_id" locale="en_GB.UTF-8"/>
</field>
<field property="latitude">
<prompt prompt="latitude" locale="en_GB.UTF-8"/>
</field>
<field property="longitude">
<prompt prompt="longitude" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="Team">
<field property="id">
@ -974,7 +918,12 @@ version="0.1.1">
<permission permission="read" group="issueeditors"/>
<permission permission="all" group="admin"/>
<form properties="all" name="Events"/>
<list properties="all" name="Events"/>
<list properties="listed" name="Events">
<field property="name"><prompt prompt="name" locale="en_GB.UTF-8"/></field>
<field property="date"/>
<field property="time"/>
<field property="cancelled"/>
</list>
</entity>
<entity table="districts" name="districts" magnitude="4"
volatility="7">
@ -994,17 +943,11 @@ version="0.1.1">
<permission group="public" permission="read"/>
<permission group="admin" permission="all"/>
<list properties="listed" name="Districts">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="name">
<prompt prompt="name" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="District">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="name">
<prompt prompt="name" locale="en_GB.UTF-8"/>
</field>
@ -1048,11 +991,8 @@ version="0.1.1">
<prompt prompt="closed" locale="en_GB.UTF-8"/>
</property>
<list properties="listed" name="Followupactions">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="request_id">
<prompt prompt="request_id" locale="en_GB.UTF-8"/>
<prompt prompt="Request" locale="en_GB.UTF-8"/>
</field>
<field property="actor">
<prompt prompt="actor" locale="en_GB.UTF-8"/>
@ -1094,9 +1034,7 @@ version="0.1.1">
<permission group="issueeditors" permission="read"/>
<permission group="admin" permission="all"/>
</entity>
<!--
entity options already has a key - not generating one
-->
<entity table="options" name="options" magnitude="1"
volatility="7">
<documentation>Options in the election or referendum being

View file

@ -102,24 +102,12 @@
Null if they have not.</documentation>
</property>
<list properties="listed" name="Electors">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="name">
<prompt prompt="Name" locale="en_GB.UTF-8"/>
</field>
<field property="dwelling_id">
<prompt prompt="Home" locale="en_GB.UTF-8"/>
</field>
<field property="phone">
<prompt prompt="Phone" locale="en_GB.UTF-8"/>
</field>
<field property="email">
<prompt prompt="eMail" locale="en_GB.UTF-8"/>
</field>
<field property="gender">
<prompt prompt="Gender" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="Elector">
<field property="id">
@ -202,9 +190,6 @@
</documentation>
</property>
<list properties="listed" name="Dwellings">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="address_id">
<prompt prompt="Building Address" locale="en_GB.UTF-8"/>
</field>
@ -213,9 +198,6 @@
</field>
</list>
<form properties="listed" name="Dwelling">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="address_id">
<prompt prompt="Building Address" locale="en_GB.UTF-8"/>
</field>
@ -273,27 +255,15 @@
users.</documentation>
</property>
<list properties="listed" name="Addresses">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="address">
<prompt prompt="Address" locale="en_GB.UTF-8"/>
</field>
<field property="postcode">
<prompt prompt="Postcode" locale="en_GB.UTF-8"/>
</field>
<field property="phone">
<prompt prompt="Phone" locale="en_GB.UTF-8"/>
</field>
<field property="district_id">
<prompt prompt="District" locale="en_GB.UTF-8"/>
</field>
<field property="latitude">
<prompt prompt="Latitude" locale="en_GB.UTF-8"/>
</field>
<field property="longitude">
<prompt prompt="Longitude" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="Address">
<field property="id">
@ -359,9 +329,6 @@
<permission group="issueeditors" permission="read"/>
<permission group="admin" permission="noedit"/>
<list properties="listed" name="Visits">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="address_id">
<prompt prompt="Address" locale="en_GB.UTF-8"/>
</field>
@ -411,12 +378,10 @@
<property name="consumer-key" type="string" size="32" required="true" default="youyesyet"/>
<property name="consumer-secret" type="string" size="256" required="true"/>
<list name="Authorities" properties="listed">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>#
<field property="request-token-uri"/>
<field property="access-token-uri"/>
<field property="authorize-uri"/></list>
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="Authority">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
@ -531,13 +496,13 @@
<permission group="admin" permission="noedit"/>
<list properties="listed" name="Intentions">
<field property="visit_id">
<prompt prompt="visit_id" locale="en_GB.UTF-8"/>
<prompt prompt="visit" locale="en_GB.UTF-8"/>
</field>
<field property="elector_id">
<prompt prompt="elector_id" locale="en_GB.UTF-8"/>
<prompt prompt="elector" locale="en_GB.UTF-8"/>
</field>
<field property="option_id">
<prompt prompt="option_id" locale="en_GB.UTF-8"/>
<prompt prompt="option" locale="en_GB.UTF-8"/>
</field>
<field property="locality">
<documentation>The locality at which the intention was
@ -626,21 +591,15 @@
<documentation>All canvassers</documentation>
</permission>
<list properties="listed" name="Canvassers">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="username">
<prompt prompt="username" locale="en_GB.UTF-8"/>
</field>
<field property="fullname">
<prompt prompt="fullname" locale="en_GB.UTF-8"/>
<prompt prompt="full name" locale="en_GB.UTF-8"/>
</field>
<field property="address_id">
<prompt prompt="address" locale="en_GB.UTF-8"/>
</field>
<field property="authority_id">
<prompt prompt="authority_id" locale="en_GB.UTF-8"/>
</field>
<field property="authorised">
<prompt prompt="authorised" locale="en_GB.UTF-8"/>
</field>
@ -713,20 +672,17 @@
<prompt prompt="method_id" locale="en_GB.UTF-8"/>
</property>
<list properties="listed" name="Followuprequests">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="elector_id">
<prompt prompt="elector_id" locale="en_GB.UTF-8"/>
<prompt prompt="elector" locale="en_GB.UTF-8"/>
</field>
<field property="visit_id">
<prompt prompt="visit_id" locale="en_GB.UTF-8"/>
<prompt prompt="visit" locale="en_GB.UTF-8"/>
</field>
<field property="issue_id">
<prompt prompt="issue_id" locale="en_GB.UTF-8"/>
<prompt prompt="issue" locale="en_GB.UTF-8"/>
</field>
<field property="method_id">
<prompt prompt="method_id" locale="en_GB.UTF-8"/>
<prompt prompt="method" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="Followuprequest">
@ -772,9 +728,6 @@
<prompt prompt="Members" locale="en_GB.UTF-8"/>
</property>
<list properties="listed" name="Roles">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="name">
<prompt prompt="name" locale="en_GB.UTF-8"/>
</field>
@ -835,21 +788,12 @@
<documentation>All groups</documentation>
</permission>
<list properties="listed" name="Teams">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="name">
<prompt prompt="name" locale="en_GB.UTF-8"/>
</field>
<field property="district_id">
<prompt prompt="district_id" locale="en_GB.UTF-8"/>
</field>
<field property="latitude">
<prompt prompt="latitude" locale="en_GB.UTF-8"/>
</field>
<field property="longitude">
<prompt prompt="longitude" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="Team">
<field property="id">
@ -941,7 +885,12 @@
<permission permission="read" group="issueeditors"/>
<permission permission="all" group="admin"/>
<form properties="listed" name="Events"><field property="id"><generator action="native"/></field><field property="name"><prompt prompt="name" locale="en_GB.UTF-8"/></field><field property="teams"/><field property="date"/><field property="time"/><field property="decription"/><field property="cancelled"/></form>
<list properties="listed" name="Events"><field property="id"><generator action="native"/></field><field property="name"><prompt prompt="name" locale="en_GB.UTF-8"/></field><field property="date"/><field property="time"/><field property="decription"/><field property="cancelled"/></list>
<list properties="listed" name="Events">
<field property="name"><prompt prompt="name" locale="en_GB.UTF-8"/></field>
<field property="date"/>
<field property="time"/>
<field property="cancelled"/>
</list>
</entity>
<!--
entity districts already has a key - not generating one
@ -961,17 +910,11 @@
<permission group="public" permission="read"/>
<permission group="admin" permission="all"/>
<list properties="listed" name="Districts">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="name">
<prompt prompt="name" locale="en_GB.UTF-8"/>
</field>
</list>
<form properties="listed" name="District">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="name">
<prompt prompt="name" locale="en_GB.UTF-8"/>
</field>
@ -1010,11 +953,8 @@
<prompt prompt="closed" locale="en_GB.UTF-8"/>
</property>
<list properties="listed" name="Followupactions">
<field property="id">
<prompt prompt="id" locale="en_GB.UTF-8"/>
</field>
<field property="request_id">
<prompt prompt="request_id" locale="en_GB.UTF-8"/>
<prompt prompt="Request" locale="en_GB.UTF-8"/>
</field>
<field property="actor">
<prompt prompt="actor" locale="en_GB.UTF-8"/>