Skip to content
Snippets Groups Projects
Commit 2eebb850 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

Merge branch 'devel_0.13.x' into 'master'

0.13.1 into master

See merge request NCER-PD/scheduling-system!221
parents c0e5b052 7d431a90
No related branches found
No related tags found
1 merge request!2210.13.1 into master
Pipeline #9744 passed
......@@ -117,7 +117,7 @@
<a href="{% url 'web.views.worker_disable' worker.id %}"
class="btn btn-block btn-warning">DISABLE</a>
{% else %}
YES
<span class="btn btn-block btn-danger" disabled>YES</span>
{% endif %}
</td>
{% endif %}
......
......@@ -72,6 +72,10 @@
<script>
var default_visit_duration_in_months = parseInt("{{default_visit_duration}}");
visit_dates_behaviour($("[name='datetime_begin']"), $("[name='datetime_end']"), default_visit_duration_in_months);
$('form').submit(function(event){
$('button[type=submit]').prop('disabled', true);
});
</script>
{% include "includes/datepicker.js.html" %}
......
......@@ -2,7 +2,7 @@
import logging
from django.shortcuts import get_object_or_404, redirect
from django.contrib import messages
from notifications import waiting_for_appointment
from web.models.study_visit_list import VISIT_LIST_GENERIC, VISIT_LIST_MISSING_APPOINTMENTS, \
VISIT_LIST_APPROACHING_WITHOUT_APPOINTMENTS, VISIT_LIST_APPROACHING_FOR_MAIL_CONTACT, VISIT_LIST_EXCEEDED_TIME, \
......@@ -55,6 +55,10 @@ def visit_details(request, id):
else:
visit_form = VisitDetailForm(instance=displayed_visit)
visit_form.fields['subject'].choices = [(displayed_visit.subject.id, displayed_visit.subject)]
visit_form.fields['subject'].initial = (displayed_visit.subject.id, displayed_visit.subject)
visit_form.fields['subject'].widget.attrs['readonly'] = True
visit_finished = displayed_visit.is_finished
visit_id = displayed_visit.id
study_subject = displayed_visit.subject
......@@ -95,18 +99,28 @@ def visit_mark(request, id, as_what):
def visit_add(request, subject_id=-1):
subjects = StudySubject.objects.filter(id=subject_id)
subject = None
if len(subjects) > 0:
subject = subjects[0]
if Visit.objects.filter(subject=subject, is_finished=False).count() > 0:
messages.add_message(request, messages.WARNING, 'The subject has unfinished visits, please, finish them before adding new visits.')
return redirect('web.views.subject_visit_details', id=subject_id)
if request.method == 'POST':
form = VisitAddForm(request.POST, request.FILES)
args = {'form': form}
if request.POST['subject'] != subject_id:
messages.add_message(request, messages.WARNING, u'The subject is invalid. Must be {}'.format(subject))
return wrap_response(request, 'visits/add.html', args)
if form.is_valid():
visit = form.save()
return redirect('web.views.visit_details', visit.id)
else:
subjects = StudySubject.objects.filter(id=subject_id)
subject = None
if len(subjects) > 0:
subject = subjects[0]
form = VisitAddForm(initial={'subject': subject})
form.fields['subject'].choices = [(subject_id, subject)]
form.fields['subject'].initial = (subject_id, subject)
form.fields['subject'].widget.attrs['readonly'] = True
args = {'form': form, 'default_visit_duration': subject.study.default_visit_duration_in_months}
return wrap_response(request, 'visits/add.html', args)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment