Add option to save a form in draft state for further continuation

This commit is contained in:
2020-06-08 12:01:53 +02:00
parent ac39be54cc
commit 1a581420fa
21 changed files with 332 additions and 195 deletions

View File

@ -24,7 +24,13 @@
<td>{{ schedule.updated_at|date:"SHORT_DATETIME_FORMAT" }}</td>
<td>{{ schedule.get_status_display }}</td>
<td>None</td>
<td><a href="{% url 'schedule:clone' schedule_id=schedule.id %}">Clone</a></td>
<td>
{% if schedule.status == 'draft' %}
<a href="{% url 'schedule:edit' schedule_id=schedule.id %}">Resume</a>
{% else %}
<a href="{% url 'schedule:clone' schedule_id=schedule.id %}">Clone</a>
{% endif %}
</td>
</tr>
{% empty %}
<tr>

View File

@ -2,12 +2,36 @@
{% load i18n %}
{% load static %}
{% block title %}{% if form.json.value %}{% trans "Clone schedule" %}{% else %}{% trans "New schedule" %}{% endif %}{% endblock %}
{% block pagetitle %}{% if form.json.value %}{% trans "Clone schedule" %}{% else %}{% trans "New schedule" %}{% endif %}{% endblock %}
{% block title %}
{% if form.status.value == 'draft' %}
{% trans "Resume schedule" %}
{% elif form.json.value %}
{% trans "Clone schedule" %}
{% else %}
{% trans "New schedule" %}
{% endif %}
{% endblock %}
{% block pagetitle %}
{% if form.status.value == 'draft' %}
{% trans "Resume schedule" %}
{% elif form.json.value %}
{% trans "Clone schedule" %}
{% else %}
{% trans "New schedule" %}
{% endif %}
{% endblock %}
{% block content %}
<form method="POST" action="{% url 'schedule:new' %}" id="new_schedule_form">
{% if form.status.value == 'draft' %}
<form method="POST" action="" id="new_schedule_form">
{% else %}
<form method="POST" action="{% url 'schedule:new' %}" id="new_schedule_form">
{% endif %}
{% csrf_token %}
{{ form.json }}
{{ form.status }}
<h1>Algemene informatie</h1>
<p>Als een afdeling meerdere wachtkamers heeft, vul dan dit formulier meerdere keren in; een keer voor elke groep van behandelkamers die een wachtkamer delen.</p>
<table>
@ -405,7 +429,9 @@
<br />
<hr>
<br />
<button type="submit" class="btn btn-primary">Submit</button>
<button type="submit" id="save_draft" class="btn btn-primary">{% trans "Save as draft" %}</button>
-
<button type="submit" id="save_new" class="btn btn-primary">{% trans "Submit" %}</button>
</form>
<script type="text/javascript">
function addSpecialisatie() {
@ -1042,6 +1068,14 @@
calculateBehandelingen();
});
jQuery('#save_draft').on('click',function(event){
jQuery('input#id_status').val('draft');
});
jQuery('#save_new').on('click',function(event){
jQuery('input#id_status').val('new');
});
jQuery('form#new_schedule_form').on('submit',function(event){
if (validate_working_hours() &&
calculateBehandelingen() &&
@ -1050,6 +1084,7 @@
let formdata = new FormData(this);
formdata.delete('csrfmiddlewaretoken');
formdata.delete('json');
formdata.delete('status');
// Display the key/value pairs. This is needed to support stupid IE. Mici$oft is still having hardtime playing nice :(
let json_data = {};