Browse Source

User.get_absolute_url

Rafał Pitoń 10 years ago
parent
commit
21e670ed9f
2 changed files with 10 additions and 2 deletions
  1. 2 2
      misago/templates/misago/admin/users/list.html
  2. 8 0
      misago/users/models/user.py

+ 2 - 2
misago/templates/misago/admin/users/list.html

@@ -30,12 +30,12 @@
 
 {% block table-row %}
 <td>
-  <a href="{% url USER_PROFILE_URL user_slug=item.slug user_id=item.id %}">
+  <a href="{{ item.get_absolute_url }}">
     <img src="{{ item|avatar:24 }}" alt="{% trans "Avatar" %}" width="24" height="24">
   </a>
 </td>
 <td class="item-name {% if item.requires_activation %}text-muted{% endif %}">
-  <a href="{% url USER_PROFILE_URL user_slug=item.slug user_id=item.id %}">{{ item.username }}</a>
+  <a href="{{ item.get_absolute_url }}">{{ item.username }}</a>
 </td>
 <td class="lead text-muted">
   {% if item.requires_activation_by_admin %}

+ 8 - 0
misago/users/models/user.py

@@ -4,6 +4,7 @@ from django.contrib.auth.models import (AbstractBaseUser, PermissionsMixin,
                                         UserManager as BaseUserManager,
                                         AnonymousUser as DjangoAnonymousUser)
 from django.core.mail import send_mail
+from django.core.urlresolvers import reverse
 from django.db import models, transaction
 from django.dispatch import receiver
 from django.utils import timezone
@@ -20,6 +21,7 @@ from misago.users import avatars
 from misago.users.signals import delete_user_content, username_changed
 from misago.users.signatures import (is_user_signature_valid,
                                      make_signature_checksum)
+from misago.users.sites import user_profile
 from misago.users.utils import hash_email
 
 
@@ -290,6 +292,12 @@ class User(AbstractBaseUser, PermissionsMixin):
             self.is_superuser = False
             self.is_staff = False
 
+    def get_absolute_url(self):
+        return reverse(user_profile.get_default_link(), kwargs={
+            'user_slug': self.slug,
+            'user_id': self.id,
+        })
+
     def get_username(self):
         """
         Dirty hack: return real username instead of normalized slug