mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
Added read-only view of form
This commit is contained in:
@@ -17,7 +17,18 @@
|
||||
{% include 'form_errors.html' %}
|
||||
|
||||
<div ng-controller="FormController" class="col-sm-12">
|
||||
<form name="theForm" sf-schema="schema" sf-form="form" sf-model="model" ng-submit="onSubmit(theForm)">
|
||||
|
||||
<form name="theForm" ng-submit="onSubmit(theForm)">
|
||||
|
||||
<div sf-schema="schema" sf-form="form" sf-model="model"
|
||||
{% if not edit %}
|
||||
sf-options="{ formDefaults: { readonly: true } }"
|
||||
{% endif %}
|
||||
></div>
|
||||
|
||||
{% if edit %}
|
||||
<input class="btn btn-primary" type="submit" value="Save">
|
||||
{% endif %}
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -39,6 +39,9 @@
|
||||
<td>{{ object.last_edited_by }} at {{ object.last_edited_at }}</td>
|
||||
<td class="text-right">
|
||||
<div class="btn-group">
|
||||
<a href="{% url 'form_detail' object.pk %}" class="btn btn-default">
|
||||
<span class="glyphicon glyphicon-eye-open"></span>
|
||||
</a>
|
||||
<a href="{% url 'update_form' object.pk %}" class="btn btn-default">
|
||||
<span class="glyphicon glyphicon-pencil"></span>
|
||||
</a>
|
||||
|
||||
@@ -7,7 +7,9 @@ from rigForms import views
|
||||
urlpatterns = patterns('',
|
||||
url(r'^create/(?P<type_pk>\d+)/for-event/(?P<event_pk>\d+)/$', permission_required_with_403('rigForms.create_form')(views.FormCreate.as_view()),
|
||||
name='create_form'),
|
||||
url(r'^(?P<pk>\d+)/$', permission_required_with_403('rigForms.update_form')(views.FormUpdate.as_view()),
|
||||
url(r'^(?P<pk>\d+)/$', permission_required_with_403('rigForms.view_form')(views.FormDetail.as_view()),
|
||||
name='form_detail'),
|
||||
url(r'^(?P<pk>\d+)/edit/$', permission_required_with_403('rigForms.update_form')(views.FormUpdate.as_view()),
|
||||
name='update_form'),
|
||||
url(r'^for-event/(?P<event_pk>\d+)/$', permission_required_with_403('rigForms.view_form')(views.FormList.as_view()),
|
||||
name='form_list'),
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user