From 74bc6826ea13e2623d5acc2f9acc176574afbd2f 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 +++++++++++++- db.sqlite3 | Bin 60416 -> 60416 bytes 6 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 diff --git a/db.sqlite3 b/db.sqlite3 index 45294db2ce48d80461561dc40d5fb2a0a9053356..9a039e378bb4b1ea96dee40cceedb9b6176b21d5 100644 GIT binary patch delta 662 zcmaKpy=xRf7{+JwZtk4>;D~r2oSJn&Y`pcx-Q_+iLy*HpL{CyAL66;u+2m&C*xlHK zkVyW4q)j?WWoNdv(^jw$a&=mZR6#Hx&TRBdp;qtL^Stlyo2?OSjbNu{w05t}8m)IP z4)T}tz!AKK5qy9X*n@50>CH=XP`{FgyEtO6SQLj+JpUD|IiMH1Y98uwx>sD;$r*5j z;3%CceFEpUkwdkaG7i{Me{GQ5Yf!gN8+C_T4cei!<2bg{_S&9PMhF>DK~Pb5Ct>ro zFbb%GtJ}?K1JjjQiurZ26tY1Ola94chRaegl@Zsa&6d}sZnN!?I~M5&LBwJ$B5uQa z5O68tL}{&A)%KZ47NQ05NG3@rUM}}}R&_ngdp4)tqR+Ffn?1>`$5H4r-Ss8s%Bh#m zFRGgHemKw<63OkMR^1oljS2H@U)pP{WJ5{03|J<8^052V9x9Ad=#|4&<)<5q<2yx7 zU=k68i1B$MEgyUXMe-EEsUrCmss*V1rdY^W9V0kaqY>P=4m0@QWDk2kU;<+uN*JGe z&k&p`?+N4)GQq&b!}q3{n!WFt@?)-K?jzV&id|s7`oig3U4Q)2i^Ts6;P3p)g+KIF Le$M{Qm#aSkVN<=N delta 158 zcmV;P0Ac@t*aLvr1CSd5HIW=c0X4B;qz4WK1DXH>ssq>q!vpUFnzIoMhy$~l3u=(F z1Tg#ulH3Nf2BiK2vjk-P53+Ct1hWOa{{y20Fa)y%!~zTizyJflvk?ro13*3j1^^!= zHz`zaZ6Hu`X=7zHG%+_gH8(LdH#s$QZ*4$hZ)9a;X>N37a&BdGE@N+PH6TK7d1Pg7 MAVX|#b7i8`7?S)oQ~&?~