Most of the followup action workflow done.
This commit is contained in:
parent
e53361a3a5
commit
55135d7d2e
4 changed files with 523 additions and 55 deletions
|
|
@ -0,0 +1,146 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-followuprequests-Followuprequests.html generated 2018-07-17T07:58:11.329Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
|
||||
|
||||
{% block back-links %}
|
||||
<div>
|
||||
<div class='back-link-container'>
|
||||
<a id='prev-selector' class='back-link'>
|
||||
Previous
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
{% block big-links %}
|
||||
<div>
|
||||
<div class='big-link-container'>
|
||||
<a id='next-selector' role='button' class='big-link'>
|
||||
Next
|
||||
</a>
|
||||
</div>
|
||||
{% ifmemberof %}
|
||||
<div class='big-link-container'>
|
||||
<a href='{{servlet-context}}/form-followuprequests-Followuprequest' class='big-link'>
|
||||
Add a new Followuprequest
|
||||
</a>
|
||||
</div>
|
||||
{% endifmemberof %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<form id='list-followuprequests-Followuprequests' class='list' action='{{servlet-context}}/list-followuprequests-Followuprequests' method='POST'>
|
||||
{% csrf-field %}
|
||||
<input id='offset' name='offset' type='hidden' value='{{params.offset|default:0}}'/>
|
||||
<input id='limit' name='limit' type='hidden' value='{{params.limit|default:50}}'/>
|
||||
<table caption='followuprequests'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Id
|
||||
</th>
|
||||
<th>
|
||||
Elector_id
|
||||
</th>
|
||||
<th>
|
||||
Visit_id
|
||||
</th>
|
||||
<th>
|
||||
Issue_id
|
||||
</th>
|
||||
<th>
|
||||
Method_id
|
||||
</th>
|
||||
<th>
|
||||
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<input id='id' type='text' name='id' value='{{ params.id }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='elector_id' type='text' name='elector_id' value='{{ params.elector_id }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='visit_id' type='text' name='visit_id' value='{{ params.visit_id }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='issue_id' type='text' name='issue_id' value='{{ params.issue_id }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input id='method_id' type='text' name='method_id' value='{{ params.method_id }}'/>
|
||||
</th>
|
||||
<th>
|
||||
<input type='submit' id='search-widget' value='Search'/>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for record in records %}
|
||||
<tr>
|
||||
<td>
|
||||
{{ record.id }}
|
||||
</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-visits-Visit?id={{ record.visit_id }}'>
|
||||
{{ record.visit_id_expanded }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href='{{servlet-context}}/form-issues-Issue?id={{ record.issue_id }}'>
|
||||
{{ record.issue_id_expanded }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href='{{servlet-context}}/form-followupmethods-Followupmethod?id={{ record.method_id }}'>
|
||||
{{ record.method_id_expanded }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href='{{servlet-context}}/issue-expert/followup-request?id={{ record.id }}'>
|
||||
View
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
{% block extra-script %}
|
||||
|
||||
var form = document.getElementById('list-followuprequests-Followuprequests');
|
||||
var ow = document.getElementById('offset');
|
||||
var lw = document.getElementById('limit');
|
||||
form.addEventListener('submit', function() {
|
||||
ow.value='0';
|
||||
});
|
||||
|
||||
var prevSelector = document.getElementById('prev-selector');
|
||||
if (prevSelector != null) {
|
||||
prevSelector.addEventListener('click', function () {
|
||||
if (parseInt(ow.value)===0) {
|
||||
window.location = '{{servlet-context}}/admin';
|
||||
} else {
|
||||
ow.value=(parseInt(ow.value)-parseInt(lw.value));
|
||||
console.log('Updated offset to ' + ow.value);
|
||||
form.submit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
document.getElementById('next-selector').addEventListener('click', function () {
|
||||
ow.value=(parseInt(ow.value)+parseInt(lw.value));
|
||||
console.log('Updated offset to ' + ow.value);
|
||||
form.submit();
|
||||
});
|
||||
{% endblock %}
|
||||
|
|
@ -1,55 +1,157 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-followupmethods-Followupmethod.html generated 2018-07-09T16:38:56.477Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
<!--
|
||||
Form for issue experts to handle a request from an elector.
|
||||
-->
|
||||
|
||||
|
||||
{% block extra-head %}
|
||||
|
||||
{% script "/js/lib/node_modules/simplemde/dist/simplemde.min.js" %}
|
||||
{% style "/js/lib/node_modules/simplemde/dist/simplemde.min.css" %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id='content' class='edit'>
|
||||
<form action='{{servlet-context}}/form-followupmethods-Followupmethod' method='POST'>
|
||||
{% csrf-field %}
|
||||
<p class='widget'>
|
||||
<label for='id'>
|
||||
Id
|
||||
</label>
|
||||
{% ifmemberof admin %}
|
||||
<input id='id' name='id' type='string' value='{{record.id}}' maxlength='' size='16'/>
|
||||
{% else %}
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='id' name='id' class='pseudo-widget disabled'>
|
||||
{{record.id}}
|
||||
</span>
|
||||
{% else %}
|
||||
<span id='id' name='id' class='pseudo-widget not-authorised'>
|
||||
You are not permitted to view id of followupmethods
|
||||
</span>
|
||||
{% endifmemberof %}
|
||||
{% endifmemberof %}
|
||||
</p>
|
||||
{% ifmemberof admin %}
|
||||
<p class='widget action-safe'>
|
||||
<label for='save-button' class='action-safe'>
|
||||
To save this followupmethods record
|
||||
</label>
|
||||
<input id='save-button' name='save-button' class='action-safe' type='submit' value='Save!'/>
|
||||
</p>
|
||||
{% endifmemberof %}
|
||||
{% ifmemberof admin %}
|
||||
<p class='widget action-dangerous'>
|
||||
<label for='delete-button' class='action-dangerous'>
|
||||
To delete this followupmethods record
|
||||
</label>
|
||||
<input id='delete-button' name='delete-button' class='action-dangerous' type='submit' value='Delete!'/>
|
||||
</p>
|
||||
{% endifmemberof %}
|
||||
</form>
|
||||
<form action='{{servlet-context}}/issue-expert/followup-action' method='POST'>
|
||||
{% csrf-field %}
|
||||
<input id='id' name='id' type='hidden' value='{{record.id}}'/>
|
||||
<p class='widget'>
|
||||
<label for='elector_id'>
|
||||
Elector
|
||||
</label>
|
||||
{% ifmemberof canvassers teamorganisers issueexperts analysts issueeditors admin %}
|
||||
<span id='elector_id' name='elector_id' class='pseudo-widget disabled'>
|
||||
{{elector.name}} ({{elector.gender}})
|
||||
</span>
|
||||
{% else %}
|
||||
<span id='elector_id' name='elector_id' class='pseudo-widget not-authorised'>
|
||||
You are not permitted to view elector of followuprequests
|
||||
</span>
|
||||
{% endifmemberof %}
|
||||
</p>
|
||||
<p class='widget'>
|
||||
<label for='visit'>
|
||||
Visit
|
||||
</label>
|
||||
{% ifmemberof issueexperts analysts issueeditors admin %}
|
||||
<span id='visit' name='visit' class='pseudo-widget disabled'>
|
||||
by {{visit.canvasser_id_expanded}} at {{visit.date}}
|
||||
</span>
|
||||
{% else %}
|
||||
<span id='visit_id' name='visit_id' class='pseudo-widget not-authorised'>
|
||||
You are not permitted to view visit of followuprequests
|
||||
</span>
|
||||
{% endifmemberof %}
|
||||
</p>
|
||||
<p class='widget'>
|
||||
<label for='issue_id'>
|
||||
{{issue.id}}
|
||||
</label>
|
||||
{% ifmemberof issueexperts admin %}
|
||||
<div id="issue-brief">
|
||||
{{issue.brief|safe}}
|
||||
</div>
|
||||
{% else %}
|
||||
<span id='issue_id' name='issue_id' class='pseudo-widget not-authorised'>
|
||||
You are not permitted to view issue of followuprequests
|
||||
</span>
|
||||
{% endifmemberof %}
|
||||
</p>
|
||||
<p class='widget'>
|
||||
<label for='method_id'>
|
||||
{{record.method_id}}
|
||||
</label>
|
||||
{% ifmemberof issueexperts admin %}
|
||||
<span id='method_id' name='method_id' class='pseudo-widget disabled'>
|
||||
{% ifequal record.method_id "Phone" %}{{elector.phone}}{% endifequal %}
|
||||
{% ifequal record.method_id "eMail" %}<a href="mailto:{{elector.email}}">{{elector.email}}</a>{% endifequal %}
|
||||
</span>
|
||||
{% else %}
|
||||
<span id='method_id' name='method_id' class='pseudo-widget not-authorised'>
|
||||
You are not permitted to view method of followuprequests
|
||||
</span>
|
||||
{% endifmemberof %}
|
||||
</p>
|
||||
{% if actions|length > 0 %}
|
||||
<p>
|
||||
<label for='history'>
|
||||
History
|
||||
</label>
|
||||
<table id='history'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Actor
|
||||
</th>
|
||||
<th>
|
||||
Date
|
||||
</th>
|
||||
<th>
|
||||
Closed?
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for action in actions %}
|
||||
<tr>
|
||||
<td>{{action.actor}}</td>
|
||||
<td>{{action.date}}</td>
|
||||
<td>{{action.closed}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">{{action.notes|safe}}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</p>
|
||||
{% endif %}
|
||||
<p class='widget'>
|
||||
<label for='notes'>
|
||||
Your notes
|
||||
</label>
|
||||
{% ifmemberof admin issueexperts %}
|
||||
<textarea rows='8' cols='60' id='notes' name='notes'>
|
||||
</textarea>
|
||||
{% endifmemberof %}
|
||||
</p>
|
||||
<p class='widget'>
|
||||
<label for='closed'>
|
||||
Has the elector's query been satisfied?
|
||||
</label>
|
||||
{% ifmemberof admin issueexperts %}
|
||||
<input id='closed' name='closed' type='checkbox' maxlength='' size='16'/>
|
||||
{% endifmemberof %}
|
||||
</p>
|
||||
|
||||
{% ifmemberof admin issueexperts %}
|
||||
<p class='widget action-safe'>
|
||||
<label for='save-button' class='action-safe'>
|
||||
To save this followuprequests record
|
||||
</label>
|
||||
<input id='save-button' name='save-button' class='action-safe' type='submit' value='Save!'/>
|
||||
</p>
|
||||
{% endifmemberof %}
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<script type='text/javascript'>
|
||||
var simplemde = new SimpleMDE({
|
||||
autosave: {
|
||||
enabled: true,
|
||||
uniqueId: "adl-generated-{{page}}",
|
||||
delay: 1000,
|
||||
},
|
||||
indentWithTabs: true,
|
||||
insertTexts: {
|
||||
horizontalRule: ["", "\n\n-----\n\n"],
|
||||
image: [""],
|
||||
link: ["[", "](http://)"],
|
||||
table: ["", "\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Text | Text | Text |\n\n"],
|
||||
},
|
||||
showIcons: ["code"], //, "table"], - sadly, markdown-clj does not support tables
|
||||
spellChecker: true,
|
||||
status: ["autosave", "lines", "words", "cursor"]
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue