Changeset - 39b49c999efb
[Not reviewed]
beta
0 5 0
Marcin Kuzminski - 14 years ago 2011-12-08 00:23:11
marcin@python-works.com
fixes issue #320.
- added mapping of commit users into rhodecode users
5 files changed with 42 insertions and 7 deletions:
0 comments (0 inline, 0 general)
rhodecode/lib/helpers.py
Show inline comments
 
@@ -38,7 +38,6 @@ from webhelpers.html.tags import _set_in
 
from rhodecode.lib.annotate import annotate_highlight
 
from rhodecode.lib.utils import repo_name_slug
 
from rhodecode.lib import str2bool, safe_unicode, safe_str, get_changeset_safe
 

	
 
from rhodecode.lib.markup_renderer import MarkupRenderer
 

	
 
def _reset(name, value=None, id=NotGiven, type="reset", **attrs):
 
@@ -288,15 +287,50 @@ flash = _Flash()
 
#==============================================================================
 
from vcs.utils import author_name, author_email
 
from rhodecode.lib import credentials_filter, age as _age
 
from rhodecode.model.db import User
 

	
 
age = lambda  x:_age(x)
 
capitalize = lambda x: x.capitalize()
 
email = author_email
 
email_or_none = lambda x: email(x) if email(x) != x else None
 
person = lambda x: author_name(x)
 
short_id = lambda x: x[:12]
 
hide_credentials = lambda x: ''.join(credentials_filter(x))
 

	
 

	
 
def email_or_none(x):
 
    if email(x) != '':
 
        return email(x)
 

	
 
    # See if it contains a username we can get an email from
 
    user = User.get_by_username(author_name(x), case_insensitive=True,
 
                                cache=True)
 
    if user is not None:
 
        return user.email
 

	
 
    # No valid email, not a valid user in the system, none!
 
    return None
 

	
 
def person(x):
 
    # Valid email in the attribute passed, see if they're in the system
 

	
 
    # attr to return from fetched user
 
    person_getter = lambda usr: usr.username
 

	
 
    if email(x) != '':
 
        user = User.get_by_email(email(x), case_insensitive=True, cache=True)
 
        if user is not None:
 
            return person_getter(user)
 
        return email(x)
 

	
 
    # Maybe it's a username?
 
    user = User.get_by_username(author_name(x), case_insensitive=True,
 
                                cache=True)
 
    if user is not None:
 
        return person_getter(user)
 

	
 
    # Still nothing?  Just pass back the author name then
 
    return author_name(x)
 

	
 
def bool2icon(value):
 
    """Returns True/False values represented as small html image of true/false
 
    icons
rhodecode/templates/changelog/changelog.html
Show inline comments
 
@@ -54,8 +54,7 @@ ${c.repo_name} ${_('Changelog')} - ${c.r
 
								<div class="gravatar">
 
									<img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),16)}"/>
 
								</div>
 
								<div title="${h.email_or_none(cs.author)}" class="user">${h.person(cs.author)}</div>
 
								##<span><a href="mailto:${h.email_or_none(cs.author)}">${h.email_or_none(cs.author)}</a></span><br/>
 
								<div title="${cs.author}" class="user">${h.person(cs.author)}</div>
 
							</div>
 
							<div class="message">${h.link_to(h.wrap_paragraphs(cs.message),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
 
						</div>	
rhodecode/templates/files/files_annotate.html
Show inline comments
 
@@ -64,7 +64,7 @@
 
                        <div class="gravatar">
 
                            <img alt="gravatar" src="${h.gravatar_url(h.email(c.cs.author),16)}"/>
 
                        </div>
 
                        <div title="${h.email_or_none(c.cs.author)}" class="user">${h.person(c.cs.author)}</div>
 
                        <div title="${c.cs.author}" class="user">${h.person(c.cs.author)}</div>
 
                    </div>
 
                    <div class="commit">${c.file.last_changeset.message}</div>
 
                </div>
rhodecode/templates/files/files_browser.html
Show inline comments
 
@@ -96,7 +96,9 @@
 
		             </td>
 
		             <td>
 
		             	%if node.is_file():
 
		             		${node.last_changeset.author}
 
		             		<span title="${node.last_changeset.author}">
 
                            ${h.person(node.last_changeset.author)}
 
                            </span>
 
		             	%endif                    
 
		             </td>
 
				</tr>
rhodecode/templates/files/files_source.html
Show inline comments
 
@@ -35,7 +35,7 @@
 
            <div class="gravatar">
 
                <img alt="gravatar" src="${h.gravatar_url(h.email(c.changeset.author),16)}"/>
 
            </div>
 
            <div title="${h.email_or_none(c.changeset.author)}" class="user">${h.person(c.changeset.author)}</div>
 
            <div title="${c.changeset.author}" class="user">${h.person(c.changeset.author)}</div>
 
        </div>
 
		<div class="commit">${c.file.last_changeset.message}</div>
 
	</div>
0 comments (0 inline, 0 general)