From c39504a4ce9bda6a4753ed6e2fc64c4f8b5d5497 Mon Sep 17 00:00:00 2001 From: tomtom5152 Date: Fri, 31 Oct 2014 01:12:59 +0000 Subject: [PATCH] Person CRUD working --- RIGS/models.py | 2 +- RIGS/templates/RIGS/person_detail.html | 30 ++++++++++++++++++++++++++ RIGS/templates/RIGS/person_form.html | 2 +- RIGS/urls.py | 5 ++++- RIGS/views.py | 17 ++++++++++++++- 5 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 RIGS/templates/RIGS/person_detail.html diff --git a/RIGS/models.py b/RIGS/models.py index 43da5c03..705b6ba5 100644 --- a/RIGS/models.py +++ b/RIGS/models.py @@ -34,6 +34,6 @@ class Person(models.Model): def __unicode__(self): string = self.name - if self.comments: + if self.comments.count() > 0: string += "*" return string \ No newline at end of file diff --git a/RIGS/templates/RIGS/person_detail.html b/RIGS/templates/RIGS/person_detail.html new file mode 100644 index 00000000..5548b60b --- /dev/null +++ b/RIGS/templates/RIGS/person_detail.html @@ -0,0 +1,30 @@ +{% extends request.is_ajax|yesno:"base_ajax.html,base.html" %} +{% load widget_tweaks %} + +{% block title %}{{ object.name }}{% endblock %} + +{% block content %} +
+

{{ object.name }}

+
+ Edit +
+
+
+
+
Name
+
{{ object.name }}
+ +
Phone
+
{{ object.phone }}
+ +
Email
+
{{ object.email }}
+ +
Address
+
{{ object.address|linebreaksbr }}
+
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/RIGS/templates/RIGS/person_form.html b/RIGS/templates/RIGS/person_form.html index 6faeac05..7266e013 100644 --- a/RIGS/templates/RIGS/person_form.html +++ b/RIGS/templates/RIGS/person_form.html @@ -1,7 +1,7 @@ {% extends request.is_ajax|yesno:'base_ajax.html,base.html' %} {% load widget_tweaks %} -{% block title %}Add Person{% endblock %} +{% block title %}{% if object.pk %}Edit {{ object.name }}{% else %}Add Person{% endif %}{% endblock %} {% block content %}
diff --git a/RIGS/urls.py b/RIGS/urls.py index db37348a..a5a933f7 100644 --- a/RIGS/urls.py +++ b/RIGS/urls.py @@ -13,6 +13,9 @@ urlpatterns = patterns('', # People url(r'^people/$', permission_required_with_403('RIGS.view_person')(views.PersonIndex.as_view()), name='person_list'), - url(r'^people/add$', permission_required_with_403('RIGS.add_person')(views.PersonCreate.as_view()), name='person_add'), + url(r'^people/(?P\d+)/$', permission_required_with_403('RIGS.view_person')(views.PersonDetail.as_view()), + name='person_detail'), + url(r'^people/add/$', permission_required_with_403('RIGS.add_person')(views.PersonCreate.as_view()), name='person_add'), + url(r'^people/(?P\d+)/edit/$', permission_required_with_403('RIGS.change_person')(views.PersonUpdate.as_view()), name='person_update'), ) diff --git a/RIGS/views.py b/RIGS/views.py index 5b49cc79..718a07f1 100644 --- a/RIGS/views.py +++ b/RIGS/views.py @@ -15,6 +15,21 @@ def login(request, **kwargs): class PersonIndex(generic.ListView): model = models.Person +class PersonDetail(generic.DetailView): + model = models.Person + class PersonCreate(generic.CreateView): model = models.Person - success_url = reverse_lazy('person_list') \ No newline at end of file + + def get_success_url(self): + return reverse_lazy('person_detail', kwargs={ + 'pk': self.object.pk, + }) + +class PersonUpdate(generic.UpdateView): + model = models.Person + + def get_success_url(self): + return reverse_lazy('person_detail', kwargs={ + 'pk': self.object.pk, + }) \ No newline at end of file