Shifted definition of the context list_var (entries vs. articles) to a class attribut...
authorStephen Burrows <stephen.r.burrows@gmail.com>
Thu, 26 Aug 2010 14:44:21 +0000 (10:44 -0400)
committerStephen Burrows <stephen.r.burrows@gmail.com>
Thu, 23 Sep 2010 16:31:43 +0000 (12:31 -0400)
contrib/penfield/models.py
contrib/penfield/utils.py
contrib/waldo/models.py

index e433b84..621dc65 100644 (file)
@@ -65,7 +65,8 @@ class BlogView(MultiView, FeedMultiViewMixin):
        entry_permalink_base = models.CharField(max_length=255, blank=False, default='entries')
        tag_permalink_base = models.CharField(max_length=255, blank=False, default='tags')
        feed_suffix = models.CharField(max_length=255, blank=False, default=FeedMultiViewMixin.feed_suffix)
-       feeds_enabled = models.BooleanField() 
+       feeds_enabled = models.BooleanField()
+       list_var = 'entries'
        
        def __unicode__(self):
                return u'BlogView for %s' % self.blog.title
@@ -284,6 +285,7 @@ class NewsletterView(MultiView, FeedMultiViewMixin):
        
        feed_suffix = models.CharField(max_length=255, blank=False, default=FeedMultiViewMixin.feed_suffix)
        feeds_enabled = models.BooleanField()
+       list_var = 'articles'
        
        @property
        def feed_title(self):
index 7b5e946..3fe7e72 100644 (file)
@@ -15,8 +15,9 @@ class FeedMultiViewMixin(object):
        atom_feed = Atom1Feed
        rss_feed = Rss201rev2Feed
        feed_description = ''
+       list_var = 'objects'
        
-       def page_view(self, func, page, list_var='entries'):
+       def page_view(self, func, page):
                """
                Wraps an object-fetching function and renders the results as a page.
                """
@@ -29,9 +30,9 @@ class FeedMultiViewMixin(object):
                        if 'page' in kwargs or 'page' in request.GET:
                                page_num = kwargs.get('page', request.GET.get('page', 1))
                                paginator, paginated_page, objects = paginate(objects, self.per_page, page_num)
-                               context.update({'paginator': paginator, 'paginated_page': paginated_page, list_var: objects})
+                               context.update({'paginator': paginator, 'paginated_page': paginated_page, self.list_var: objects})
                        else:
-                               context.update({list_var: objects})
+                               context.update({self.list_var: objects})
 
                        return page.render_to_response(node, request, extra_context=context)
 
index 93edab1..c2e98c4 100644 (file)
@@ -350,7 +350,7 @@ class AccountMultiView(LoginMultiView):
                
                return form_instances
        
-       def account_view(self, request, node=None, extra_context=None, token_generator=email_token_generator):
+       def account_view(self, request, node=None, extra_context=None, token_generator=email_token_generator, *args, **kwargs):
                if request.method == 'POST':
                        form_instances = self.get_account_form_instances(request.user, request.POST)
                        current_email = request.user.email
@@ -407,7 +407,8 @@ class AccountMultiView(LoginMultiView):
        def account_required(self, view):
                def inner(request, *args, **kwargs):
                        if not self.has_valid_account(request.user):
-                               messages.add_message(request, messages.ERROR, "You need to add some account information before you can post listings.", fail_silently=True)
+                               if not request.method == "POST":
+                                       messages.add_message(request, messages.ERROR, "You need to add some account information before you can access this page.", fail_silently=True)
                                return self.account_view(request, *args, **kwargs)
                        return view(request, *args, **kwargs)