]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/models/user.py
SPLUNK-198. Long usernames used to cause trouble with the UI. Every username length...
[osqa.git] / forum / models / user.py
index 699c7bc5ed015531bf77630f6381d01be8580a6d..e7365388eb2efce62bfba607f9b8be18f06839e5 100644 (file)
@@ -5,6 +5,8 @@ from django.contrib.contenttypes.models import ContentType
 from django.contrib.auth.models import User as DjangoUser, AnonymousUser as DjangoAnonymousUser
 from django.db.models import Q
 
+from forum.settings import TRUNCATE_LONG_USERNAMES, TRUNCATE_USERNAMES_LONGER_THAN
+
 import string
 from random import Random
 
@@ -146,12 +148,17 @@ class User(BaseModel, DjangoUser):
 
     @property
     def decorated_name(self):
+        username = self.username
+
+        if len(username) > TRUNCATE_USERNAMES_LONGER_THAN and TRUNCATE_LONG_USERNAMES:
+            username = '%s...' % username[:TRUNCATE_USERNAMES_LONGER_THAN-3]
+
         if settings.SHOW_STATUS_DIAMONDS:
             if self.is_superuser:
-                return u"%s \u2666\u2666" % self.username
+                return u"%s \u2666\u2666" % username
 
             if self.is_staff:
-                return u"%s \u2666" % self.username
+                return u"%s \u2666" % username
 
         return self.username