From 63d6ce78ed308a62e4630ff27d4b88abfd2dbb0d Mon Sep 17 00:00:00 2001
From: Carlos Vega <carlos.vega@uni.lu>
Date: Wed, 21 Nov 2018 10:52:49 +0100
Subject: [PATCH] impede adding appointments if the visit is finished

---
 smash/web/api_views/subject.py          | 1 +
 smash/web/static/js/smash.js            | 6 +++++-
 smash/web/templates/visits/details.html | 7 +++++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/smash/web/api_views/subject.py b/smash/web/api_views/subject.py
index e7d8ad2e..ad8d4fc0 100644
--- a/smash/web/api_views/subject.py
+++ b/smash/web/api_views/subject.py
@@ -365,6 +365,7 @@ def serialize_subject(study_subject):
             "add_appointment_url": reverse('web.views.appointment_add', args=(visit.id,)),
             "datetime_start": serialize_date(visit.datetime_begin),
             "datetime_end": serialize_date(visit.datetime_end),
+            "is_finished": visit.is_finished
         })
     contact_reminder = serialize_datetime(study_subject.datetime_contact_reminder)
     contact_attempts = ContactAttempt.objects.filter(subject=study_subject).order_by("-datetime_when")
diff --git a/smash/web/static/js/smash.js b/smash/web/static/js/smash.js
index f6baee6b..dcf03f52 100644
--- a/smash/web/static/js/smash.js
+++ b/smash/web/static/js/smash.js
@@ -226,7 +226,11 @@ function create_visit_row(visit) {
                     <a href="${visit.edit_visit_url}"><i class="fa fa-list" aria-hidden="true"></i></a>
                 </span>`;
 
-        text += `<span title="Add new appointment to visit"><a href="${visit.add_appointment_url}"><i class="fa fa-plus-square-o" aria-hidden="true"></i></a></span>`;
+        if(!visit.is_finished){
+            text += `<span title="Add new appointment to visit"><a href="${visit.add_appointment_url}"><i class="fa fa-plus-square-o" aria-hidden="true"></i></a></span>`;
+        }else{
+            text += `<span title="Visit is marked as finished" ><i class="fa fa-check-circle" aria-hidden="true"></i></span>`;
+        }
 
         
     }
diff --git a/smash/web/templates/visits/details.html b/smash/web/templates/visits/details.html
index 08a133af..a85ce75d 100644
--- a/smash/web/templates/visits/details.html
+++ b/smash/web/templates/visits/details.html
@@ -91,10 +91,17 @@
             </div>
 
             <div>
+                {%if visFinished%}
+                <a href="{% url 'web.views.appointment_add' vid %}" class="btn btn-app" disabled>
+                    <i class="fa fa-plus"></i>
+                    Add new appointment
+                </a>
+                {% else %}
                 <a href="{% url 'web.views.appointment_add' vid %}" class="btn btn-app">
                     <i class="fa fa-plus"></i>
                     Add new appointment
                 </a>
+                {% endif %}
             </div>
 
 
-- 
GitLab