From 017c4701e5c713802ad62d3d022d646bf0b9c595 Mon Sep 17 00:00:00 2001
From: "piotr.atyjaszyk" <piotrmk1@gmail.com>
Date: Wed, 1 Feb 2017 16:49:37 +0100
Subject: [PATCH] View of subject's all visits

---
 smash/web/templates/subjects/details.html     |   3 +
 .../web/templates/subjects/visitdetails.html  | 134 ++++++++++++++++++
 smash/web/urls.py                             |   1 +
 smash/web/views.py                            |  16 ++-
 4 files changed, 153 insertions(+), 1 deletion(-)
 create mode 100644 smash/web/templates/subjects/visitdetails.html

diff --git a/smash/web/templates/subjects/details.html b/smash/web/templates/subjects/details.html
index 7f7be5f5..91459a0a 100644
--- a/smash/web/templates/subjects/details.html
+++ b/smash/web/templates/subjects/details.html
@@ -51,6 +51,9 @@
 			{% endfor %}
 		</div><!-- /.box-body -->
 
+    <a href="{% url 'web.views.subject_visit_details' sid %}" type = "button" class="btn btn-block btn-default">Subject's visits</a>
+
+
 		<div class="box-footer">
 			<a href="{% url 'web.views.subjects' %}" class="btn btn-block btn-default" onclick="history.back()">Back</a>
 		</div><!-- /.box-footer -->
