Commits

Anonymous committed 13f7bcb

Don't integrate post reply handling in detail view

Comments (0)

Files changed (2)

flat_forum/urls.py

 
 urlpatterns = patterns('flat_forum.views',
     url(r'^new/$', 'post_add', name='post-add'),
-    # Reply is done by POSTing to a post
     url(r'^(?P<pk>\d+)/$', 'post_detail', name='post-detail'),
+    url(r'^(?P<pk>\d+)/reply/$', 'post_reply', name='post-reply'),
     # Default view use a Haystack Search view
     url(r'^$', 'post_index',),
 )

flat_forum/views.py

         return HttpResponseRedirect(request.get_full_path())
 
     def get_queryset(self):
-        qset = super(PostListView, self).get_queryset()
+        qset = super(PostListView, self).get_queryset().order_by('-created')
         terms = self.request.GET.get('q', '').encode('utf8')
         for term in shlex.split(terms):
             qset = qset.filter(
 post_index = PostListView.as_view()
 
 class PostCreateView(generic.CreateView):
-    '''Create a brand new post'''
+    '''Create a new post'''
     model = models.Post
     form_class = forms.PostForm
 
         return super(PostCreateView, self).form_valid(form)
 
 post_add = permission_required('post.can_add')(PostCreateView.as_view())
+post_reply = permission_required('post.can_reply')(PostCreateView.as_view())
 
-class PostDetail(generic.DetailView, edit.BaseCreateView):
+class PostDetail(generic.DetailView):
     model = models.Post
     form_class = forms.PostForm
 
 
     def get_context_data(self, **kwargs):
         return dict(super(PostDetail, self).get_context_data(**kwargs),
-            form=forms.PostForm(),
+            form=forms.PostForm(initial={'subject': self.object.subject}),
         )
 
 post_detail = PostDetail.as_view()