Просмотр исходного кода

Split Threads and Posts in separate actions

Ralfp 12 лет назад
Родитель
Сommit
7f9b1d828c

+ 0 - 32
misago/profiles/content/views.py

@@ -1,32 +0,0 @@
-from misago.profiles.decorators import profile_view
-from misago.profiles.template import RequestContext
-from misago.utils import make_pagination
-
-@profile_view('user_posts')
-def posts(request, user, page=0):
-    queryset = user.post_set.filter(forum_id__in=request.acl.threads.get_readable_forums(request.acl)).filter(deleted=False).filter(moderated=False).select_related('thread', 'forum').order_by('-id')
-    count = queryset.count()
-    pagination = make_pagination(page, count, 12)
-    return request.theme.render_to_response('profiles/content_posts.html',
-                                            context_instance=RequestContext(request, {
-                                             'profile': user,
-                                             'tab': 'posts',
-                                             'items_total': count,
-                                             'items': queryset[pagination['start']:pagination['stop']],
-                                             'pagination': pagination,
-                                             }));
-
-
-@profile_view('user_threads')
-def threads(request, user, page=0):
-    queryset = user.thread_set.filter(forum_id__in=request.acl.threads.get_readable_forums(request.acl)).filter(deleted=False).filter(moderated=False).select_related('start_post', 'forum').order_by('-id')
-    count = queryset.count()
-    pagination = make_pagination(page, count, 12)
-    return request.theme.render_to_response('profiles/content_threads.html',
-                                            context_instance=RequestContext(request, {
-                                             'profile': user,
-                                             'tab': 'posts',
-                                             'items_total': count,
-                                             'items': queryset[pagination['start']:pagination['stop']],
-                                             'pagination': pagination,
-                                             }));

+ 0 - 0
misago/profiles/content/__init__.py → misago/profiles/posts/__init__.py


+ 1 - 1
misago/profiles/content/profile.py → misago/profiles/posts/profile.py

@@ -1,4 +1,4 @@
 from django.utils.translation import ugettext_lazy as _
 
 def register_profile_extension(request):
-    return (('user_posts', _('Posts and Threads')),)
+    return (('user_posts', _('Posts')),)

+ 2 - 7
misago/profiles/content/urls.py → misago/profiles/posts/urls.py

@@ -3,19 +3,14 @@ from django.conf.urls import patterns, url
 def register_profile_urls(first=False):
     urlpatterns = []
     if first:
