Browse Source

#410: Goto views

Rafał Pitoń 10 years ago
parent
commit
bfb117cba2

+ 3 - 3
misago/threads/models/thread.py

@@ -130,6 +130,9 @@ class Thread(models.Model):
     def get_absolute_url(self):
     def get_absolute_url(self):
         return self.get_url()
         return self.get_url()
 
 
+    def get_last_reply_url(self):
+        return self.get_url('last')
+
     def get_new_reply_url(self):
     def get_new_reply_url(self):
         return self.get_url('new')
         return self.get_url('new')
 
 
@@ -139,9 +142,6 @@ class Thread(models.Model):
     def get_moderated_reply_url(self):
     def get_moderated_reply_url(self):
         return self.get_url('moderated')
         return self.get_url('moderated')
 
 
-    def get_last_reply_url(self):
-        return self.get_url('last')
-
     def set_title(self, title):
     def set_title(self, title):
         self.title = title
         self.title = title
         self.slug = slugify(title)
         self.slug = slugify(title)

+ 2 - 0
misago/threads/urls.py

@@ -21,6 +21,8 @@ urlpatterns += patterns('',
     url(r'^thread/(?P<thread_slug>[\w\d-]+)-(?P<thread_id>\d+)/(?P<page>\d+)/$', ThreadView.as_view(), name='thread'),
     url(r'^thread/(?P<thread_slug>[\w\d-]+)-(?P<thread_id>\d+)/(?P<page>\d+)/$', ThreadView.as_view(), name='thread'),
     url(r'^thread/(?P<thread_slug>[\w\d-]+)-(?P<thread_id>\d+)/last/$', GotoLastView.as_view(), name='thread_last'),
     url(r'^thread/(?P<thread_slug>[\w\d-]+)-(?P<thread_id>\d+)/last/$', GotoLastView.as_view(), name='thread_last'),
     url(r'^thread/(?P<thread_slug>[\w\d-]+)-(?P<thread_id>\d+)/new/$', GotoNewView.as_view(), name='thread_new'),
     url(r'^thread/(?P<thread_slug>[\w\d-]+)-(?P<thread_id>\d+)/new/$', GotoNewView.as_view(), name='thread_new'),
+    url(r'^thread/(?P<thread_slug>[\w\d-]+)-(?P<thread_id>\d+)/reported/$', GotoNewView.as_view(), name='thread_reported'),
+    url(r'^thread/(?P<thread_slug>[\w\d-]+)-(?P<thread_id>\d+)/moderated/$', GotoNewView.as_view(), name='thread_moderated'),
     url(r'^thread/(?P<thread_slug>[\w\d-]+)-(?P<thread_id>\d+)/post-(?P<post_id>\d+)/$', GotoPostView.as_view(), name='thread_post'),
     url(r'^thread/(?P<thread_slug>[\w\d-]+)-(?P<thread_id>\d+)/post-(?P<post_id>\d+)/$', GotoPostView.as_view(), name='thread_post'),
 )
 )
 
 

+ 18 - 1
misago/threads/views/generic/goto.py

@@ -5,7 +5,14 @@ from misago.threads import goto
 from misago.threads.views.generic.base import ViewBase
 from misago.threads.views.generic.base import ViewBase
 
 
 
 
-__all__ = ['BaseGotoView', 'GotoLastView', 'GotoNewView', 'GotoPostView']
+__all__ = [
+    'BaseGotoView',
+    'GotoLastView',
+    'GotoNewView',
+    'GotoReportedView',
+    'GotoModeratedView',
+    'GotoPostView'
+]
 
 
 
 
 class BaseGotoView(ViewBase):
 class BaseGotoView(ViewBase):
@@ -33,6 +40,16 @@ class GotoNewView(BaseGotoView):
         return goto.new(user, thread)
         return goto.new(user, thread)
 
 
 
 
+class GotoReportedView(BaseGotoView):
+    def get_redirect(self, user, thread):
+        return goto.reported(user, thread)
+
+
+class GotoModeratedView(BaseGotoView):
+    def get_redirect(self, user, thread):
+        return goto.moderated(user, thread)
+
+
 class GotoPostView(BaseGotoView):
 class GotoPostView(BaseGotoView):
     def get_redirect(self, user, thread, post):
     def get_redirect(self, user, thread, post):
         return goto.post(user, thread, post)
         return goto.post(user, thread, post)

+ 8 - 0
misago/threads/views/threads.py

@@ -21,6 +21,14 @@ class GotoNewView(ThreadsMixin, generic.GotoNewView):
     pass
     pass
 
 
 
 
+class GotoReportedView(ThreadsMixin, generic.GotoReportedView):
+    pass
+
+
+class GotoModeratedView(ThreadsMixin, generic.GotoModeratedView):
+    pass
+
+
 class GotoPostView(ThreadsMixin, generic.GotoPostView):
 class GotoPostView(ThreadsMixin, generic.GotoPostView):
     pass
     pass