From 9d87f6fcf85f12536a68ed3a80b53ad7925611b1 Mon Sep 17 00:00:00 2001 From: "piotr.atyjaszyk" <piotrmk1@gmail.com> Date: Wed, 14 Dec 2016 14:21:40 +0100 Subject: [PATCH] Simple edit view, routing improvements --- smash/web/templates/subjects/add.html | 1 - smash/web/templates/subjects/details.html | 1 + smash/web/templates/subjects/edit.html | 55 +++++++++++++++++++++++ smash/web/templates/subjects/index.html | 2 +- smash/web/urls.py | 1 + smash/web/views.py | 15 ++++++- 6 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 smash/web/templates/subjects/edit.html diff --git a/smash/web/templates/subjects/add.html b/smash/web/templates/subjects/add.html index c08af0aa..b604dab6 100644 --- a/smash/web/templates/subjects/add.html +++ b/smash/web/templates/subjects/add.html @@ -27,7 +27,6 @@ <button type="submit" class="btn btn-block btn-success">Add</button> - <a href="{% url 'web.views.subjects' %}" class="btn btn-block btn-default">Cancel</a> </form> {% endblock %} diff --git a/smash/web/templates/subjects/details.html b/smash/web/templates/subjects/details.html index 2b088365..69fc9717 100644 --- a/smash/web/templates/subjects/details.html +++ b/smash/web/templates/subjects/details.html @@ -26,6 +26,7 @@ {% csrf_token %} <a href="{% url 'web.views.subjects' %}" class="btn btn-block btn-default">Back</a> + </form> {% endblock %} diff --git a/smash/web/templates/subjects/edit.html b/smash/web/templates/subjects/edit.html new file mode 100644 index 00000000..9f3ea88a --- /dev/null +++ b/smash/web/templates/subjects/edit.html @@ -0,0 +1,55 @@ +{% extends "_base.html" %} +{% load static %} + +{% block styles %} +{{ block.super }} + <!-- DataTables --> + <link rel="stylesheet" href="{% static 'AdminLTE/plugins/datatables/dataTables.bootstrap.css' %}"> +{% endblock styles %} + +{% block page_title %}'newsubject'{% endblock page_title %} +{% block page_header %}New subject{% endblock page_header %} +{% block page_description %}adding{% endblock page_description %} + +{% block breadcrumb %} + <li><a href="#"><i class="fa fa-dashboard"></i> Dashboard</a></li> + <li class="active">Workers</li> +{% endblock breadcrumb %} + +{% block maincontent %} + +{% block title %}{{object_name}} Form{% endblock %} + +{% block content %} +<form method="post" action=""> + {{ formset.as_ul }} + {% csrf_token %} + + <button type="submit" class="btn btn-block btn-success">Save</button> + <a href="{% url 'web.views.subjects' %}" class="btn btn-block btn-default">Cancel</a> +</form> +{% 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/subjects/index.html b/smash/web/templates/subjects/index.html index 7caa20d9..f9a54bf6 100644 --- a/smash/web/templates/subjects/index.html +++ b/smash/web/templates/subjects/index.html @@ -58,7 +58,7 @@ <td>{{ subject.get_subjectStatus_display }}</td> <td>12-10-2016</td> <td><a href="{% url 'web.views.subjectdet' subject.id %}" type="button" class="btn btn-block btn-default">Details</a></td> - <td><button type="button" class="btn btn-block btn-default">Edit</button></td> + <td><a href="{% url 'web.views.subjectedit' subject.id %}" type="button" class="btn btn-block btn-default">Edit</a></td> <td><button type="button" class="btn btn-block btn-default">Delete</button></td> </tr> {% endfor %} diff --git a/smash/web/urls.py b/smash/web/urls.py index 6012664f..47e0e24d 100644 --- a/smash/web/urls.py +++ b/smash/web/urls.py @@ -21,6 +21,7 @@ urlpatterns = [ url(r'subjects$', views.subjects, name='web.views.subjects'), url(r'subjects/add$', views.subjectadd, name='web.views.subjectadd'), url(r'subjects/details/(?P<ids>\d+)$', views.subjectdet, name='web.views.subjectdet'), + url(r'subjects/edit/(?P<ids>\d+)$', views.subjectedit, name='web.views.subjectedit'), url(r'doctors$', views.doctors, name='web.views.doctors'), url(r'equipment_and_rooms$', views.equipment_and_rooms, name='web.views.equipment_and_rooms'), url(r'equipment_and_rooms/eqdef$', views.equipment_def, name='web.views.equipment_def'), diff --git a/smash/web/views.py b/smash/web/views.py index 8c2a3f68..8d2163da 100644 --- a/smash/web/views.py +++ b/smash/web/views.py @@ -57,7 +57,8 @@ def subjectadd(request): if request.method == 'POST': formset = SubjectFormSet(request.POST, request.FILES) if formset.is_valid(): - formset.save() + formset.save() + return redirect(subjects) else: formset = SubjectFormSet(queryset=Subject.objects.none()) return render(request, 'subjects/add.html', {'formset': formset}) @@ -68,6 +69,18 @@ def subjectdet(request, ids): formset = SubjectDetailForm(instance=Subject.objects.get(id=ids)) return render(request, 'subjects/details.html', {'formset': formset}) + +def subjectedit(request, ids): + SubjectFormSet = modelformset_factory(Subject , fields='__all__') + if request.method == 'POST': + formset = SubjectEditForm(request.POST, request.FILES) + if formset.is_valid(): + formset.save() + return redirect(subjects) + else: + formset = SubjectEditForm(instance=Subject.objects.get(id=ids)) + return render(request, 'subjects/edit.html', {'formset': formset}) + def doctors(request): doctors_list = Worker.objects.order_by('-lastName') template = loader.get_template("doctors/index.html") -- GitLab