From 58723d863280b9982d156f7c812b44f3b578bf0b Mon Sep 17 00:00:00 2001
From: "piotr.atyjaszyk" <piotrmk1@gmail.com>
Date: Wed, 1 Feb 2017 12:21:13 +0100
Subject: [PATCH] Visit adding

---
 smash/web/forms.py                    |  5 ++
 smash/web/templates/visits/add.html   | 91 +++++++++++++++++++++++++++
 smash/web/templates/visits/index.html |  8 +++
 smash/web/urls.py                     |  1 +
 smash/web/views.py                    | 12 ++++
 5 files changed, 117 insertions(+)
 create mode 100644 smash/web/templates/visits/add.html

diff --git a/smash/web/forms.py b/smash/web/forms.py
index da8682ad..2bed967f 100644
--- a/smash/web/forms.py
+++ b/smash/web/forms.py
@@ -51,3 +51,8 @@ class VisitDetailForm(ModelForm):
     class Meta:
         model = Visit
         exclude = ['visitFinished']
+
+class VisitAddForm(ModelForm):
+    class Meta:
+        model = Visit
+        exclude = ['visitFinished']
diff --git a/smash/web/templates/visits/add.html b/smash/web/templates/visits/add.html
new file mode 100644
index 00000000..852234f4
--- /dev/null
+++ b/smash/web/templates/visits/add.html
@@ -0,0 +1,91 @@
+{% 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 %}'visits'{% endblock page_title %}
+{% block page_header %}New visit{% endblock page_header %}
+{% block page_description %}{% endblock page_description %}
+
+{% block title %}{{ block.super }} - Add new subject{% 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">Cancel</a>
+	</div>
+
+	{% comment %} <div class="box-header with-border">
+		<h3 class="box-title">Details of a visit</h3>
+	</div>{% endcomment %}
+
+	<form method="post" action="" class="form-horizontal">
+		{% csrf_token %}
+
+		<div class="box-body">
+      <div class="col-sm-6">
+  			{% for field in form %}
+  				<div class="form-group {% if field.errors %}has-error{% endif %}">
+  					<label for="inputEmail3" 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>
+		</div><!-- /.box-body -->
+
+		<div class="box-footer">
+			<div class="col-sm-6">
+				<button type="submit" class="btn btn-block btn-success">Add</button>
+			</div>
+			<div class="col-sm-6">
+				<a href="{% url 'web.views.visits' %}" class="btn btn-block btn-default">Cancel</a>
+			</div>
+		</div><!-- /.box-footer -->
+	</form>
+</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>
+	<script>
+		$(function () {
+			$('#table').DataTable({
+			  "paging": true,
+			  "lengthChange": false,
+			  "searching": true,
+			  "ordering": true,
+			  "info": true,
+			  "autoWidth": false
+			});
+		});
+	</script>
+{% endblock scripts %}
diff --git a/smash/web/templates/visits/index.html b/smash/web/templates/visits/index.html
index c18b0a5d..de355f61 100644
--- a/smash/web/templates/visits/index.html
+++ b/smash/web/templates/visits/index.html
@@ -23,6 +23,14 @@
 {% endblock breadcrumb %}
 
 {% block maincontent %}
+
+<div>
+	<a href="{% url 'web.views.visit_add' %}" class="btn btn-app">
+      <i class="fa fa-plus"></i>
+      Add new visit
+    </a>
+</div>
+
 <div>
   <div>
     	{% if visit_list %}
diff --git a/smash/web/urls.py b/smash/web/urls.py
index 1a5b7bb3..0540b586 100644
--- a/smash/web/urls.py
+++ b/smash/web/urls.py
@@ -22,6 +22,7 @@ urlpatterns = [
 
     url(r'visits$', views.visits, name='web.views.visits'),
     url(r'visits/details/(?P<id>\d+)$', views.visit_details, name='web.views.visit_details'),
+    url(r'visits/add$', views.visit_add, name='web.views.visit_add'),
 
     url(r'subjects$', views.subjects, name='web.views.subjects'),
     url(r'subjects/add$', views.subject_add, name='web.views.subject_add'),
diff --git a/smash/web/views.py b/smash/web/views.py
index b20d8c29..10e25b7e 100644
--- a/smash/web/views.py
+++ b/smash/web/views.py
@@ -73,6 +73,18 @@ def visit_details(request, id):
 	return wrap_response(request, 'visits/details.html', {'vform': vform, 'sform': sform, 'loApp': listOfAppointments, 'visFinished': visFinished})
 
 
+def visit_add(request):
+	if request.method == 'POST':
+		form = VisitAddForm(request.POST, request.FILES)
+		if form.is_valid():
+			form.save()
+			return redirect(visits)
+	else:
+		form = VisitAddForm()
+
+	return wrap_response(request, 'visits/add.html', {'form': form})
+
+
 def subjects(request):
 	subjects_list = Subject.objects.order_by('-lastName')
 	context = {
-- 
GitLab