Skip to content
Snippets Groups Projects
Commit cd05c6fc authored by Carlos Vega's avatar Carlos Vega
Browse files

default visit duration can now be set on the study settings

parent c512d660
No related branches found
No related tags found
1 merge request!188Feature/improve management of visits from subject list
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2018-11-13 10:05
from __future__ import unicode_literals
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('web', '0131_study_default_voucher_expiration_in_months'),
]
operations = [
migrations.AddField(
model_name='study',
name='default_visit_duration_in_months',
field=models.IntegerField(default=3, validators=[django.core.validators.MinValueValidator(1)], verbose_name=b'Default duration of the visits in months'),
),
]
......@@ -44,6 +44,12 @@ class Study(models.Model):
validators=[MinValueValidator(1)]
)
default_visit_duration_in_months = models.IntegerField(
verbose_name='Default duration of the visits in months',
default=3,
validators=[MinValueValidator(1)]
)
def check_nd_number(self, nd_number):
regex = re.compile(self.nd_number_study_subject_regex)
return regex.match(nd_number) is not None
......
function visit_dates_behaviour(startDateInput, endDateInput) {
function visit_dates_behaviour(startDateInput, endDateInput, default_visit_duration) {
$(startDateInput).change(function () {
var object = $(this);
try {
var date = new Date(object.val());
date.setMonth(date.getMonth() + 3);
$(endDateInput).val(date.toISOString().substring(0, 10));
date.setMonth(date.getMonth() + default_visit_duration);
if($(endDateInput).val() == ""){
$(endDateInput).val(date.toISOString().substring(0, 10));
}
} catch (err) {
//there was a problematic date to process
}
......
......@@ -70,7 +70,8 @@
<script src="{% static 'js/visit.js' %}"></script>
<script>
visit_dates_behaviour($("[name='datetime_begin']"),$("[name='datetime_end']"));
var default_visit_duration_in_months = parseInt("{{default_visit_duration}}");
visit_dates_behaviour($("[name='datetime_begin']"), $("[name='datetime_end']"), default_visit_duration_in_months);
</script>
{% include "includes/datepicker.js.html" %}
......
......@@ -221,7 +221,8 @@
<script src="{% static 'AdminLTE/plugins/datatables/dataTables.bootstrap.min.js' %}"></script>
<script src="{% static 'js/visit.js' %}"></script>
<script>
visit_dates_behaviour($("[name='datetime_begin']"), $("[name='datetime_end']"));
var default_visit_duration_in_months = parseInt("{{default_visit_duration}}");
visit_dates_behaviour($("[name='datetime_begin']"), $("[name='datetime_end']"), default_visit_duration_in_months);
</script>
{% include "includes/datepicker.js.html" %}
......
......@@ -74,6 +74,7 @@ def visit_details(request, id):
languages.extend(study_subject.subject.languages.all())
return wrap_response(request, 'visits/details.html', {
'default_visit_duration' : study_subject.study.default_visit_duration_in_months,
'visit_form': visit_form,
'study_subject_form': study_subject_form,
'subject_form': subject_form,
......
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