Author: floguy
Date: Sun Sep  7 15:54:39 2008
New Revision: 8

Modified:
    trunk/things/options.py
    trunk/things/sites.py
    trunk/things/templates/things/thing_list.html
    trunk/thingsproject/dev.db
    trunk/thingsproject/settings.py
    trunk/thingsproject/twitter/thing.py

Log:
Fleshed out the detail view in a better way, and added template selection.

Modified: trunk/things/options.py
==============================================================================
--- trunk/things/options.py     (original)
+++ trunk/things/options.py     Sun Sep  7 15:54:39 2008
@@ -3,6 +3,7 @@
  from django.http import HttpResponse
  from django.shortcuts import render_to_response, get_object_or_404
  from django.template import RequestContext
+from django.template.loader import select_template
  from django.core.urlresolvers import reverse
  from things.fields import BaseField

@@ -23,6 +24,7 @@
      __metaclass__ = ModelThingMetaclass

      fields = {}
+    comments = False

      def __init__(self, model, thing_site):
          self.model = model
@@ -59,8 +61,8 @@
          return patterns('', *tmp_urls)

      def list_view(self, request, descending=False, app_label=None,  
model_name=None, field=None):
-        assert app_label is None or app_label == self.model._meta.app_label
-        assert model_name is None or model_name ==  
self.model._meta.module_name
+        assert app_label is None or app_label == self.opts.app_label
+        assert model_name is None or model_name == self.opts.module_name
          items = self.model._default_manager.all()
          if field is not None:
              pre = ''
@@ -73,9 +75,17 @@
              'field': field,
              'name_prefix': self.name_prefix,
          }
-        return render_to_response('things/thing_list.html', context,
+        return render_to_response('things/list.html', context,
              context_instance=RequestContext(request))

-    def detail_view(self, request, pk):
-        # TODO: Flesh this out for realz
-        return HttpResponse(unicode(get_object_or_404(self.model, pk=pk)))
\ No newline at end of file
+    def detail_view(self, request, pk, template_object_name='object',  
template_name=None):
+        if template_name is None:
+            template_name = self.opts.module_name
+        obj = get_object_or_404(self.model, pk=pk)
+        templates = ['things/%s_detail.html' % (template_name,),
+            'things/thing_detail.html']
+        t = select_template(templates)
+        c = RequestContext(request, {
+            template_object_name: obj,
+        })
+        return HttpResponse(t.render(c))
\ No newline at end of file

Modified: trunk/things/sites.py
==============================================================================
--- trunk/things/sites.py       (original)
+++ trunk/things/sites.py       Sun Sep  7 15:54:39 2008
@@ -62,8 +62,13 @@

      def urls(self, prefix='^things/'):
          urlpatterns = patterns('',
-            url(r'%s$' % prefix, self.index, name="%s_index" %  
self.name_prefix)
+            url(r'%s$' % (prefix,), self.index, name="%s_index" %  
self.name_prefix)
          )
+        if any([o.comments for o in self._registry.itervalues()]):
+            urlpatterns += patterns('',
+                url(r'%scomments/' % (prefix,),
+                    include('django.contrib.comments.urls')),
+            )
          for (model, model_thing) in self._registry.iteritems():
              urlpatterns += patterns('',
                  url(r'%s(?P<app_label>%s)/(?P<model_name>%s)/$' % (prefix,

Modified: trunk/things/templates/things/thing_list.html
==============================================================================
--- trunk/things/templates/things/thing_list.html       (original)
+++ trunk/things/templates/things/thing_list.html       Sun Sep  7 15:54:39 2008
@@ -1,5 +1,6 @@
  {% extends "things/base.html" %}
  {% load things_tags %}
+{% load comments %}

  {% block main_content %}
      <p>Order By:</p>

Modified: trunk/thingsproject/dev.db
==============================================================================
Binary files. No diff available.

Modified: trunk/thingsproject/settings.py
==============================================================================
--- trunk/thingsproject/settings.py     (original)
+++ trunk/thingsproject/settings.py     Sun Sep  7 15:54:39 2008
@@ -78,6 +78,7 @@
      'django.contrib.sessions',
      'django.contrib.sites',
      'django.contrib.admin',
+    'django.contrib.comments',
      'twitter',
      'things',
  )

Modified: trunk/thingsproject/twitter/thing.py
==============================================================================
--- trunk/thingsproject/twitter/thing.py        (original)
+++ trunk/thingsproject/twitter/thing.py        Sun Sep  7 15:54:39 2008
@@ -6,5 +6,6 @@
          verbose_name_desc='Oldest', url_asc='newest', url_desc='oldest',
          field_url='date')
      message = things.OrderField()
+    comments = True

  things.site.register(Tweet, TweetThing)

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to