Fixed the regression with the map, and two issues in autogenerated code

This commit is contained in:
Simon Brooke 2018-07-04 00:14:28 +01:00
parent 3a49e50a51
commit ff5c78d030
42 changed files with 668 additions and 320 deletions

View file

@ -25,8 +25,8 @@
CREATE FUNCTION compute_locality() RETURNS trigger AS $compute_locality$ CREATE FUNCTION compute_locality() RETURNS trigger AS $compute_locality$
BEGIN BEGIN
NEW.locality = (10000 * floor (NEW.latitude * 1000)) - NEW.locality = (1000 * floor(NEW.latitude * 100)) -
(NEW.longitude * 1000); floor(NEW.longitude * 100);
RETURN NEW; RETURN NEW;
END; END;
$compute_locality$ LANGUAGE plpgsql; $compute_locality$ LANGUAGE plpgsql;

View file

@ -1,7 +1,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
-- File queries.sql -- File queries.sql
-- --
-- autogenerated by adl.to-hugsql-queries at 2018-07-03T12:23:50.486Z -- autogenerated by adl.to-hugsql-queries at 2018-07-03T23:08:18.480Z
-- --
-- See [Application Description -- See [Application Description
-- Language](https://github.com/simon-brooke/adl). -- Language](https://github.com/simon-brooke/adl).

View file

@ -5,7 +5,7 @@
-- --
-- auto-generated by [Application Description Language framework] -- auto-generated by [Application Description Language framework]
-- --
-- (https://github.com/simon-brooke/adl) at 20180703T122351.367Z -- (https://github.com/simon-brooke/adl) at 20180703T230819.494Z
-- --
-- --
-- A web-app intended to be used by canvassers campaigning for a -- A web-app intended to be used by canvassers campaigning for a

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File application-index.html generated 2018-07-03T12:23:51.915Z by adl.to-selmer-templates. <!-- File application-index.html generated 2018-07-03T23:08:20.049Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-addresses-Address.html generated 2018-07-03T12:23:51.902Z by adl.to-selmer-templates. <!-- File form-addresses-Address.html generated 2018-07-03T23:08:20.032Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
@ -87,7 +87,7 @@ district_id
<div class='select-box' farside='districts' found='true'> <div class='select-box' farside='districts' found='true'>
<input name='district_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='district_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='district_id' name='district_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='district_id' name='district_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in districts %}<option value='{{record.id}}'>{{record.name}}</option>{% endfor %} {% for r in districts %}<option value='{{r.id}}' {% ifequal record.district_id r.id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-authorities-Authority.html generated 2018-07-03T12:23:51.923Z by adl.to-selmer-templates. <!-- File form-authorities-Authority.html generated 2018-07-03T23:08:20.060Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-canvassers-Canvasser.html generated 2018-07-03T12:23:51.926Z by adl.to-selmer-templates. <!-- File form-canvassers-Canvasser.html generated 2018-07-03T23:08:20.065Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
@ -69,7 +69,7 @@ elector_id
<div class='select-box' farside='electors' found='true'> <div class='select-box' farside='electors' found='true'>
<input name='elector_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='elector_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='elector_id' name='elector_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='elector_id' name='elector_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in electors %}<option value='{{record.id}}'>{{record.name}} {{record.phone}} {{record.email}} {{record.gender}}</option>{% endfor %} {% for r in electors %}<option value='{{r.id}}' {% ifequal record.elector_id r.id%}selected{% endifequal %}>{{r.name}} {{r.phone}} {{r.email}} {{r.gender}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -92,7 +92,7 @@ address_id
<div class='select-box' farside='addresses' found='true'> <div class='select-box' farside='addresses' found='true'>
<input name='address_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='address_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='address_id' name='address_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='address_id' name='address_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in addresses %}<option value='{{record.id}}'>{{record.address}} {{record.postcode}}</option>{% endfor %} {% for r in addresses %}<option value='{{r.id}}' {% ifequal record.address_id r.id%}selected{% endifequal %}>{{r.address}} {{r.postcode}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -151,7 +151,7 @@ authority_id
<div class='select-box' farside='authorities' found='true'> <div class='select-box' farside='authorities' found='true'>
<input name='authority_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='authority_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='authority_id' name='authority_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='authority_id' name='authority_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in authorities %}<option value='{{record.id}}'>{{record.id}}</option>{% endfor %} {% for r in authorities %}<option value='{{r.id}}' {% ifequal record.authority_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -191,7 +191,7 @@ roles
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %} {% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
<div class='select-box' farside='roles' found='true'> <div class='select-box' farside='roles' found='true'>
<select id='roles' name='roles' multiple='multiple'> <select id='roles' name='roles' multiple='multiple'>
{% for record in roles %}<option value='{{record.role_id}}'>{{record.name}}</option>{% endfor %} {% for r in roles %}<option value='{{r.role_id}}' {% ifequal record.roles r.role_id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-districts-District.html generated 2018-07-03T12:23:51.891Z by adl.to-selmer-templates. <!-- File form-districts-District.html generated 2018-07-03T23:08:20.021Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-dwellings-Dwelling.html generated 2018-07-03T12:23:51.938Z by adl.to-selmer-templates. <!-- File form-dwellings-Dwelling.html generated 2018-07-03T23:08:20.081Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
@ -33,7 +33,7 @@ address_id
<div class='select-box' farside='addresses' found='true'> <div class='select-box' farside='addresses' found='true'>
<input name='address_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='address_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='address_id' name='address_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='address_id' name='address_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in addresses %}<option value='{{record.id}}'>{{record.address}} {{record.postcode}}</option>{% endfor %} {% for r in addresses %}<option value='{{r.id}}' {% ifequal record.address_id r.id%}selected{% endifequal %}>{{r.address}} {{r.postcode}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-electors-Elector.html generated 2018-07-03T12:23:51.920Z by adl.to-selmer-templates. <!-- File form-electors-Elector.html generated 2018-07-03T23:08:20.055Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
@ -51,7 +51,7 @@ dwelling_id
<div class='select-box' farside='dwellings' found='true'> <div class='select-box' farside='dwellings' found='true'>
<input name='dwelling_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='dwelling_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='dwelling_id' name='dwelling_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='dwelling_id' name='dwelling_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in dwellings %}<option value='{{record.id}}'>{{record.address_id}} {{record.sub-address}}</option>{% endfor %} {% for r in dwellings %}<option value='{{r.id}}' {% ifequal record.dwelling_id r.id%}selected{% endifequal %}>{{r.address_id}} {{r.sub-address}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -109,7 +109,7 @@ gender
{% ifmemberof admin %} {% ifmemberof admin %}
<div class='select-box' farside='genders' found='true'> <div class='select-box' farside='genders' found='true'>
<select id='gender' name='gender'> <select id='gender' name='gender'>
{% for record in genders %}<option value='{{record.id}}'>{{record.id}}</option>{% endfor %} {% for r in genders %}<option value='{{r.id}}' {% ifequal record.gender r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-followupactions-Followupaction.html generated 2018-07-03T12:23:51.940Z by adl.to-selmer-templates. <!-- File form-followupactions-Followupaction.html generated 2018-07-03T23:08:20.084Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
@ -33,7 +33,7 @@ request_id
<div class='select-box' farside='followuprequests' found='true'> <div class='select-box' farside='followuprequests' found='true'>
<input name='request_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='request_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='request_id' name='request_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='request_id' name='request_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in followuprequests %}<option value='{{record.id}}'>{{record.elector_id}} {{record.visit_id}} {{record.issue_id}}</option>{% endfor %} {% for r in followuprequests %}<option value='{{r.id}}' {% ifequal record.request_id r.id%}selected{% endifequal %}>{{r.elector_id}} {{r.visit_id}} {{r.issue_id}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -56,7 +56,7 @@ actor
<div class='select-box' farside='canvassers' found='true'> <div class='select-box' farside='canvassers' found='true'>
<input name='actor-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='actor-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='actor' name='actor' comment='JavaScript stuff to fix up aynchronous loading'> <select id='actor' name='actor' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.address_id}} {{record.phone}} {{record.email}}</option>{% endfor %} {% for r in canvassers %}<option value='{{r.id}}' {% ifequal record.actor r.id%}selected{% endifequal %}>{{r.username}} {{r.fullname}} {{r.address_id}} {{r.phone}} {{r.email}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-followupmethods-Followupmethod.html generated 2018-07-03T12:23:51.943Z by adl.to-selmer-templates. <!-- File form-followupmethods-Followupmethod.html generated 2018-07-03T23:08:20.087Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-followuprequests-Followuprequest.html generated 2018-07-03T12:23:51.895Z by adl.to-selmer-templates. <!-- File form-followuprequests-Followuprequest.html generated 2018-07-03T23:08:20.025Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
@ -33,7 +33,7 @@ elector_id
<div class='select-box' farside='electors' found='true'> <div class='select-box' farside='electors' found='true'>
<input name='elector_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='elector_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='elector_id' name='elector_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='elector_id' name='elector_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in electors %}<option value='{{record.id}}'>{{record.name}} {{record.phone}} {{record.email}} {{record.gender}}</option>{% endfor %} {% for r in electors %}<option value='{{r.id}}' {% ifequal record.elector_id r.id%}selected{% endifequal %}>{{r.name}} {{r.phone}} {{r.email}} {{r.gender}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -56,7 +56,7 @@ visit_id
<div class='select-box' farside='visits' found='true'> <div class='select-box' farside='visits' found='true'>
<input name='visit_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='visit_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='visit_id' name='visit_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='visit_id' name='visit_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in visits %}<option value='{{record.id}}'>{{record.address_id}} {{record.date}}</option>{% endfor %} {% for r in visits %}<option value='{{r.id}}' {% ifequal record.visit_id r.id%}selected{% endifequal %}>{{r.address_id}} {{r.date}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -78,7 +78,7 @@ issue_id
{% ifmemberof admin %} {% ifmemberof admin %}
<div class='select-box' farside='issues' found='true'> <div class='select-box' farside='issues' found='true'>
<select id='issue_id' name='issue_id'> <select id='issue_id' name='issue_id'>
{% for record in issues %}<option value='{{record.id}}'>{{record.id}}</option>{% endfor %} {% for r in issues %}<option value='{{r.id}}' {% ifequal record.issue_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -100,7 +100,7 @@ method_id
{% ifmemberof admin %} {% ifmemberof admin %}
<div class='select-box' farside='followupmethods' found='true'> <div class='select-box' farside='followupmethods' found='true'>
<select id='method_id' name='method_id'> <select id='method_id' name='method_id'>
{% for record in followupmethods %}<option value='{{record.id}}'>{{record.id}}</option>{% endfor %} {% for r in followupmethods %}<option value='{{r.id}}' {% ifequal record.method_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-genders-Gender.html generated 2018-07-03T12:23:51.886Z by adl.to-selmer-templates. <!-- File form-genders-Gender.html generated 2018-07-03T23:08:20.014Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-intentions-Intention.html generated 2018-07-03T12:23:51.935Z by adl.to-selmer-templates. <!-- File form-intentions-Intention.html generated 2018-07-03T23:08:20.075Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
@ -15,7 +15,7 @@ visit_id
<div class='select-box' farside='visits' found='true'> <div class='select-box' farside='visits' found='true'>
<input name='visit_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='visit_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='visit_id' name='visit_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='visit_id' name='visit_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in visits %}<option value='{{record.id}}'>{{record.address_id}} {{record.date}}</option>{% endfor %} {% for r in visits %}<option value='{{r.id}}' {% ifequal record.visit_id r.id%}selected{% endifequal %}>{{r.address_id}} {{r.date}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -38,7 +38,7 @@ elector_id
<div class='select-box' farside='electors' found='true'> <div class='select-box' farside='electors' found='true'>
<input name='elector_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='elector_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='elector_id' name='elector_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='elector_id' name='elector_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in electors %}<option value='{{record.id}}'>{{record.name}} {{record.phone}} {{record.email}} {{record.gender}}</option>{% endfor %} {% for r in electors %}<option value='{{r.id}}' {% ifequal record.elector_id r.id%}selected{% endifequal %}>{{r.name}} {{r.phone}} {{r.email}} {{r.gender}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -60,7 +60,7 @@ option_id
{% ifmemberof admin %} {% ifmemberof admin %}
<div class='select-box' farside='options' found='true'> <div class='select-box' farside='options' found='true'>
<select id='option_id' name='option_id'> <select id='option_id' name='option_id'>
{% for record in options %}<option value='{{record.id}}'>{{record.id}}</option>{% endfor %} {% for r in options %}<option value='{{r.id}}' {% ifequal record.option_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-issues-Issue.html generated 2018-07-03T12:23:51.907Z by adl.to-selmer-templates. <!-- File form-issues-Issue.html generated 2018-07-03T23:08:20.039Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-options-Option.html generated 2018-07-03T12:23:51.934Z by adl.to-selmer-templates. <!-- File form-options-Option.html generated 2018-07-03T23:08:20.074Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-roles-Role.html generated 2018-07-03T12:23:51.910Z by adl.to-selmer-templates. <!-- File form-roles-Role.html generated 2018-07-03T23:08:20.042Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
@ -51,7 +51,7 @@ members
<div class='select-box' farside='canvassers' found='true'> <div class='select-box' farside='canvassers' found='true'>
<input name='members-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='members-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='members' name='members' multiple='multiple' comment='JavaScript stuff to fix up aynchronous loading'> <select id='members' name='members' multiple='multiple' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.address_id}} {{record.phone}} {{record.email}}</option>{% endfor %} {% for r in canvassers %}<option value='{{r.id}}' {% ifequal record.members r.id%}selected{% endifequal %}>{{r.username}} {{r.fullname}} {{r.address_id}} {{r.phone}} {{r.email}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-teams-Team.html generated 2018-07-03T12:23:51.915Z by adl.to-selmer-templates. <!-- File form-teams-Team.html generated 2018-07-03T23:08:20.050Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
@ -51,7 +51,7 @@ district_id
<div class='select-box' farside='districts' found='true'> <div class='select-box' farside='districts' found='true'>
<input name='district_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='district_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='district_id' name='district_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='district_id' name='district_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in districts %}<option value='{{record.id}}'>{{record.name}}</option>{% endfor %} {% for r in districts %}<option value='{{r.id}}' {% ifequal record.district_id r.id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -92,7 +92,7 @@ members
<div class='select-box' farside='canvassers' found='true'> <div class='select-box' farside='canvassers' found='true'>
<input name='members-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='members-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='members' name='members' multiple='multiple' comment='JavaScript stuff to fix up aynchronous loading'> <select id='members' name='members' multiple='multiple' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.address_id}} {{record.phone}} {{record.email}}</option>{% endfor %} {% for r in canvassers %}<option value='{{r.id}}' {% ifequal record.members r.id%}selected{% endifequal %}>{{r.username}} {{r.fullname}} {{r.address_id}} {{r.phone}} {{r.email}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -115,7 +115,7 @@ organisers
<div class='select-box' farside='canvassers' found='true'> <div class='select-box' farside='canvassers' found='true'>
<input name='organisers-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='organisers-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='organisers' name='organisers' multiple='multiple' comment='JavaScript stuff to fix up aynchronous loading'> <select id='organisers' name='organisers' multiple='multiple' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.address_id}} {{record.phone}} {{record.email}}</option>{% endfor %} {% for r in canvassers %}<option value='{{r.id}}' {% ifequal record.organisers r.id%}selected{% endifequal %}>{{r.username}} {{r.fullname}} {{r.address_id}} {{r.phone}} {{r.email}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-visits-Visit.html generated 2018-07-03T12:23:51.913Z by adl.to-selmer-templates. <!-- File form-visits-Visit.html generated 2018-07-03T23:08:20.046Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
@ -33,7 +33,7 @@ address_id
<div class='select-box' farside='addresses' found='true'> <div class='select-box' farside='addresses' found='true'>
<input name='address_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='address_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='address_id' name='address_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='address_id' name='address_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in addresses %}<option value='{{record.id}}'>{{record.address}} {{record.postcode}}</option>{% endfor %} {% for r in addresses %}<option value='{{r.id}}' {% ifequal record.address_id r.id%}selected{% endifequal %}>{{r.address}} {{r.postcode}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}
@ -56,7 +56,7 @@ canvasser_id
<div class='select-box' farside='canvassers' found='true'> <div class='select-box' farside='canvassers' found='true'>
<input name='canvasser_id-search-box' onchange='/* javascript to repopulate the select widget */'/> <input name='canvasser_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='canvasser_id' name='canvasser_id' comment='JavaScript stuff to fix up aynchronous loading'> <select id='canvasser_id' name='canvasser_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.address_id}} {{record.phone}} {{record.email}}</option>{% endfor %} {% for r in canvassers %}<option value='{{r.id}}' {% ifequal record.canvasser_id r.id%}selected{% endifequal %}>{{r.username}} {{r.fullname}} {{r.address_id}} {{r.phone}} {{r.email}}</option>{% endfor %}
</select> </select>
</div> </div>
{% else %} {% else %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-addresses-Addresses.html generated 2018-07-03T12:23:51.926Z by adl.to-selmer-templates. <!-- File list-addresses-Addresses.html generated 2018-07-03T23:08:20.064Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-authorities-Authorities.html generated 2018-07-03T12:23:51.893Z by adl.to-selmer-templates. <!-- File list-authorities-Authorities.html generated 2018-07-03T23:08:20.023Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-canvassers-Canvassers.html generated 2018-07-03T12:23:51.938Z by adl.to-selmer-templates. <!-- File list-canvassers-Canvassers.html generated 2018-07-03T23:08:20.079Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-districts-Districts.html generated 2018-07-03T12:23:51.932Z by adl.to-selmer-templates. <!-- File list-districts-Districts.html generated 2018-07-03T23:08:20.072Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-dwellings-Dwellings.html generated 2018-07-03T12:23:51.923Z by adl.to-selmer-templates. <!-- File list-dwellings-Dwellings.html generated 2018-07-03T23:08:20.059Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-electors-Electors.html generated 2018-07-03T12:23:51.906Z by adl.to-selmer-templates. <!-- File list-electors-Electors.html generated 2018-07-03T23:08:20.038Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-followupactions-Followupactions.html generated 2018-07-03T12:23:51.937Z by adl.to-selmer-templates. <!-- File list-followupactions-Followupactions.html generated 2018-07-03T23:08:20.078Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-followupmethods-Followupmethods.html generated 2018-07-03T12:23:51.912Z by adl.to-selmer-templates. <!-- File list-followupmethods-Followupmethods.html generated 2018-07-03T23:08:20.045Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-followuprequests-Followuprequests.html generated 2018-07-03T12:23:51.889Z by adl.to-selmer-templates. <!-- File list-followuprequests-Followuprequests.html generated 2018-07-03T23:08:20.018Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-genders-Genders.html generated 2018-07-03T12:23:51.883Z by adl.to-selmer-templates. <!-- File list-genders-Genders.html generated 2018-07-03T23:08:20.008Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-intentions-Intentions.html generated 2018-07-03T12:23:51.940Z by adl.to-selmer-templates. <!-- File list-intentions-Intentions.html generated 2018-07-03T23:08:20.083Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-issues-Issues.html generated 2018-07-03T12:23:51.933Z by adl.to-selmer-templates. <!-- File list-issues-Issues.html generated 2018-07-03T23:08:20.073Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-options-Options.html generated 2018-07-03T12:23:51.890Z by adl.to-selmer-templates. <!-- File list-options-Options.html generated 2018-07-03T23:08:20.020Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-roles-Roles.html generated 2018-07-03T12:23:51.912Z by adl.to-selmer-templates. <!-- File list-roles-Roles.html generated 2018-07-03T23:08:20.044Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-teams-Teams.html generated 2018-07-03T12:23:51.885Z by adl.to-selmer-templates. <!-- File list-teams-Teams.html generated 2018-07-03T23:08:20.012Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-visits-Visits.html generated 2018-07-03T12:23:51.884Z by adl.to-selmer-templates. <!-- File list-visits-Visits.html generated 2018-07-03T23:08:20.010Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->

View file

@ -1,6 +1,6 @@
(ns (ns
youyesyet.routes.auto youyesyet.routes.auto
"User interface routes for Youyesyet auto-generated by [Application Description Language framework](https://github.com/simon-brooke/adl) at 20180703T122351.613Z" "User interface routes for Youyesyet auto-generated by [Application Description Language framework](https://github.com/simon-brooke/adl) at 20180703T230819.733Z"
(:require (:require
[adl-support.core :as support] [adl-support.core :as support]
[clojure.java.io :as io] [clojure.java.io :as io]
@ -25,7 +25,7 @@
list-addresses-Addresses list-addresses-Addresses
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-addresses-Addresses.html") (support/resolve-template "list-addresses-Addresses.html")
(:session r) (:session r)
@ -41,7 +41,7 @@
form-addresses-Address form-addresses-Address
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-addresses-Address.html") (support/resolve-template "form-addresses-Address.html")
(:session r) (:session r)
@ -55,7 +55,7 @@
list-authorities-Authorities list-authorities-Authorities
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-authorities-Authorities.html") (support/resolve-template "list-authorities-Authorities.html")
(:session r) (:session r)
@ -71,7 +71,7 @@
form-authorities-Authority form-authorities-Authority
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-authorities-Authority.html") (support/resolve-template "form-authorities-Authority.html")
(:session r) (:session r)
@ -87,7 +87,7 @@
list-canvassers-Canvassers list-canvassers-Canvassers
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-canvassers-Canvassers.html") (support/resolve-template "list-canvassers-Canvassers.html")
(:session r) (:session r)
@ -103,7 +103,7 @@
form-canvassers-Canvasser form-canvassers-Canvasser
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-canvassers-Canvasser.html") (support/resolve-template "form-canvassers-Canvasser.html")
(:session r) (:session r)
@ -123,7 +123,7 @@
list-districts-Districts list-districts-Districts
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-districts-Districts.html") (support/resolve-template "list-districts-Districts.html")
(:session r) (:session r)
@ -139,7 +139,7 @@
form-districts-District form-districts-District
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-districts-District.html") (support/resolve-template "form-districts-District.html")
(:session r) (:session r)
@ -155,7 +155,7 @@
list-dwellings-Dwellings list-dwellings-Dwellings
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-dwellings-Dwellings.html") (support/resolve-template "list-dwellings-Dwellings.html")
(:session r) (:session r)
@ -171,7 +171,7 @@
form-dwellings-Dwelling form-dwellings-Dwelling
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-dwellings-Dwelling.html") (support/resolve-template "form-dwellings-Dwelling.html")
(:session r) (:session r)
@ -188,7 +188,7 @@
list-electors-Electors list-electors-Electors
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-electors-Electors.html") (support/resolve-template "list-electors-Electors.html")
(:session r) (:session r)
@ -204,7 +204,7 @@
form-electors-Elector form-electors-Elector
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-electors-Elector.html") (support/resolve-template "form-electors-Elector.html")
(:session r) (:session r)
@ -219,7 +219,7 @@
list-followupactions-Followupactions list-followupactions-Followupactions
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template (support/resolve-template
"list-followupactions-Followupactions.html") "list-followupactions-Followupactions.html")
@ -236,7 +236,7 @@
form-followupactions-Followupaction form-followupactions-Followupaction
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template (support/resolve-template
"form-followupactions-Followupaction.html") "form-followupactions-Followupaction.html")
@ -255,7 +255,7 @@
list-followupmethods-Followupmethods list-followupmethods-Followupmethods
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template (support/resolve-template
"list-followupmethods-Followupmethods.html") "list-followupmethods-Followupmethods.html")
@ -272,7 +272,7 @@
form-followupmethods-Followupmethod form-followupmethods-Followupmethod
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template (support/resolve-template
"form-followupmethods-Followupmethod.html") "form-followupmethods-Followupmethod.html")
@ -289,7 +289,7 @@
list-followuprequests-Followuprequests list-followuprequests-Followuprequests
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template (support/resolve-template
"list-followuprequests-Followuprequests.html") "list-followuprequests-Followuprequests.html")
@ -306,7 +306,7 @@
form-followuprequests-Followuprequest form-followuprequests-Followuprequest
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template (support/resolve-template
"form-followuprequests-Followuprequest.html") "form-followuprequests-Followuprequest.html")
@ -327,7 +327,7 @@
list-genders-Genders list-genders-Genders
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-genders-Genders.html") (support/resolve-template "list-genders-Genders.html")
(:session r) (:session r)
@ -343,7 +343,7 @@
form-genders-Gender form-genders-Gender
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-genders-Gender.html") (support/resolve-template "form-genders-Gender.html")
(:session r) (:session r)
@ -359,7 +359,7 @@
list-intentions-Intentions list-intentions-Intentions
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"Id"})]
(l/render (l/render
(support/resolve-template "list-intentions-Intentions.html") (support/resolve-template "list-intentions-Intentions.html")
(:session r) (:session r)
@ -375,7 +375,7 @@
form-intentions-Intention form-intentions-Intention
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"Id"})]
(l/render (l/render
(support/resolve-template "form-intentions-Intention.html") (support/resolve-template "form-intentions-Intention.html")
(:session r) (:session r)
@ -394,7 +394,7 @@
list-issues-Issues list-issues-Issues
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-issues-Issues.html") (support/resolve-template "list-issues-Issues.html")
(:session r) (:session r)
@ -410,7 +410,7 @@
form-issues-Issue form-issues-Issue
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-issues-Issue.html") (support/resolve-template "form-issues-Issue.html")
(:session r) (:session r)
@ -423,7 +423,7 @@
list-options-Options list-options-Options
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-options-Options.html") (support/resolve-template "list-options-Options.html")
(:session r) (:session r)
@ -439,7 +439,7 @@
form-options-Option form-options-Option
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-options-Option.html") (support/resolve-template "form-options-Option.html")
(:session r) (:session r)
@ -455,7 +455,7 @@
list-roles-Roles list-roles-Roles
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-roles-Roles.html") (support/resolve-template "list-roles-Roles.html")
(:session r) (:session r)
@ -471,7 +471,7 @@
form-roles-Role form-roles-Role
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-roles-Role.html") (support/resolve-template "form-roles-Role.html")
(:session r) (:session r)
@ -485,7 +485,7 @@
list-teams-Teams list-teams-Teams
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-teams-Teams.html") (support/resolve-template "list-teams-Teams.html")
(:session r) (:session r)
@ -501,7 +501,7 @@
form-teams-Team form-teams-Team
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-teams-Team.html") (support/resolve-template "form-teams-Team.html")
(:session r) (:session r)
@ -516,7 +516,7 @@
list-visits-Visits list-visits-Visits
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "list-visits-Visits.html") (support/resolve-template "list-visits-Visits.html")
(:session r) (:session r)
@ -532,7 +532,7 @@
form-visits-Visit form-visits-Visit
[r] [r]
(let (let
[p (support/massage-params (:params r))] [p (support/massage-params (:params r) (:form-params r) #{"id"})]
(l/render (l/render
(support/resolve-template "form-visits-Visit.html") (support/resolve-template "form-visits-Visit.html")
(:session r) (:session r)

File diff suppressed because it is too large Load diff

View file

@ -29,12 +29,12 @@
"Compute the locality index for this `latitude`/`longitude` pair." "Compute the locality index for this `latitude`/`longitude` pair."
[latitude longitude] [latitude longitude]
(+ (+
(* 10000 ;; left-shift the latitude component four digits (* 1000 ;; left-shift the latitude component three digits
(int (int
(* latitude 1000))) (* latitude 100)))
(- ;; invert the sign of the longitude component, since (- ;; invert the sign of the longitude component, since
(int ;; we're interested in localities West of Greenwich. (int ;; we're interested in localities West of Greenwich.
(* longitude 1000))))) (* longitude 100)))))
(defn neighbouring-localities (defn neighbouring-localities
"Return this locality with the localities immediately "Return this locality with the localities immediately
@ -43,12 +43,14 @@
;; TODO: I'm not absolutely confident of my arithmetic here! ;; TODO: I'm not absolutely confident of my arithmetic here!
[locality] [locality]
(list (list
(- locality 9999) (- locality 99)
(- locality 10000) (- locality 100)
(- locality 10001) (- locality 101)
(- locality 1) (- locality 1)
locality locality
(+ locality 1) (+ locality 1)
(+ locality 9999) (+ locality 99)
(+ locality 10000) (+ locality 100)
(+ locality 10001))) (+ locality 101)))
(neighbouring-localities 5482391)

View file

@ -159,16 +159,17 @@
(defn map-remove-pins (defn map-remove-pins
"Remove all pins from this map `view`. Side-effecty; liable to be problematic." "Remove all pins from this map `view`. Side-effecty; liable to be problematic."
[view] [view]
(try
(if (if
view
(.eachLayer
view view
(.eachLayer (fn [layer]
view (try
(fn [layer]
(if (if
(instance? layer js/L.Marker) (instance? js/L.Marker layer)
(.removeLayer view layer))))) (.removeLayer view layer))
(catch js/Object any (js/console.log (str "Failed to remove pins from map: " any)))) (catch js/Object any (js/console.log (str "Failed to remove pin '" layer "' from map: " any)))))))
view) view)

View file

@ -151,6 +151,6 @@
:page :home :page :home
:view nil :view nil
:latitude 54.82 :latitude 54.82
:longitude -3.90 :longitude -3.92
:zoom 12}) :zoom 12})

View file

@ -77,6 +77,10 @@
(clj->js {:zoomControl false})) (clj->js {:zoomControl false}))
#js [@(subscribe [:latitude]) @(subscribe [:longitude])] #js [@(subscribe [:latitude]) @(subscribe [:longitude])]
@(subscribe [:zoom]))] @(subscribe [:zoom]))]
(.addTo (.tileLayer js/L osm-url
(clj->js {:attribution osm-attrib
:maxZoom 18}))
view)
(dispatch-sync [:set-view view]) (dispatch-sync [:set-view view])
(refresh-map-pins) (refresh-map-pins)
view)) view))