diff --git a/smash/web/templates/subjects/visitdetails.html b/smash/web/templates/subjects/visitdetails.html
new file mode 100644
index 00000000..982b4a8e
--- /dev/null
+++ b/smash/web/templates/subjects/visitdetails.html
@@ -0,0 +1,134 @@
+{% extends "_base.html" %}
+{% load static %}
+{% load filters %}
+
+{% block styles %}
+{{ block.super }}
+<!-- DataTables -->
+<link rel="stylesheet" href="{% static 'AdminLTE/plugins/datatables/dataTables.bootstrap.css' %}">
+{% endblock styles %}
+
+{% block page_title %}'subjects'{% endblock page_title %}
+{% block page_header %}Subject's visits{% endblock page_header %}
+{% block page_description %}{% endblock page_description %}
+
+{% block title %}{{ block.super }} - List of subject's visits {% endblock %}
+
+{% block breadcrumb %}
+{% include "subjects/breadcrumb.html" %}
+{% endblock breadcrumb %}
+
+{% block maincontent %}
+
+{% block content %}
+<div class="box box-info">
+  <div class="box-header with-border">
+    <a href="{% url 'web.views.visits' %}" class="btn btn-block btn-default" onclick="history.back()">Back</a>
+  </div>
+
+  <div class="box-header with-border">
+    <h3 class="box-title">List of visits</h3>
+  </div>
+
+  <div class="box-body">
+    <form class="form-horizontal">
+      {% for element in display %}
+
+      <div class="box-header with-border">
+        <h3 class="box-title">Visit {{ forloop.counter }}</h3>
+      </br>
+      </div>
+
+      {% for field in element.0 %}
+      <div class="col-md-6 form-group  {% if field.errors %}has-error{% endif %}">
+        <label for="{# TODO #}" class="col-sm-4 control-label">
+          {{ field.label }}
+        </label>
+
+        <div class="col-sm-8">
+          {{ field|add_class:'form-control' }}
+        </div>
+
+        {% if field.errors %}
+        <span class="help-block">
+          {{ field.errors }}
+        </span>
+        {% endif %}
+      </div>
+      {% endfor %}
+
+      <div class="col-md-6 form-group">
+        <label class="col-sm-4 control-label">
+          Visit finished
+        </label>
+        <div class="col-sm-8">
+          {% if visFinished %}<button type="button" class="btn btn-block btn-danger">YES</button>
+          {% else %}<button type="button" class="btn btn-block btn-success">NO</button>
+          {% endif %}
+        </div>
+
+      </div>
+
+      <div class="col-md-6 form-group">
+        <h3>Visit's assignments</h3>
+      </div>
+
+      {% if element.1 %}
+      <table id="table" class="table table-bordered table-striped">
+        <thead>
+          <tr>
+            <th>No.</th>
+            <th>Type</th>
+            <th>Date</th>
+            <th>Time</th>
+            <th>Length [min]</th>
+            <th>Responsible</th>
+            <th>Plan/Modify</th>
+          </tr>
+        </thead>
+        <tbody>
+          {% for app in element.1 %}
+          <tr>
+            <td>{{ forloop.counter }}</td>
+            <td>{{ app.appointment_type }}</td>
+            <td>{{ app.datetime_when | date:"d-M-Y" }}</td>
+            <td>{{ app.datetime_when | time:"H:i" }}</td>
+            <td>{{ app.length }}</td>
+            <td>
+              {% if app.flying_team %}{{ app.worker_assigned.first_name }} {{app.worker_assigned.last_name}}
+              {% else %} {{ app.flying_team }}
+              {% endif %}
+            </td>
+            <td> <a href="" type="button" class="btn btn-block btn-default">TODO</a> </td>
+          </tr>
+          {% endfor %}
+
+        </tbody>
+      </table>
+      {% else %}
+      <p>No appointments found.</p>
+      {% endif %}
+
+    </form>
+  </div><!-- /.box-body -->
+
+
+  {% endfor %}
+
+</div>
+
+{% endblock %}
+
+
+
+
+
+{% endblock maincontent %}
+
+{% block scripts %}
+{{ block.super }}
+
+<script src="{% static 'AdminLTE/plugins/datatables/jquery.dataTables.min.js' %}"></script>
+<script src="{% static 'AdminLTE/plugins/datatables/dataTables.bootstrap.min.js' %}"></script>
+
+{% endblock scripts %}
diff --git a/smash/web/urls.py b/smash/web/urls.py
index bf8d87bd..5191920e 100644
--- a/smash/web/urls.py
+++ b/smash/web/urls.py
@@ -28,6 +28,7 @@ urlpatterns = [
     url(r'subjects$', views.subjects, name='web.views.subjects'),
     url(r'subjects/add$', views.subject_add, name='web.views.subject_add'),
     url(r'subjects/details/(?P<id>\d+)$', views.subject_details, name='web.views.subject_details'),
+    url(r'subjects/subject_visit_details/(?P<id>\d+)$', views.subject_visit_details, name='web.views.subject_visit_details'),
     url(r'subjects/edit/(?P<id>\d+)$', views.subject_edit, name='web.views.subject_edit'),
     url(r'subjects/delete/(?P<id>\d+)$', views.subject_delete, name='web.views.subject_delete'),
     url(r'subjects/mark/(?P<id>\d+)/(?P<as_what>\d+)$', views.subject_mark, name='web.views.subject_mark'),
diff --git a/smash/web/views.py b/smash/web/views.py
index a1df2ef9..61b950a8 100644
--- a/smash/web/views.py
+++ b/smash/web/views.py
@@ -111,8 +111,9 @@ def subject_add(request):
 
 def subject_details(request, id):
 	form = SubjectDetailForm(instance=Subject.objects.get(id=id))
+	sid = id
 
-	return wrap_response(request, 'subjects/details.html', {'form': form})
+	return wrap_response(request, 'subjects/details.html', {'form': form, 'sid': sid})
 
 
 def subject_edit(request, id):
@@ -143,6 +144,19 @@ def subject_mark(request, id, as_what):
 		who.mark_as_rejected()
 	return redirect(subject_edit, id=id)
 
+def subject_visit_details(request, id):
+
+	locsubject = Subject.objects.get(id=id)
+	visits = locsubject.visit_set.all()
+	endlist = []
+	for vis in visits:
+		assign = vis.appointment_set.all()
+		visform = VisitDetailForm(instance=vis)
+		endlist.append((visform,assign))
+
+	#print len(endlist)
+	#print endlist[0]
+	return wrap_response(request, 'subjects/visitdetails.html', {'display': endlist})
 
 def doctors(request):
 	doctors_list = Worker.objects.order_by('-last_name')
-- 
GitLab