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