Browse Source

Cleaned up users queries on users lists.

Rafał Pitoń 10 years ago
parent
commit
37ed98146a

+ 1 - 1
misago/templates/misago/userslists/online.html

@@ -1,5 +1,5 @@
 {% extends "misago/userslists/base.html" %}
 {% extends "misago/userslists/base.html" %}
-{% load humanize i18n misago_avatars misago_batch %}
+{% load humanize i18n misago_avatars %}
 
 
 
 
 {% block meta-description %}{% trans "List of signed in users currently browsing forums." %}{% endblock meta-description %}
 {% block meta-description %}{% trans "List of signed in users currently browsing forums." %}{% endblock meta-description %}

+ 14 - 7
misago/templates/misago/userslists/rank.html

@@ -1,5 +1,5 @@
 {% extends "misago/userslists/base.html" %}
 {% extends "misago/userslists/base.html" %}
-{% load humanize i18n %}
+{% load humanize i18n misago_avatars %}
 
 
 
 
 {% block meta-description %}{% blocktrans trimmed with rank=rank.name users=users.paginator.count|intcomma count counter=users.paginator.count %}
 {% block meta-description %}{% blocktrans trimmed with rank=rank.name users=users.paginator.count|intcomma count counter=users.paginator.count %}
@@ -65,9 +65,16 @@ There are {{ users }} users with {{ rank }} rank.
 {% endblock list-pagination %}
 {% endblock list-pagination %}
 
 
 
 
-{% block user-card-footer %}
-{{ block.super }}
-{% if card.title %}
-<small>{{ card.title }}</small>
-{% endif %}
-{% endblock user-card-footer %}
+{% block user-card %}
+<a href="{% url USER_PROFILE_URL user_slug=card.slug user_id=card.id %}" class="user-card {% if rank.css_class %}card-{{ rank.css_class }}{% endif %}">
+  <img src="{{ card|avatar:400 }}" alt="{% trans "Avatar" %}">
+  <div class="card-footer">
+    {% block user-card-footer %}
+    <h4 class="user-name">{{ card.username }}</h4>
+    {% if card.title %}
+    <small>{{ card.title }}</small>
+    {% endif %}
+    {% endblock user-card-footer %}
+  </div>
+</a>
+{% endblock user-card %}

+ 1 - 1
misago/users/online.py

@@ -16,7 +16,7 @@ def get_online_queryset(viewer):
     if not viewer.acl['can_see_hidden_users']:
     if not viewer.acl['can_see_hidden_users']:
         queryset = queryset.filter(user__is_hiding_presence=False)
         queryset = queryset.filter(user__is_hiding_presence=False)
 
 
-    return queryset.select_related('user', 'user__rank')
+    return queryset.select_related('user')
 
 
 
 
 
 

+ 2 - 1
misago/users/views/lists.py

@@ -69,7 +69,7 @@ def active_posters(request, page=0):
 
 
     tracked_period = settings.MISAGO_RANKING_LENGTH
     tracked_period = settings.MISAGO_RANKING_LENGTH
     User = get_user_model()
     User = get_user_model()
-    queryset = User.objects.all()
+    queryset = User.objects.all().select_related('user__rank')
 
 
     template =  "misago/userslists/active_posters.html"
     template =  "misago/userslists/active_posters.html"
     return list_view(request, template, queryset, page, {
     return list_view(request, template, queryset, page, {
@@ -80,6 +80,7 @@ def active_posters(request, page=0):
 @allow_see_list(allow_see_users_online_list)
 @allow_see_list(allow_see_users_online_list)
 def online(request, page=0):
 def online(request, page=0):
     queryset = get_online_queryset(request.user).order_by('user__slug')
     queryset = get_online_queryset(request.user).order_by('user__slug')
+    queryset = queryset.select_related('user__rank')
 
 
     template =  "misago/userslists/online.html"
     template =  "misago/userslists/online.html"
     return list_view(request, template, queryset, page)
     return list_view(request, template, queryset, page)