-        urlpatterns += patterns('misago.profiles.content.views',
+        urlpatterns += patterns('misago.profiles.posts.views',
             url(r'^$', 'posts', name="user"),
             url(r'^$', 'posts', name="user_posts"),
             url(r'^(?P<page>\d+)/$', 'posts', name="user_posts"),
-            url(r'^threads/$', 'threads', name="user_threads"),
         )
     else:
-        urlpatterns += patterns('misago.profiles.content.views',
+        urlpatterns += patterns('misago.profiles.posts.views',
             url(r'^posts/$', 'posts', name="user_posts"),
             url(r'^posts/(?P<page>\d+)/$', 'posts', name="user_posts"),
-            url(r'^threads/$', 'threads', name="user_threads"),
         )
-    urlpatterns += patterns('misago.profiles.content.views',
-        url(r'^threads/(?P<page>\d+)/$', 'threads', name="user_threads"),
-    )
     return urlpatterns

+ 17 - 0
misago/profiles/posts/views.py

@@ -0,0 +1,17 @@
+from misago.profiles.decorators import profile_view
+from misago.profiles.template import RequestContext
+from misago.utils import make_pagination
+
+@profile_view('user_posts')
+def posts(request, user, page=0):
+    queryset = user.post_set.filter(forum_id__in=request.acl.threads.get_readable_forums(request.acl)).filter(deleted=False).filter(moderated=False).select_related('thread', 'forum').order_by('-id')
+    count = queryset.count()
+    pagination = make_pagination(page, count, 12)
+    return request.theme.render_to_response('profiles/posts.html',
+                                            context_instance=RequestContext(request, {
+                                             'profile': user,
+                                             'tab': 'posts',
+                                             'items_total': count,
+                                             'items': queryset[pagination['start']:pagination['stop']],
+                                             'pagination': pagination,
+                                             }));

+ 0 - 0
misago/profiles/threads/__init__.py


+ 4 - 0
misago/profiles/threads/profile.py

@@ -0,0 +1,4 @@
+from django.utils.translation import ugettext_lazy as _
+
+def register_profile_extension(request):
+    return (('user_threads', _('Threads')),)

+ 16 - 0
misago/profiles/threads/urls.py

@@ -0,0 +1,16 @@
+from django.conf.urls import patterns, url
+
+def register_profile_urls(first=False):
+    urlpatterns = []
+    if first:
+        urlpatterns += patterns('misago.profiles.threads.views',
+            url(r'^$', 'threads', name="user"),
+            url(r'^$', 'threads', name="user_threads"),
+            url(r'^(?P<page>\d+)/$', 'threads', name="user_threads"),
+        )
+    else:
+        urlpatterns += patterns('misago.profiles.threads.views',
+            url(r'^threads/$', 'threads', name="user_threads"),
+            url(r'^threads/(?P<page>\d+)/$', 'threads', name="user_threads"),
+        )
+    return urlpatterns

+ 17 - 0
misago/profiles/threads/views.py

@@ -0,0 +1,17 @@
+from misago.profiles.decorators import profile_view
+from misago.profiles.template import RequestContext
+from misago.utils import make_pagination
+
+@profile_view('user_threads')
+def threads(request, user, page=0):
+    queryset = user.thread_set.filter(forum_id__in=request.acl.threads.get_readable_forums(request.acl)).filter(deleted=False).filter(moderated=False).select_related('start_post', 'forum').order_by('-id')
+    count = queryset.count()
+    pagination = make_pagination(page, count, 12)
+    return request.theme.render_to_response('profiles/threads.html',
+                                            context_instance=RequestContext(request, {
+                                             'profile': user,
+                                             'tab': 'threads',
+                                             'items_total': count,
+                                             'items': queryset[pagination['start']:pagination['stop']],
+                                             'pagination': pagination,
+                                             }));

+ 2 - 1
misago/settings_base.py

@@ -130,7 +130,8 @@ USERCP_EXTENSIONS = (
 
 # List of User Profile extensions
 PROFILE_EXTENSIONS = (
-    'misago.profiles.content',
+    'misago.profiles.posts',
+    'misago.profiles.threads',
     'misago.profiles.follows',
     'misago.profiles.followers',
     'misago.profiles.details',

+ 1 - 1
templates/cranefly/profiles/list.html

@@ -87,7 +87,7 @@
       {%- if in_search -%}
       {% trans %}We couldn't find any members with specified name.{% endtrans %}
       {%- else -%}
-      {% trans %}Looks like there is nobody there.{% endtrans %}
+      {% trans %}Looks like this group has no members...{% endtrans %}
       {%- endif -%}
     </p>
     {% endif %}

+ 3 - 9
templates/cranefly/profiles/content_posts.html → templates/cranefly/profiles/posts.html

@@ -15,15 +15,9 @@
     {{ username }} has {{ total }} posts
     {%- endtrans -%}</small>{% endif %}</h2>
 
-<div class="list-nav">
-  {% if items_total %}
-  {{ pager() }}
-  {% endif %}
-  <ul class="nav nav-pills pull-right">
-    <li class="primary"><a href="{% url 'user_posts' user=profile.id, username=profile.username_slug %}">{% trans %}Posts{% endtrans %}</a></li>
-    <li class="info"><a href="{% url 'user_threads' user=profile.id, username=profile.username_slug %}">{% trans %}Threads{% endtrans %}</a></li>
-  </ul>
-</div>
+{% if items_total %}
+{{ pager() }}
+{% endif %}
 
 {% if items_total %}
 <ul class="unstyled shorts-list">

+ 3 - 9
templates/cranefly/profiles/content_threads.html → templates/cranefly/profiles/threads.html

@@ -16,15 +16,9 @@
     {%- endtrans -%}
     </small>{% endif %}</h2>
     
-<div class="list-nav">
-  {% if items_total %}
-  {{ pager() }}
-  {% endif %}
-  <ul class="nav nav-pills pull-right">
-    <li class="info"><a href="{% url 'user_posts' user=profile.id, username=profile.username_slug %}">{% trans %}Posts{% endtrans %}</a></li>
-    <li class="primary"><a href="{% url 'user_threads' user=profile.id, username=profile.username_slug %}">{% trans %}Threads{% endtrans %}</a></li>
-  </ul>
-</div>
+{% if items_total %}
+{{ pager() }}
+{% endif %}
 
 {% if items_total %}
 <ul class="unstyled shorts-list">