changeset 2731:09d8fec02954 beta

Implemented #532. - now displaying username + full name for mapped users from RhodeCode
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 23 Aug 2012 22:22:46 +0200
parents 7949bc80b3b1
children c25cc1c7c65f
files rhodecode/lib/helpers.py rhodecode/model/db.py
diffstat 2 files changed, 18 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/helpers.py	Wed Aug 22 13:30:52 2012 +0200
+++ b/rhodecode/lib/helpers.py	Thu Aug 23 22:22:46 2012 +0200
@@ -416,9 +416,9 @@
     return None
 
 
-def person(author):
+def person(author, show_attr="username_and_name"):
     # attr to return from fetched user
-    person_getter = lambda usr: usr.username
+    person_getter = lambda usr: getattr(usr, show_attr)
 
     # Valid email in the attribute passed, see if they're in the system
     _email = email(author)
@@ -439,9 +439,9 @@
     return _author
 
 
-def person_by_id(id_):
+def person_by_id(id_, show_attr="username_and_name"):
     # attr to return from fetched user
-    person_getter = lambda usr: usr.username
+    person_getter = lambda usr: getattr(usr, show_attr)
 
     #maybe it's an ID ?
     if str(id_).isdigit() or isinstance(id_, int):
--- a/rhodecode/model/db.py	Wed Aug 22 13:30:52 2012 +0200
+++ b/rhodecode/model/db.py	Thu Aug 23 22:22:46 2012 +0200
@@ -330,26 +330,35 @@
         self._email = val.lower() if val else None
 
     @property
+    def firstname(self):
+        # alias for future
+        return self.name
+
+    @property
     def emails(self):
         other = UserEmailMap.query().filter(UserEmailMap.user==self).all()
         return [self.email] + [x.email for x in other]
 
     @property
+    def username_and_name(self):
+        return '%s (%s %s)' % (self.username, self.firstname, self.lastname)
+
+    @property
     def full_name(self):
-        return '%s %s' % (self.name, self.lastname)
+        return '%s %s' % (self.firstname, self.lastname)
 
     @property
     def full_name_or_username(self):
-        return ('%s %s' % (self.name, self.lastname)
-                if (self.name and self.lastname) else self.username)
+        return ('%s %s' % (self.firstname, self.lastname)
+                if (self.firstname and self.lastname) else self.username)
 
     @property
     def full_contact(self):
-        return '%s %s <%s>' % (self.name, self.lastname, self.email)
+        return '%s %s <%s>' % (self.firstname, self.lastname, self.email)
 
     @property
     def short_contact(self):
-        return '%s %s' % (self.name, self.lastname)
+        return '%s %s' % (self.firstname, self.lastname)
 
     @property
     def is_admin(self):