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