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