diff --git a/rigForms/templates/rigForms/form_form.html b/rigForms/templates/rigForms/form_form.html
index 2053e7f8..1d1e9258 100644
--- a/rigForms/templates/rigForms/form_form.html
+++ b/rigForms/templates/rigForms/form_form.html
@@ -17,7 +17,18 @@
{% include 'form_errors.html' %}
diff --git a/rigForms/templates/rigForms/form_list.html b/rigForms/templates/rigForms/form_list.html
index 09297323..4638d5b1 100644
--- a/rigForms/templates/rigForms/form_list.html
+++ b/rigForms/templates/rigForms/form_list.html
@@ -39,6 +39,9 @@
{{ object.last_edited_by }} at {{ object.last_edited_at }} |
+
+
+
diff --git a/rigForms/urls.py b/rigForms/urls.py
index abec91a0..9aabb1a6 100644
--- a/rigForms/urls.py
+++ b/rigForms/urls.py
@@ -7,7 +7,9 @@ from rigForms import views
urlpatterns = patterns('',
url(r'^create/(?P \d+)/for-event/(?P\d+)/$', permission_required_with_403('rigForms.create_form')(views.FormCreate.as_view()),
name='create_form'),
- url(r'^(?P\d+)/$', permission_required_with_403('rigForms.update_form')(views.FormUpdate.as_view()),
+ url(r'^(?P\d+)/$', permission_required_with_403('rigForms.view_form')(views.FormDetail.as_view()),
+ name='form_detail'),
+ url(r'^(?P\d+)/edit/$', permission_required_with_403('rigForms.update_form')(views.FormUpdate.as_view()),
name='update_form'),
url(r'^for-event/(?P\d+)/$', permission_required_with_403('rigForms.view_form')(views.FormList.as_view()),
name='form_list'),
diff --git a/rigForms/views.py b/rigForms/views.py
index e3b97e26..1889c08a 100644
--- a/rigForms/views.py
+++ b/rigForms/views.py
@@ -47,6 +47,7 @@ class FormCreate(generic.CreateView):
"event": self.event,
"data": "{}"
}
+ context["edit"] = True
return context
@@ -62,6 +63,22 @@ class FormCreate(generic.CreateView):
'pk': self.object.pk,
})
+class FormDetail(generic.DetailView):
+ model = models.Form
+ template_name = 'rigForms/form_form.html'
+
+ def get_success_url(self):
+ return reverse_lazy('update_form', kwargs={
+ 'pk': self.object.pk,
+ })
+
+ def get_context_data(self, **kwargs):
+ context = super(FormDetail, self).get_context_data()
+
+ context["edit"] = False
+
+ return context
+
class FormUpdate(generic.UpdateView):
model = models.Form
fields = ['data']
@@ -71,6 +88,13 @@ class FormUpdate(generic.UpdateView):
'pk': self.object.pk,
})
+ def get_context_data(self, **kwargs):
+ context = super(FormUpdate, self).get_context_data()
+
+ context["edit"] = True
+
+ return context
+
class FormList(generic.ListView):
model = models.Form
@@ -173,7 +197,10 @@ class FormPrint(generic.TemplateView):
def _render_field(self, parentField, parentValue, current_indent):
result = ""
for (key,field) in parentField.items():
- value = parentValue.get(key,None)
+ try:
+ value = parentValue.get(key,None)
+ except AttributeError: # if parentValue is None
+ value = None
result += self._render_field_item(field, value, current_indent)
return result
|