diff --git a/rhodecode/lib/helpers.py b/rhodecode/lib/helpers.py --- a/rhodecode/lib/helpers.py +++ b/rhodecode/lib/helpers.py @@ -416,9 +416,9 @@ def email_or_none(author): 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 @@ def person(author): 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): diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -330,26 +330,35 @@ class User(Base, BaseModel): 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):