Much UI work, significant improvement.
This commit is contained in:
parent
9c3af4c936
commit
5356f65ca3
44 changed files with 1865 additions and 1213 deletions
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File application-index.html generated 2018-07-09T20:55:34.526Z by adl.to-selmer-templates.
|
||||
<!-- File application-index.html generated 2018-07-10T15:25:24.202Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
@ -142,6 +142,9 @@ Followupmethod
|
|||
{% endifmemberof %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<dd>
|
||||
<p>
|
||||
Methods which may be used to follow up a followup request. Reference data.
|
||||
</p>
|
||||
</dd>
|
||||
{% endifmemberof %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
|
|
@ -246,14 +249,14 @@ Team
|
|||
<dd>
|
||||
</dd>
|
||||
{% endifmemberof %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
|
||||
<dt>
|
||||
<a href='{{servlet-context}}/list-visits-Visits'>
|
||||
Visit
|
||||
</a>
|
||||
</dt>
|
||||
{% endifmemberof %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
|
||||
<dd>
|
||||
<p>
|
||||
All visits made by canvassers to dwellings in
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-addresses-Address.html generated 2018-07-09T20:55:34.515Z by adl.to-selmer-templates.
|
||||
<!-- File form-addresses-Address.html generated 2018-07-10T15:25:24.196Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -119,13 +121,9 @@ District_id
|
|||
</label>
|
||||
{% if {{record.district_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='districts' found='true'>
|
||||
<input name='district_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-districts?name=" + district_id_search_box.text, null, function (data) {updateMenuOptions("district_id", "id", ["name"], data);})'/>
|
||||
<br/>
|
||||
<select id='district_id' name='district_id'>
|
||||
{% for r in districts %}<option value='{{r.id}}' {% ifequal record.district_id r.id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
|
||||
{% for option in district_id %}<option value='{{option.id}}' {% ifequal record.district_id option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='district_id' name='district_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -139,13 +137,9 @@ You are not permitted to view district_id of addresses
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='districts' found='true'>
|
||||
<input name='district_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-districts?name=" + district_id_search_box.text, null, function (data) {updateMenuOptions("district_id", "id", ["name"], data);})'/>
|
||||
<br/>
|
||||
<select id='district_id' name='district_id'>
|
||||
{% for r in districts %}<option value='{{r.id}}' {% ifequal record.district_id r.id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
|
||||
{% for option in district_id %}<option value='{{option.id}}' {% ifequal record.district_id option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='district_id' name='district_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -249,20 +243,34 @@ To delete this addresses record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `district_id`.
|
||||
*/
|
||||
$('#district_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-authorities-Authority.html generated 2018-07-09T20:55:34.531Z by adl.to-selmer-templates.
|
||||
<!-- File form-authorities-Authority.html generated 2018-07-10T15:25:24.207Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-canvassers-Canvasser.html generated 2018-07-09T20:55:34.536Z by adl.to-selmer-templates.
|
||||
<!-- File form-canvassers-Canvasser.html generated 2018-07-10T15:25:24.210Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
{% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
|
||||
{% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
|
||||
|
||||
{% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
|
||||
{% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -81,18 +84,86 @@ You are not permitted to view fullname of canvassers
|
|||
{% endif %}
|
||||
</p>
|
||||
<p class='widget'>
|
||||
<label for='avatar'>
|
||||
Avatar
|
||||
</label>
|
||||
{% if {{record.avatar}} %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<input id='avatar' name='avatar' type='file' value='{{record.avatar}}' maxlength='' size='16'/>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='avatar' name='avatar' class='pseudo-widget disabled'>
|
||||
{{record.avatar}}
|
||||
</span>
|
||||
{% else %}
|
||||
<span id='avatar' name='avatar' class='pseudo-widget not-authorised'>
|
||||
You are not permitted to view avatar of canvassers
|
||||
</span>
|
||||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<input id='avatar' name='avatar' type='file' value='{{record.avatar}}' maxlength='' size='16'/>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='avatar' name='avatar' class='pseudo-widget disabled'>
|
||||
{{record.avatar}}
|
||||
</span>
|
||||
{% else %}
|
||||
<span id='avatar' name='avatar' class='pseudo-widget not-authorised'>
|
||||
You are not permitted to view avatar of canvassers
|
||||
</span>
|
||||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% endif %}
|
||||
</p>
|
||||
<p class='widget'>
|
||||
<label for='bio'>
|
||||
Bio
|
||||
</label>
|
||||
{% if {{record.bio}} %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<textarea rows='8' cols='60' id='bio' name='bio'>
|
||||
{{record.bio}}
|
||||
</textarea>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='bio' name='bio' class='pseudo-widget disabled'>
|
||||
{{record.bio}}
|
||||
</span>
|
||||
{% else %}
|
||||
<span id='bio' name='bio' class='pseudo-widget not-authorised'>
|
||||
You are not permitted to view bio of canvassers
|
||||
</span>
|
||||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<textarea rows='8' cols='60' id='bio' name='bio'>
|
||||
{{record.bio}}
|
||||
</textarea>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='bio' name='bio' class='pseudo-widget disabled'>
|
||||
{{record.bio}}
|
||||
</span>
|
||||
{% else %}
|
||||
<span id='bio' name='bio' class='pseudo-widget not-authorised'>
|
||||
You are not permitted to view bio of canvassers
|
||||
</span>
|
||||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% endif %}
|
||||
</p>
|
||||
<p class='widget'>
|
||||
<label for='elector_id'>
|
||||
Elector_id
|
||||
</label>
|
||||
{% if {{record.elector_id}} %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<span class='select-box' farside='electors' found='true'>
|
||||
<input name='elector_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-electors?gender=" + elector_id_search_box.text + "&email=" + elector_id_search_box.text + "&name=" + elector_id_search_box.text + "&phone=" + elector_id_search_box.text, null, function (data) {updateMenuOptions("elector_id", "id", ["gender", "email", "name", "phone"], data);})'/>
|
||||
<br/>
|
||||
<select id='elector_id' name='elector_id'>
|
||||
{% 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 %}
|
||||
{% for option in elector_id %}<option value='{{option.id}}' {% ifequal record.elector_id option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='elector_id' name='elector_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -106,13 +177,9 @@ You are not permitted to view elector_id of canvassers
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<span class='select-box' farside='electors' found='true'>
|
||||
<input name='elector_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-electors?gender=" + elector_id_search_box.text + "&email=" + elector_id_search_box.text + "&name=" + elector_id_search_box.text + "&phone=" + elector_id_search_box.text, null, function (data) {updateMenuOptions("elector_id", "id", ["gender", "email", "name", "phone"], data);})'/>
|
||||
<br/>
|
||||
<select id='elector_id' name='elector_id'>
|
||||
{% 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 %}
|
||||
{% for option in elector_id %}<option value='{{option.id}}' {% ifequal record.elector_id option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='elector_id' name='elector_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -132,13 +199,9 @@ Address_id
|
|||
</label>
|
||||
{% if {{record.address_id}} %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<span class='select-box' farside='addresses' found='true'>
|
||||
<input name='address_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-addresses?postcode=" + address_id_search_box.text + "&address=" + address_id_search_box.text, null, function (data) {updateMenuOptions("address_id", "id", ["postcode", "address"], data);})'/>
|
||||
<br/>
|
||||
<select id='address_id' name='address_id'>
|
||||
{% for r in addresses %}<option value='{{r.id}}' {% ifequal record.address_id r.id%}selected{% endifequal %}>{{r.address}} {{r.postcode}}</option>{% endfor %}
|
||||
{% for option in address_id %}<option value='{{option.id}}' {% ifequal record.address_id option.id%}selected{% endifequal %}>{{option.address}} {{option.postcode}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -152,13 +215,9 @@ You are not permitted to view address_id of canvassers
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<span class='select-box' farside='addresses' found='true'>
|
||||
<input name='address_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-addresses?postcode=" + address_id_search_box.text + "&address=" + address_id_search_box.text, null, function (data) {updateMenuOptions("address_id", "id", ["postcode", "address"], data);})'/>
|
||||
<br/>
|
||||
<select id='address_id' name='address_id'>
|
||||
{% for r in addresses %}<option value='{{r.id}}' {% ifequal record.address_id r.id%}selected{% endifequal %}>{{r.address}} {{r.postcode}}</option>{% endfor %}
|
||||
{% for option in address_id %}<option value='{{option.id}}' {% ifequal record.address_id option.id%}selected{% endifequal %}>{{option.address}} {{option.postcode}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -246,13 +305,9 @@ Authority_id
|
|||
</label>
|
||||
{% if {{record.authority_id}} %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<span class='select-box' farside='authorities' found='true'>
|
||||
<input name='authority_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-authorities?id=" + authority_id_search_box.text, null, function (data) {updateMenuOptions("authority_id", "id", ["id"], data);})'/>
|
||||
<br/>
|
||||
<select id='authority_id' name='authority_id'>
|
||||
{% for r in authorities %}<option value='{{r.id}}' {% ifequal record.authority_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
|
||||
{% for option in authority_id %}<option value='{{option.id}}' {% ifequal record.authority_id option.id%}selected{% endifequal %}>{{option.id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='authority_id' name='authority_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -266,13 +321,9 @@ You are not permitted to view authority_id of canvassers
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<span class='select-box' farside='authorities' found='true'>
|
||||
<input name='authority_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-authorities?id=" + authority_id_search_box.text, null, function (data) {updateMenuOptions("authority_id", "id", ["id"], data);})'/>
|
||||
<br/>
|
||||
<select id='authority_id' name='authority_id'>
|
||||
{% for r in authorities %}<option value='{{r.id}}' {% ifequal record.authority_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
|
||||
{% for option in authority_id %}<option value='{{option.id}}' {% ifequal record.authority_id option.id%}selected{% endifequal %}>{{option.id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='authority_id' name='authority_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -326,11 +377,9 @@ Roles
|
|||
</label>
|
||||
{% if {{record.roles}} %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<span class='select-box' farside='roles' found='true'>
|
||||
<select id='roles' name='roles' multiple='multiple'>
|
||||
{% for r in roles %}<option value='{{r.role_id}}' {% ifequal record.roles r.role_id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
|
||||
{% for option in roles %}<option value='{{option.role_id}}' {% ifequal record.roles option.role_id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='roles' name='roles' class='pseudo-widget disabled'>
|
||||
|
|
@ -344,11 +393,9 @@ You are not permitted to view roles of canvassers
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers admin %}
|
||||
<span class='select-box' farside='roles' found='true'>
|
||||
<select id='roles' name='roles' multiple='multiple'>
|
||||
{% for r in roles %}<option value='{{r.role_id}}' {% ifequal record.roles r.role_id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
|
||||
{% for option in roles %}<option value='{{option.role_id}}' {% ifequal record.roles option.role_id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers admin canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='roles' name='roles' class='pseudo-widget disabled'>
|
||||
|
|
@ -384,20 +431,63 @@ To delete this canvassers record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `elector_id`.
|
||||
*/
|
||||
$('#elector_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `address_id`.
|
||||
*/
|
||||
$('#address_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var simplemde = new SimpleMDE({
|
||||
autosave: {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-districts-District.html generated 2018-07-09T20:55:34.509Z by adl.to-selmer-templates.
|
||||
<!-- File form-districts-District.html generated 2018-07-10T15:25:24.193Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-dwellings-Dwelling.html generated 2018-07-09T20:55:34.547Z by adl.to-selmer-templates.
|
||||
<!-- File form-dwellings-Dwelling.html generated 2018-07-10T15:25:24.216Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -17,13 +19,9 @@ Address_id
|
|||
</label>
|
||||
{% if {{record.address_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='addresses' found='true'>
|
||||
<input name='address_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-addresses?postcode=" + address_id_search_box.text + "&address=" + address_id_search_box.text, null, function (data) {updateMenuOptions("address_id", "id", ["postcode", "address"], data);})'/>
|
||||
<br/>
|
||||
<select id='address_id' name='address_id'>
|
||||
{% for r in addresses %}<option value='{{r.id}}' {% ifequal record.address_id r.id%}selected{% endifequal %}>{{r.address}} {{r.postcode}}</option>{% endfor %}
|
||||
{% for option in address_id %}<option value='{{option.id}}' {% ifequal record.address_id option.id%}selected{% endifequal %}>{{option.address}} {{option.postcode}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -37,13 +35,9 @@ You are not permitted to view address_id of dwellings
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='addresses' found='true'>
|
||||
<input name='address_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-addresses?postcode=" + address_id_search_box.text + "&address=" + address_id_search_box.text, null, function (data) {updateMenuOptions("address_id", "id", ["postcode", "address"], data);})'/>
|
||||
<br/>
|
||||
<select id='address_id' name='address_id'>
|
||||
{% for r in addresses %}<option value='{{r.id}}' {% ifequal record.address_id r.id%}selected{% endifequal %}>{{r.address}} {{r.postcode}}</option>{% endfor %}
|
||||
{% for option in address_id %}<option value='{{option.id}}' {% ifequal record.address_id option.id%}selected{% endifequal %}>{{option.address}} {{option.postcode}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -113,20 +107,34 @@ To delete this dwellings record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `address_id`.
|
||||
*/
|
||||
$('#address_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-electors-Elector.html generated 2018-07-09T20:55:34.529Z by adl.to-selmer-templates.
|
||||
<!-- File form-electors-Elector.html generated 2018-07-10T15:25:24.205Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -51,13 +53,9 @@ Dwelling_id
|
|||
</label>
|
||||
{% if {{record.dwelling_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='dwellings' found='true'>
|
||||
<input name='dwelling_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-dwellings?sub-address=" + dwelling_id_search_box.text + "&address_id=" + dwelling_id_search_box.text, null, function (data) {updateMenuOptions("dwelling_id", "id", ["sub-address", "address_id"], data);})'/>
|
||||
<br/>
|
||||
<select id='dwelling_id' name='dwelling_id'>
|
||||
{% for r in dwellings %}<option value='{{r.id}}' {% ifequal record.dwelling_id r.id%}selected{% endifequal %}>{{r.address_id}} {{r.sub-address}}</option>{% endfor %}
|
||||
{% for option in dwelling_id %}<option value='{{option.id}}' {% ifequal record.dwelling_id option.id%}selected{% endifequal %}>{{option.address_id}} {{option.sub-address}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='dwelling_id' name='dwelling_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -71,13 +69,9 @@ You are not permitted to view dwelling_id of electors
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='dwellings' found='true'>
|
||||
<input name='dwelling_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-dwellings?sub-address=" + dwelling_id_search_box.text + "&address_id=" + dwelling_id_search_box.text, null, function (data) {updateMenuOptions("dwelling_id", "id", ["sub-address", "address_id"], data);})'/>
|
||||
<br/>
|
||||
<select id='dwelling_id' name='dwelling_id'>
|
||||
{% for r in dwellings %}<option value='{{r.id}}' {% ifequal record.dwelling_id r.id%}selected{% endifequal %}>{{r.address_id}} {{r.sub-address}}</option>{% endfor %}
|
||||
{% for option in dwelling_id %}<option value='{{option.id}}' {% ifequal record.dwelling_id option.id%}selected{% endifequal %}>{{option.address_id}} {{option.sub-address}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='dwelling_id' name='dwelling_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -165,11 +159,9 @@ Gender
|
|||
</label>
|
||||
{% if {{record.gender}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='genders' found='true'>
|
||||
<select id='gender' name='gender'>
|
||||
{% for r in genders %}<option value='{{r.id}}' {% ifequal record.gender r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
|
||||
{% for option in gender %}<option value='{{option.id}}' {% ifequal record.gender option.id%}selected{% endifequal %}>{{option.id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='gender' name='gender' class='pseudo-widget disabled'>
|
||||
|
|
@ -183,11 +175,9 @@ You are not permitted to view gender of electors
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='genders' found='true'>
|
||||
<select id='gender' name='gender'>
|
||||
{% for r in genders %}<option value='{{r.id}}' {% ifequal record.gender r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
|
||||
{% for option in gender %}<option value='{{option.id}}' {% ifequal record.gender option.id%}selected{% endifequal %}>{{option.id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='gender' name='gender' class='pseudo-widget disabled'>
|
||||
|
|
@ -223,20 +213,34 @@ To delete this electors record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `dwelling_id`.
|
||||
*/
|
||||
$('#dwelling_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-events-Events.html generated 2018-07-09T20:55:34.534Z by adl.to-selmer-templates.
|
||||
<!-- File form-events-Events.html generated 2018-07-10T15:25:24.209Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
{% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
|
||||
{% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
|
||||
|
||||
{% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
|
||||
{% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -52,13 +55,9 @@ Teams
|
|||
</label>
|
||||
{% if {{record.teams}} %}
|
||||
{% ifmemberof teamorganisers admin %}
|
||||
<span class='select-box' farside='teams' found='true'>
|
||||
<input name='teams_search_box' onchange='$.getJSON("/auto/json/seach-strings-teams?name=" + teams_search_box.text, null, function (data) {updateMenuOptions("teams", "id", ["name"], data);})'/>
|
||||
<br/>
|
||||
<select id='teams' name='teams' multiple='multiple'>
|
||||
{% for r in teams %}<option value='{{r.id}}' {% ifequal record.teams r.id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
|
||||
{% for option in teams %}<option value='{{option.id}}' {% ifequal record.teams option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='teams' name='teams' class='pseudo-widget disabled'>
|
||||
|
|
@ -72,13 +71,9 @@ You are not permitted to view teams of events
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof teamorganisers admin %}
|
||||
<span class='select-box' farside='teams' found='true'>
|
||||
<input name='teams_search_box' onchange='$.getJSON("/auto/json/seach-strings-teams?name=" + teams_search_box.text, null, function (data) {updateMenuOptions("teams", "id", ["name"], data);})'/>
|
||||
<br/>
|
||||
<select id='teams' name='teams' multiple='multiple'>
|
||||
{% for r in teams %}<option value='{{r.id}}' {% ifequal record.teams r.id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
|
||||
{% for option in teams %}<option value='{{option.id}}' {% ifequal record.teams option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='teams' name='teams' class='pseudo-widget disabled'>
|
||||
|
|
@ -254,21 +249,6 @@ To delete this events record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
|
||||
var simplemde = new SimpleMDE({
|
||||
autosave: {
|
||||
enabled: true,
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-followupactions-Followupaction.html generated 2018-07-09T20:55:34.549Z by adl.to-selmer-templates.
|
||||
<!-- File form-followupactions-Followupaction.html generated 2018-07-10T15:25:24.218Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
{% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
|
||||
{% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
|
||||
|
||||
{% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
|
||||
{% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -18,13 +21,9 @@ Request_id
|
|||
</label>
|
||||
{% if {{record.request_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='followuprequests' found='true'>
|
||||
<input name='request_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-followuprequests?elector_id=" + request_id_search_box.text + "&issue_id=" + request_id_search_box.text + "&visit_id=" + request_id_search_box.text, null, function (data) {updateMenuOptions("request_id", "id", ["elector_id", "issue_id", "visit_id"], data);})'/>
|
||||
<br/>
|
||||
<select id='request_id' name='request_id'>
|
||||
{% 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 %}
|
||||
{% for option in request_id %}<option value='{{option.id}}' {% ifequal record.request_id option.id%}selected{% endifequal %}>{{option.elector_id}} {{option.visit_id}} {{option.issue_id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof issueexperts canvassers analysts issueeditors admin %}
|
||||
<span id='request_id' name='request_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -38,13 +37,9 @@ You are not permitted to view request_id of followupactions
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='followuprequests' found='true'>
|
||||
<input name='request_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-followuprequests?elector_id=" + request_id_search_box.text + "&issue_id=" + request_id_search_box.text + "&visit_id=" + request_id_search_box.text, null, function (data) {updateMenuOptions("request_id", "id", ["elector_id", "issue_id", "visit_id"], data);})'/>
|
||||
<br/>
|
||||
<select id='request_id' name='request_id'>
|
||||
{% 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 %}
|
||||
{% for option in request_id %}<option value='{{option.id}}' {% ifequal record.request_id option.id%}selected{% endifequal %}>{{option.elector_id}} {{option.visit_id}} {{option.issue_id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof issueexperts canvassers analysts issueeditors admin %}
|
||||
<span id='request_id' name='request_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -64,13 +59,9 @@ Actor
|
|||
</label>
|
||||
{% if {{record.actor}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='canvassers' found='true'>
|
||||
<input name='actor_search_box' onchange='$.getJSON("/auto/json/seach-strings-canvassers?=" + actor_search_box.text, null, function (data) {updateMenuOptions("actor", "", [""], data);})'/>
|
||||
<br/>
|
||||
<select id='actor' name='actor'>
|
||||
{% 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 %}
|
||||
{% for option in actor %}<option value='{{option.id}}' {% ifequal record.actor option.id%}selected{% endifequal %}>{{option.username}} {{option.fullname}} {{option.address_id}} {{option.phone}} {{option.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof issueexperts canvassers analysts issueeditors admin %}
|
||||
<span id='actor' name='actor' class='pseudo-widget disabled'>
|
||||
|
|
@ -84,13 +75,9 @@ You are not permitted to view actor of followupactions
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='canvassers' found='true'>
|
||||
<input name='actor_search_box' onchange='$.getJSON("/auto/json/seach-strings-canvassers?=" + actor_search_box.text, null, function (data) {updateMenuOptions("actor", "", [""], data);})'/>
|
||||
<br/>
|
||||
<select id='actor' name='actor'>
|
||||
{% 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 %}
|
||||
{% for option in actor %}<option value='{{option.id}}' {% ifequal record.actor option.id%}selected{% endifequal %}>{{option.username}} {{option.fullname}} {{option.address_id}} {{option.phone}} {{option.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof issueexperts canvassers analysts issueeditors admin %}
|
||||
<span id='actor' name='actor' class='pseudo-widget disabled'>
|
||||
|
|
@ -232,20 +219,63 @@ To delete this followupactions record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `request_id`.
|
||||
*/
|
||||
$('#request_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `actor`.
|
||||
*/
|
||||
$('#actor').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var simplemde = new SimpleMDE({
|
||||
autosave: {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-followupmethods-Followupmethod.html generated 2018-07-09T20:55:34.550Z by adl.to-selmer-templates.
|
||||
<!-- File form-followupmethods-Followupmethod.html generated 2018-07-10T15:25:24.219Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-followuprequests-Followuprequest.html generated 2018-07-09T20:55:34.512Z by adl.to-selmer-templates.
|
||||
<!-- File form-followuprequests-Followuprequest.html generated 2018-07-10T15:25:24.194Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -16,14 +18,10 @@ See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
|||
Elector_id
|
||||
</label>
|
||||
{% if {{record.elector_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='electors' found='true'>
|
||||
<input name='elector_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-electors?gender=" + elector_id_search_box.text + "&email=" + elector_id_search_box.text + "&name=" + elector_id_search_box.text + "&phone=" + elector_id_search_box.text, null, function (data) {updateMenuOptions("elector_id", "id", ["gender", "email", "name", "phone"], data);})'/>
|
||||
<br/>
|
||||
{% ifmemberof %}
|
||||
<select id='elector_id' name='elector_id'>
|
||||
{% 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 %}
|
||||
{% for option in elector_id %}<option value='{{option.id}}' {% ifequal record.elector_id option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='elector_id' name='elector_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -36,14 +34,10 @@ You are not permitted to view elector_id of followuprequests
|
|||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='electors' found='true'>
|
||||
<input name='elector_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-electors?gender=" + elector_id_search_box.text + "&email=" + elector_id_search_box.text + "&name=" + elector_id_search_box.text + "&phone=" + elector_id_search_box.text, null, function (data) {updateMenuOptions("elector_id", "id", ["gender", "email", "name", "phone"], data);})'/>
|
||||
<br/>
|
||||
{% ifmemberof %}
|
||||
<select id='elector_id' name='elector_id'>
|
||||
{% 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 %}
|
||||
{% for option in elector_id %}<option value='{{option.id}}' {% ifequal record.elector_id option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='elector_id' name='elector_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -62,14 +56,10 @@ You are not permitted to view elector_id of followuprequests
|
|||
Visit_id
|
||||
</label>
|
||||
{% if {{record.visit_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='visits' found='true'>
|
||||
<input name='visit_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-visits?address_id=" + visit_id_search_box.text + "&date=" + visit_id_search_box.text, null, function (data) {updateMenuOptions("visit_id", "id", ["address_id", "date"], data);})'/>
|
||||
<br/>
|
||||
{% ifmemberof %}
|
||||
<select id='visit_id' name='visit_id'>
|
||||
{% for r in visits %}<option value='{{r.id}}' {% ifequal record.visit_id r.id%}selected{% endifequal %}>{{r.address_id}} {{r.date}}</option>{% endfor %}
|
||||
{% for option in visit_id %}<option value='{{option.id}}' {% ifequal record.visit_id option.id%}selected{% endifequal %}>{{option.address_id}} {{option.date}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='visit_id' name='visit_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -82,14 +72,10 @@ You are not permitted to view visit_id of followuprequests
|
|||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='visits' found='true'>
|
||||
<input name='visit_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-visits?address_id=" + visit_id_search_box.text + "&date=" + visit_id_search_box.text, null, function (data) {updateMenuOptions("visit_id", "id", ["address_id", "date"], data);})'/>
|
||||
<br/>
|
||||
{% ifmemberof %}
|
||||
<select id='visit_id' name='visit_id'>
|
||||
{% for r in visits %}<option value='{{r.id}}' {% ifequal record.visit_id r.id%}selected{% endifequal %}>{{r.address_id}} {{r.date}}</option>{% endfor %}
|
||||
{% for option in visit_id %}<option value='{{option.id}}' {% ifequal record.visit_id option.id%}selected{% endifequal %}>{{option.address_id}} {{option.date}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='visit_id' name='visit_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -108,12 +94,10 @@ You are not permitted to view visit_id of followuprequests
|
|||
Issue_id
|
||||
</label>
|
||||
{% if {{record.issue_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='issues' found='true'>
|
||||
{% ifmemberof %}
|
||||
<select id='issue_id' name='issue_id'>
|
||||
{% for r in issues %}<option value='{{r.id}}' {% ifequal record.issue_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
|
||||
{% for option in issue_id %}<option value='{{option.id}}' {% ifequal record.issue_id option.id%}selected{% endifequal %}>{{option.id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='issue_id' name='issue_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -126,12 +110,10 @@ You are not permitted to view issue_id of followuprequests
|
|||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='issues' found='true'>
|
||||
{% ifmemberof %}
|
||||
<select id='issue_id' name='issue_id'>
|
||||
{% for r in issues %}<option value='{{r.id}}' {% ifequal record.issue_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
|
||||
{% for option in issue_id %}<option value='{{option.id}}' {% ifequal record.issue_id option.id%}selected{% endifequal %}>{{option.id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='issue_id' name='issue_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -150,12 +132,10 @@ You are not permitted to view issue_id of followuprequests
|
|||
Method_id
|
||||
</label>
|
||||
{% if {{record.method_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='followupmethods' found='true'>
|
||||
{% ifmemberof %}
|
||||
<select id='method_id' name='method_id'>
|
||||
{% for r in followupmethods %}<option value='{{r.id}}' {% ifequal record.method_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
|
||||
{% for option in method_id %}<option value='{{option.id}}' {% ifequal record.method_id option.id%}selected{% endifequal %}>{{option.id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='method_id' name='method_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -168,12 +148,10 @@ You are not permitted to view method_id of followuprequests
|
|||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='followupmethods' found='true'>
|
||||
{% ifmemberof %}
|
||||
<select id='method_id' name='method_id'>
|
||||
{% for r in followupmethods %}<option value='{{r.id}}' {% ifequal record.method_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
|
||||
{% for option in method_id %}<option value='{{option.id}}' {% ifequal record.method_id option.id%}selected{% endifequal %}>{{option.id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='method_id' name='method_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -187,7 +165,7 @@ You are not permitted to view method_id of followuprequests
|
|||
{% endifmemberof %}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% ifmemberof admin %}
|
||||
{% ifmemberof %}
|
||||
<p class='widget action-safe'>
|
||||
<label for='save-button' class='action-safe'>
|
||||
To save this followuprequests record
|
||||
|
|
@ -195,7 +173,7 @@ To save this followuprequests record
|
|||
<input id='save-button' name='save-button' class='action-safe' type='submit' value='Save!'/>
|
||||
</p>
|
||||
{% endifmemberof %}
|
||||
{% ifmemberof admin %}
|
||||
{% ifmemberof %}
|
||||
<p class='widget action-dangerous'>
|
||||
<label for='delete-button' class='action-dangerous'>
|
||||
To delete this followuprequests record
|
||||
|
|
@ -209,20 +187,63 @@ To delete this followuprequests record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `elector_id`.
|
||||
*/
|
||||
$('#elector_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `visit_id`.
|
||||
*/
|
||||
$('#visit_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-genders-Gender.html generated 2018-07-09T20:55:34.505Z by adl.to-selmer-templates.
|
||||
<!-- File form-genders-Gender.html generated 2018-07-10T15:25:24.191Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-intentions-Intention.html generated 2018-07-09T20:55:34.543Z by adl.to-selmer-templates.
|
||||
<!-- File form-intentions-Intention.html generated 2018-07-10T15:25:24.214Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -15,14 +17,10 @@ See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
|||
Visit_id
|
||||
</label>
|
||||
{% if {{record.visit_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='visits' found='true'>
|
||||
<input name='visit_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-visits?address_id=" + visit_id_search_box.text + "&date=" + visit_id_search_box.text, null, function (data) {updateMenuOptions("visit_id", "id", ["address_id", "date"], data);})'/>
|
||||
<br/>
|
||||
{% ifmemberof %}
|
||||
<select id='visit_id' name='visit_id'>
|
||||
{% for r in visits %}<option value='{{r.id}}' {% ifequal record.visit_id r.id%}selected{% endifequal %}>{{r.address_id}} {{r.date}}</option>{% endfor %}
|
||||
{% for option in visit_id %}<option value='{{option.id}}' {% ifequal record.visit_id option.id%}selected{% endifequal %}>{{option.address_id}} {{option.date}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers analysts admin %}
|
||||
<span id='visit_id' name='visit_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -35,14 +33,10 @@ You are not permitted to view visit_id of intentions
|
|||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='visits' found='true'>
|
||||
<input name='visit_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-visits?address_id=" + visit_id_search_box.text + "&date=" + visit_id_search_box.text, null, function (data) {updateMenuOptions("visit_id", "id", ["address_id", "date"], data);})'/>
|
||||
<br/>
|
||||
{% ifmemberof %}
|
||||
<select id='visit_id' name='visit_id'>
|
||||
{% for r in visits %}<option value='{{r.id}}' {% ifequal record.visit_id r.id%}selected{% endifequal %}>{{r.address_id}} {{r.date}}</option>{% endfor %}
|
||||
{% for option in visit_id %}<option value='{{option.id}}' {% ifequal record.visit_id option.id%}selected{% endifequal %}>{{option.address_id}} {{option.date}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers analysts admin %}
|
||||
<span id='visit_id' name='visit_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -61,14 +55,10 @@ You are not permitted to view visit_id of intentions
|
|||
Elector_id
|
||||
</label>
|
||||
{% if {{record.elector_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='electors' found='true'>
|
||||
<input name='elector_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-electors?gender=" + elector_id_search_box.text + "&email=" + elector_id_search_box.text + "&name=" + elector_id_search_box.text + "&phone=" + elector_id_search_box.text, null, function (data) {updateMenuOptions("elector_id", "id", ["gender", "email", "name", "phone"], data);})'/>
|
||||
<br/>
|
||||
{% ifmemberof %}
|
||||
<select id='elector_id' name='elector_id'>
|
||||
{% 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 %}
|
||||
{% for option in elector_id %}<option value='{{option.id}}' {% ifequal record.elector_id option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers analysts admin %}
|
||||
<span id='elector_id' name='elector_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -81,14 +71,10 @@ You are not permitted to view elector_id of intentions
|
|||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='electors' found='true'>
|
||||
<input name='elector_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-electors?gender=" + elector_id_search_box.text + "&email=" + elector_id_search_box.text + "&name=" + elector_id_search_box.text + "&phone=" + elector_id_search_box.text, null, function (data) {updateMenuOptions("elector_id", "id", ["gender", "email", "name", "phone"], data);})'/>
|
||||
<br/>
|
||||
{% ifmemberof %}
|
||||
<select id='elector_id' name='elector_id'>
|
||||
{% 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 %}
|
||||
{% for option in elector_id %}<option value='{{option.id}}' {% ifequal record.elector_id option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers analysts admin %}
|
||||
<span id='elector_id' name='elector_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -107,12 +93,10 @@ You are not permitted to view elector_id of intentions
|
|||
Option_id
|
||||
</label>
|
||||
{% if {{record.option_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='options' found='true'>
|
||||
{% ifmemberof %}
|
||||
<select id='option_id' name='option_id'>
|
||||
{% for r in options %}<option value='{{r.id}}' {% ifequal record.option_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
|
||||
{% for option in option_id %}<option value='{{option.id}}' {% ifequal record.option_id option.id%}selected{% endifequal %}>{{option.id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers analysts admin %}
|
||||
<span id='option_id' name='option_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -125,12 +109,10 @@ You are not permitted to view option_id of intentions
|
|||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='options' found='true'>
|
||||
{% ifmemberof %}
|
||||
<select id='option_id' name='option_id'>
|
||||
{% for r in options %}<option value='{{r.id}}' {% ifequal record.option_id r.id%}selected{% endifequal %}>{{r.id}}</option>{% endfor %}
|
||||
{% for option in option_id %}<option value='{{option.id}}' {% ifequal record.option_id option.id%}selected{% endifequal %}>{{option.id}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers analysts admin %}
|
||||
<span id='option_id' name='option_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -149,7 +131,7 @@ You are not permitted to view option_id of intentions
|
|||
Locality
|
||||
</label>
|
||||
{% if {{record.locality}} %}
|
||||
{% ifmemberof admin %}
|
||||
{% ifmemberof %}
|
||||
<input id='locality' name='locality' type='number' value='{{record.locality}}' maxlength='' size='16'/>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers analysts admin %}
|
||||
|
|
@ -163,7 +145,7 @@ You are not permitted to view locality of intentions
|
|||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
{% ifmemberof %}
|
||||
<input id='locality' name='locality' type='number' value='{{record.locality}}' maxlength='' size='16'/>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers analysts admin %}
|
||||
|
|
@ -178,7 +160,7 @@ You are not permitted to view locality of intentions
|
|||
{% endifmemberof %}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% ifmemberof admin %}
|
||||
{% ifmemberof %}
|
||||
<p class='widget action-safe'>
|
||||
<label for='save-button' class='action-safe'>
|
||||
To save this intentions record
|
||||
|
|
@ -186,7 +168,7 @@ To save this intentions record
|
|||
<input id='save-button' name='save-button' class='action-safe' type='submit' value='Save!'/>
|
||||
</p>
|
||||
{% endifmemberof %}
|
||||
{% ifmemberof admin %}
|
||||
{% ifmemberof %}
|
||||
<p class='widget action-dangerous'>
|
||||
<label for='delete-button' class='action-dangerous'>
|
||||
To delete this intentions record
|
||||
|
|
@ -200,20 +182,63 @@ To delete this intentions record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `visit_id`.
|
||||
*/
|
||||
$('#visit_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `elector_id`.
|
||||
*/
|
||||
$('#elector_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-issues-Issue.html generated 2018-07-09T20:55:34.521Z by adl.to-selmer-templates.
|
||||
<!-- File form-issues-Issue.html generated 2018-07-10T15:25:24.198Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
{% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
|
||||
{% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
|
||||
|
||||
{% script "js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
|
||||
{% style "js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -173,21 +176,6 @@ To delete this issues record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
|
||||
var simplemde = new SimpleMDE({
|
||||
autosave: {
|
||||
enabled: true,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-options-Option.html generated 2018-07-09T20:55:34.542Z by adl.to-selmer-templates.
|
||||
<!-- File form-options-Option.html generated 2018-07-10T15:25:24.214Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-roles-Role.html generated 2018-07-09T20:55:34.522Z by adl.to-selmer-templates.
|
||||
<!-- File form-roles-Role.html generated 2018-07-10T15:25:24.199Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -51,13 +53,9 @@ Members
|
|||
</label>
|
||||
{% if {{record.members}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='canvassers' found='true'>
|
||||
<input name='members_search_box' onchange='$.getJSON("/auto/json/seach-strings-canvassers?=" + members_search_box.text, null, function (data) {updateMenuOptions("members", "", [""], data);})'/>
|
||||
<br/>
|
||||
<select id='members' name='members' multiple='multiple'>
|
||||
{% 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 %}
|
||||
{% for option in members %}<option value='{{option.id}}' {% ifequal record.members option.id%}selected{% endifequal %}>{{option.username}} {{option.fullname}} {{option.address_id}} {{option.phone}} {{option.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='members' name='members' class='pseudo-widget disabled'>
|
||||
|
|
@ -71,13 +69,9 @@ You are not permitted to view members of roles
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='canvassers' found='true'>
|
||||
<input name='members_search_box' onchange='$.getJSON("/auto/json/seach-strings-canvassers?=" + members_search_box.text, null, function (data) {updateMenuOptions("members", "", [""], data);})'/>
|
||||
<br/>
|
||||
<select id='members' name='members' multiple='multiple'>
|
||||
{% 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 %}
|
||||
{% for option in members %}<option value='{{option.id}}' {% ifequal record.members option.id%}selected{% endifequal %}>{{option.username}} {{option.fullname}} {{option.address_id}} {{option.phone}} {{option.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='members' name='members' class='pseudo-widget disabled'>
|
||||
|
|
@ -113,21 +107,6 @@ To delete this roles record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-teams-Team.html generated 2018-07-09T20:55:34.527Z by adl.to-selmer-templates.
|
||||
<!-- File form-teams-Team.html generated 2018-07-10T15:25:24.204Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -51,13 +53,9 @@ District_id
|
|||
</label>
|
||||
{% if {{record.district_id}} %}
|
||||
{% ifmemberof teamorganisers admin teamorganisers admin %}
|
||||
<span class='select-box' farside='districts' found='true'>
|
||||
<input name='district_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-districts?name=" + district_id_search_box.text, null, function (data) {updateMenuOptions("district_id", "id", ["name"], data);})'/>
|
||||
<br/>
|
||||
<select id='district_id' name='district_id'>
|
||||
{% for r in districts %}<option value='{{r.id}}' {% ifequal record.district_id r.id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
|
||||
{% for option in district_id %}<option value='{{option.id}}' {% ifequal record.district_id option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin teamorganisers admin %}
|
||||
<span id='district_id' name='district_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -71,13 +69,9 @@ You are not permitted to view district_id of teams
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof teamorganisers admin teamorganisers admin %}
|
||||
<span class='select-box' farside='districts' found='true'>
|
||||
<input name='district_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-districts?name=" + district_id_search_box.text, null, function (data) {updateMenuOptions("district_id", "id", ["name"], data);})'/>
|
||||
<br/>
|
||||
<select id='district_id' name='district_id'>
|
||||
{% for r in districts %}<option value='{{r.id}}' {% ifequal record.district_id r.id%}selected{% endifequal %}>{{r.name}}</option>{% endfor %}
|
||||
{% for option in district_id %}<option value='{{option.id}}' {% ifequal record.district_id option.id%}selected{% endifequal %}>{{option.name}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin teamorganisers admin %}
|
||||
<span id='district_id' name='district_id' class='pseudo-widget disabled'>
|
||||
|
|
@ -131,13 +125,9 @@ Members
|
|||
</label>
|
||||
{% if {{record.members}} %}
|
||||
{% ifmemberof teamorganisers admin teamorganisers admin %}
|
||||
<span class='select-box' farside='canvassers' found='true'>
|
||||
<input name='members_search_box' onchange='$.getJSON("/auto/json/seach-strings-canvassers?=" + members_search_box.text, null, function (data) {updateMenuOptions("members", "", [""], data);})'/>
|
||||
<br/>
|
||||
<select id='members' name='members' multiple='multiple'>
|
||||
{% 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 %}
|
||||
{% for option in members %}<option value='{{option.id}}' {% ifequal record.members option.id%}selected{% endifequal %}>{{option.username}} {{option.fullname}} {{option.address_id}} {{option.phone}} {{option.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin teamorganisers admin %}
|
||||
<span id='members' name='members' class='pseudo-widget disabled'>
|
||||
|
|
@ -151,13 +141,9 @@ You are not permitted to view members of teams
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof teamorganisers admin teamorganisers admin %}
|
||||
<span class='select-box' farside='canvassers' found='true'>
|
||||
<input name='members_search_box' onchange='$.getJSON("/auto/json/seach-strings-canvassers?=" + members_search_box.text, null, function (data) {updateMenuOptions("members", "", [""], data);})'/>
|
||||
<br/>
|
||||
<select id='members' name='members' multiple='multiple'>
|
||||
{% 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 %}
|
||||
{% for option in members %}<option value='{{option.id}}' {% ifequal record.members option.id%}selected{% endifequal %}>{{option.username}} {{option.fullname}} {{option.address_id}} {{option.phone}} {{option.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin teamorganisers admin %}
|
||||
<span id='members' name='members' class='pseudo-widget disabled'>
|
||||
|
|
@ -177,13 +163,9 @@ Organisers
|
|||
</label>
|
||||
{% if {{record.organisers}} %}
|
||||
{% ifmemberof teamorganisers admin teamorganisers admin %}
|
||||
<span class='select-box' farside='canvassers' found='true'>
|
||||
<input name='organisers_search_box' onchange='$.getJSON("/auto/json/seach-strings-canvassers?=" + organisers_search_box.text, null, function (data) {updateMenuOptions("organisers", "", [""], data);})'/>
|
||||
<br/>
|
||||
<select id='organisers' name='organisers' multiple='multiple'>
|
||||
{% 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 %}
|
||||
{% for option in organisers %}<option value='{{option.id}}' {% ifequal record.organisers option.id%}selected{% endifequal %}>{{option.username}} {{option.fullname}} {{option.address_id}} {{option.phone}} {{option.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin teamorganisers admin %}
|
||||
<span id='organisers' name='organisers' class='pseudo-widget disabled'>
|
||||
|
|
@ -197,13 +179,9 @@ You are not permitted to view organisers of teams
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof teamorganisers admin teamorganisers admin %}
|
||||
<span class='select-box' farside='canvassers' found='true'>
|
||||
<input name='organisers_search_box' onchange='$.getJSON("/auto/json/seach-strings-canvassers?=" + organisers_search_box.text, null, function (data) {updateMenuOptions("organisers", "", [""], data);})'/>
|
||||
<br/>
|
||||
<select id='organisers' name='organisers' multiple='multiple'>
|
||||
{% 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 %}
|
||||
{% for option in organisers %}<option value='{{option.id}}' {% ifequal record.organisers option.id%}selected{% endifequal %}>{{option.username}} {{option.fullname}} {{option.address_id}} {{option.phone}} {{option.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin teamorganisers admin %}
|
||||
<span id='organisers' name='organisers' class='pseudo-widget disabled'>
|
||||
|
|
@ -268,25 +246,137 @@ To delete this teams record
|
|||
</p>
|
||||
{% endifmemberof %}
|
||||
</form>
|
||||
<div class='auxlist'>
|
||||
<h2>
|
||||
Organisers
|
||||
</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Id
|
||||
</th>
|
||||
<th>
|
||||
Fullname
|
||||
</th>
|
||||
<th>
|
||||
Email
|
||||
</th>
|
||||
<th>
|
||||
Phone
|
||||
</th>
|
||||
<th>
|
||||
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for record in organisers %}
|
||||
<tr>
|
||||
<td>
|
||||
{{ record.id }}
|
||||
</td>
|
||||
<td>
|
||||
{{ record.fullname }}
|
||||
</td>
|
||||
<td>
|
||||
{{ record.email }}
|
||||
</td>
|
||||
<td>
|
||||
{{ record.phone }}
|
||||
</td>
|
||||
<td>
|
||||
<a href='{{servlet-context}}/form-canvassers-Canvasser?id={{ record.id }}'>
|
||||
View
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='auxlist'>
|
||||
<h2>
|
||||
Members
|
||||
</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Id
|
||||
</th>
|
||||
<th>
|
||||
Fullname
|
||||
</th>
|
||||
<th>
|
||||
Email
|
||||
</th>
|
||||
<th>
|
||||
Phone
|
||||
</th>
|
||||
<th>
|
||||
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for record in members %}
|
||||
<tr>
|
||||
<td>
|
||||
{{ record.id }}
|
||||
</td>
|
||||
<td>
|
||||
{{ record.fullname }}
|
||||
</td>
|
||||
<td>
|
||||
{{ record.email }}
|
||||
</td>
|
||||
<td>
|
||||
{{ record.phone }}
|
||||
</td>
|
||||
<td>
|
||||
<a href='{{servlet-context}}/form-canvassers-Canvasser?id={{ record.id }}'>
|
||||
View
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `district_id`.
|
||||
*/
|
||||
$('#district_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-visits-Visit.html generated 2018-07-09T20:55:34.524Z by adl.to-selmer-templates.
|
||||
<!-- File form-visits-Visit.html generated 2018-07-10T15:25:24.201Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
|
||||
{% script "/js/lib/node_modules/selectize/dist/js/standalone/selectize.min.js" %}
|
||||
{% style "/js/lib/node_modules/selectize/dist/css/selectize.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
|
|
@ -18,7 +20,7 @@ Id
|
|||
{% ifmemberof admin %}
|
||||
<input id='id' name='id' type='number' value='{{record.id}}' maxlength='' size='16'/>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
|
||||
<span id='id' name='id' class='pseudo-widget disabled'>
|
||||
{{record.id}}
|
||||
</span>
|
||||
|
|
@ -32,7 +34,7 @@ You are not permitted to view id of visits
|
|||
{% ifmemberof admin %}
|
||||
<input id='id' name='id' type='number' value='{{record.id}}' maxlength='' size='16'/>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
|
||||
<span id='id' name='id' class='pseudo-widget disabled'>
|
||||
{{record.id}}
|
||||
</span>
|
||||
|
|
@ -50,15 +52,11 @@ Address_id
|
|||
</label>
|
||||
{% if {{record.address_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='addresses' found='true'>
|
||||
<input name='address_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-addresses?postcode=" + address_id_search_box.text + "&address=" + address_id_search_box.text, null, function (data) {updateMenuOptions("address_id", "id", ["postcode", "address"], data);})'/>
|
||||
<br/>
|
||||
<select id='address_id' name='address_id'>
|
||||
{% for r in addresses %}<option value='{{r.id}}' {% ifequal record.address_id r.id%}selected{% endifequal %}>{{r.address}} {{r.postcode}}</option>{% endfor %}
|
||||
{% for option in address_id %}<option value='{{option.id}}' {% ifequal record.address_id option.id%}selected{% endifequal %}>{{option.address}} {{option.postcode}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
|
||||
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
|
||||
{{record.address_id}}
|
||||
</span>
|
||||
|
|
@ -70,15 +68,11 @@ You are not permitted to view address_id of visits
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='addresses' found='true'>
|
||||
<input name='address_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-addresses?postcode=" + address_id_search_box.text + "&address=" + address_id_search_box.text, null, function (data) {updateMenuOptions("address_id", "id", ["postcode", "address"], data);})'/>
|
||||
<br/>
|
||||
<select id='address_id' name='address_id'>
|
||||
{% for r in addresses %}<option value='{{r.id}}' {% ifequal record.address_id r.id%}selected{% endifequal %}>{{r.address}} {{r.postcode}}</option>{% endfor %}
|
||||
{% for option in address_id %}<option value='{{option.id}}' {% ifequal record.address_id option.id%}selected{% endifequal %}>{{option.address}} {{option.postcode}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
|
||||
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
|
||||
{{record.address_id}}
|
||||
</span>
|
||||
|
|
@ -96,15 +90,11 @@ Canvasser_id
|
|||
</label>
|
||||
{% if {{record.canvasser_id}} %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='canvassers' found='true'>
|
||||
<input name='canvasser_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-canvassers?=" + canvasser_id_search_box.text, null, function (data) {updateMenuOptions("canvasser_id", "", [""], data);})'/>
|
||||
<br/>
|
||||
<select id='canvasser_id' name='canvasser_id'>
|
||||
{% 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 %}
|
||||
{% for option in canvasser_id %}<option value='{{option.id}}' {% ifequal record.canvasser_id option.id%}selected{% endifequal %}>{{option.username}} {{option.fullname}} {{option.address_id}} {{option.phone}} {{option.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
|
||||
<span id='canvasser_id' name='canvasser_id' class='pseudo-widget disabled'>
|
||||
{{record.canvasser_id}}
|
||||
</span>
|
||||
|
|
@ -116,15 +106,11 @@ You are not permitted to view canvasser_id of visits
|
|||
{% endifmemberof %}
|
||||
{% else %}
|
||||
{% ifmemberof admin %}
|
||||
<span class='select-box' farside='canvassers' found='true'>
|
||||
<input name='canvasser_id_search_box' onchange='$.getJSON("/auto/json/seach-strings-canvassers?=" + canvasser_id_search_box.text, null, function (data) {updateMenuOptions("canvasser_id", "", [""], data);})'/>
|
||||
<br/>
|
||||
<select id='canvasser_id' name='canvasser_id'>
|
||||
{% 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 %}
|
||||
{% for option in canvasser_id %}<option value='{{option.id}}' {% ifequal record.canvasser_id option.id%}selected{% endifequal %}>{{option.username}} {{option.fullname}} {{option.address_id}} {{option.phone}} {{option.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</span>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
|
||||
<span id='canvasser_id' name='canvasser_id' class='pseudo-widget disabled'>
|
||||
{{record.canvasser_id}}
|
||||
</span>
|
||||
|
|
@ -144,7 +130,7 @@ Date
|
|||
{% ifmemberof admin %}
|
||||
<input id='date' name='date' type='string' value='{{record.date}}' maxlength='' size='16'/>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
|
||||
<span id='date' name='date' class='pseudo-widget disabled'>
|
||||
{{record.date}}
|
||||
</span>
|
||||
|
|
@ -158,7 +144,7 @@ You are not permitted to view date of visits
|
|||
{% ifmemberof admin %}
|
||||
<input id='date' name='date' type='string' value='{{record.date}}' maxlength='' size='16'/>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin canvassers teamorganisers admin %}
|
||||
<span id='date' name='date' class='pseudo-widget disabled'>
|
||||
{{record.date}}
|
||||
</span>
|
||||
|
|
@ -192,20 +178,63 @@ To delete this visits record
|
|||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
/**
|
||||
* update the select menu with id `wid` from this `data` whose fields include
|
||||
* this `entity_key` and these `fields`
|
||||
*/
|
||||
function updateMenuOptions(wid, entity_key, fields, data){
|
||||
$('#' + wid).children().filter(function(){
|
||||
return $(this).attr('selected') === undefined;
|
||||
}).remove().end();
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `address_id`.
|
||||
*/
|
||||
$('#address_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
$.each(data, function(key, entry){
|
||||
$('#' + wid).append(
|
||||
$('<option></option>').attr('value', key).text(entry));
|
||||
});
|
||||
}
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* selectize one select widget. Substitute the actual id of the widget for `canvasser_id`.
|
||||
*/
|
||||
$('#canvasser_id').selectize({
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
options: [],
|
||||
create: false,
|
||||
|
||||
load: function(query, callback) {
|
||||
console.log('Desperately seeking ' + query);
|
||||
if (query === null || !query.length) return callback();
|
||||
$.ajax({
|
||||
url: '/json/auto/search-strings-electors?name=' + query,
|
||||
type: 'GET',
|
||||
dataType: 'jsonp',
|
||||
error: function() {
|
||||
console.log( 'Query ' + query + ' failed.');
|
||||
callback();
|
||||
},
|
||||
success: function(res) {
|
||||
console.log('Received ' + res + ' records for ' + query);
|
||||
callback(res);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-addresses-Addresses.html generated 2018-07-09T20:55:34.533Z by adl.to-selmer-templates.
|
||||
<!-- File list-addresses-Addresses.html generated 2018-07-10T15:25:24.208Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-authorities-Authorities.html generated 2018-07-09T20:55:34.510Z by adl.to-selmer-templates.
|
||||
<!-- File list-authorities-Authorities.html generated 2018-07-10T15:25:24.194Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-canvassers-Canvassers.html generated 2018-07-09T20:55:34.545Z by adl.to-selmer-templates.
|
||||
<!-- File list-canvassers-Canvassers.html generated 2018-07-10T15:25:24.216Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
@ -54,18 +54,9 @@ Username
|
|||
Fullname
|
||||
</th>
|
||||
<th>
|
||||
Elector_id
|
||||
</th>
|
||||
<th>
|
||||
Address_id
|
||||
</th>
|
||||
<th>
|
||||
Phone
|
||||
</th>
|
||||
<th>
|
||||
Email
|
||||
</th>
|
||||
<th>
|
||||
Authority_id
|
||||
</th>
|
||||
<th>
|
||||
|
|
@ -86,18 +77,9 @@ Authorised
|
|||
<input id='fullname' type='text' name='fullname' value='{{ params.fullname }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='elector_id_expanded' type='text' name='elector_id_expanded' value='{{ params.elector_id_expanded }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='address_id_expanded' type='text' name='address_id_expanded' value='{{ params.address_id_expanded }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='phone' type='text' name='phone' value='{{ params.phone }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='email' type='text' name='email' value='{{ params.email }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='authority_id_expanded' type='text' name='authority_id_expanded' value='{{ params.authority_id_expanded }}'/>
|
||||
</th>
|
||||
<th>
|
||||
|
|
@ -121,22 +103,11 @@ Authorised
|
|||
{{ record.fullname }}
|
||||
</td>
|
||||
<td>
|
||||
<a href='{{servlet-context}}/form-electors-Elector?id={{ record.elector_id }}'>
|
||||
{{ record.elector_id_expanded }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href='{{servlet-context}}/form-addresses-Address?id={{ record.address_id }}'>
|
||||
{{ record.address_id_expanded }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
{{ record.phone }}
|
||||
</td>
|
||||
<td>
|
||||
{{ record.email }}
|
||||
</td>
|
||||
<td>
|
||||
<a href='{{servlet-context}}/form-authorities-Authority?id={{ record.authority_id }}'>
|
||||
{{ record.authority_id_expanded }}
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-districts-Districts.html generated 2018-07-09T20:55:34.538Z by adl.to-selmer-templates.
|
||||
<!-- File list-districts-Districts.html generated 2018-07-10T15:25:24.212Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-dwellings-Dwellings.html generated 2018-07-09T20:55:34.531Z by adl.to-selmer-templates.
|
||||
<!-- File list-dwellings-Dwellings.html generated 2018-07-10T15:25:24.206Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-electors-Electors.html generated 2018-07-09T20:55:34.519Z by adl.to-selmer-templates.
|
||||
<!-- File list-electors-Electors.html generated 2018-07-10T15:25:24.197Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-events-Events.html generated 2018-07-09T20:55:34.539Z by adl.to-selmer-templates.
|
||||
<!-- File list-events-Events.html generated 2018-07-10T15:25:24.212Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-followupactions-Followupactions.html generated 2018-07-09T20:55:34.544Z by adl.to-selmer-templates.
|
||||
<!-- File list-followupactions-Followupactions.html generated 2018-07-10T15:25:24.215Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
@ -57,9 +57,6 @@ Actor
|
|||
Date
|
||||
</th>
|
||||
<th>
|
||||
Notes
|
||||
</th>
|
||||
<th>
|
||||
Closed
|
||||
</th>
|
||||
<th>
|
||||
|
|
@ -80,9 +77,6 @@ Closed
|
|||
<input id='date' type='date' name='date' value='{{ params.date }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='notes' type='text' name='notes' value='{{ params.notes }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='closed' type='text' name='closed' value='{{ params.closed }}'/>
|
||||
</th>
|
||||
<th>
|
||||
|
|
@ -110,9 +104,6 @@ Closed
|
|||
{{ record.date }}
|
||||
</td>
|
||||
<td>
|
||||
{{ record.notes }}
|
||||
</td>
|
||||
<td>
|
||||
{{ record.closed }}
|
||||
</td>
|
||||
<td>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-followupmethods-Followupmethods.html generated 2018-07-09T20:55:34.524Z by adl.to-selmer-templates.
|
||||
<!-- File list-followupmethods-Followupmethods.html generated 2018-07-10T15:25:24.201Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-followuprequests-Followuprequests.html generated 2018-07-09T20:55:34.506Z by adl.to-selmer-templates.
|
||||
<!-- File list-followuprequests-Followuprequests.html generated 2018-07-10T15:25:24.192Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ Previous
|
|||
Next
|
||||
</a>
|
||||
</div>
|
||||
{% ifmemberof admin %}
|
||||
{% ifmemberof %}
|
||||
<div class='big-link-container'>
|
||||
<a href='{{servlet-context}}/form-followuprequests-Followuprequest' class='big-link'>
|
||||
Add a new Followuprequest
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-genders-Genders.html generated 2018-07-09T20:55:34.500Z by adl.to-selmer-templates.
|
||||
<!-- File list-genders-Genders.html generated 2018-07-10T15:25:24.188Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-intentions-Intentions.html generated 2018-07-09T20:55:34.548Z by adl.to-selmer-templates.
|
||||
<!-- File list-intentions-Intentions.html generated 2018-07-10T15:25:24.217Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ Previous
|
|||
Next
|
||||
</a>
|
||||
</div>
|
||||
{% ifmemberof admin %}
|
||||
{% ifmemberof %}
|
||||
<div class='big-link-container'>
|
||||
<a href='{{servlet-context}}/form-intentions-Intention' class='big-link'>
|
||||
Add a new Intention
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-issues-Issues.html generated 2018-07-09T20:55:34.541Z by adl.to-selmer-templates.
|
||||
<!-- File list-issues-Issues.html generated 2018-07-10T15:25:24.213Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-options-Options.html generated 2018-07-09T20:55:34.507Z by adl.to-selmer-templates.
|
||||
<!-- File list-options-Options.html generated 2018-07-10T15:25:24.193Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-roles-Roles.html generated 2018-07-09T20:55:34.523Z by adl.to-selmer-templates.
|
||||
<!-- File list-roles-Roles.html generated 2018-07-10T15:25:24.200Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-teams-Teams.html generated 2018-07-09T20:55:34.504Z by adl.to-selmer-templates.
|
||||
<!-- File list-teams-Teams.html generated 2018-07-10T15:25:24.190Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-visits-Visits.html generated 2018-07-09T20:55:34.502Z by adl.to-selmer-templates.
|
||||
<!-- File list-visits-Visits.html generated 2018-07-10T15:25:24.189Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@
|
|||
<div>
|
||||
<img height="16" width="16" alt="Clojure" src="{{servlet-context}}/img/credits/luminus-logo.png"/>Built with <a href="http://www.luminusweb.net/">LuminusWeb</a> ||
|
||||
<img height="16" width="16" alt="Clojure" src="{{servlet-context}}/img/credits/clojure-icon.gif"/> Powered by <a href="http://clojure.org">Clojure</a> ||
|
||||
<img height="16" width="16" alt="GitHub" src="{{servlet-context}}/img/credits/github-logo-transparent.png"/>Find me/fork me on <a href="https://github.com/simon-brooke/smeagol">Github</a> ||
|
||||
<img height="16" width="16" alt="GitHub" src="{{servlet-context}}/img/credits/github-logo-transparent.png"/>Find me/fork me on <a href="https://github.com/simon-brooke/youyesyet">Github</a> ||
|
||||
<img height="16" width="16" alt="Free Software Foundation" src="{{servlet-context}}/img/credits/gnu.small.png"/>Licensed under the <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License version 2.0</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue