diff --git a/rhodecode/lib/helpers.py b/rhodecode/lib/helpers.py --- a/rhodecode/lib/helpers.py +++ b/rhodecode/lib/helpers.py @@ -684,9 +684,9 @@ def action_parser(user_log, feed=False, get_user_name, 'user_add.png'), 'admin_updated_user': (_('[updated] user'), get_user_name, 'user_edit.png'), - 'admin_created_users_group': (_('[created] users group'), + 'admin_created_users_group': (_('[created] user group'), get_users_group, 'group_add.png'), - 'admin_updated_users_group': (_('[updated] users group'), + 'admin_updated_users_group': (_('[updated] user group'), get_users_group, 'group_edit.png'), 'user_commented_revision': (_('[commented] on revision in repository'), get_cs_links, 'comment_add.png'), @@ -977,7 +977,7 @@ def fancy_file_stats(stats): return literal('
%s%s
' % (width, d_a, d_d)) -def urlify_text(text_): +def urlify_text(text_, safe=True): """ Extrac urls from text and make html links out of them @@ -990,8 +990,10 @@ def urlify_text(text_): def url_func(match_obj): url_full = match_obj.groups()[0] return '%(url)s' % ({'url': url_full}) - - return literal(url_pat.sub(url_func, text_)) + _newtext = url_pat.sub(url_func, text_) + if safe: + return literal(_newtext) + return _newtext def urlify_changesets(text_, repository): @@ -1002,21 +1004,16 @@ def urlify_changesets(text_, repository) :param repository: repo name to build the URL with """ from pylons import url # doh, we need to re-import url to mock it later - URL_PAT = re.compile(r'(?:^|\s)([0-9a-fA-F]{12,40})(?:$|\s)') + URL_PAT = re.compile(r'(^|\s)([0-9a-fA-F]{12,40})($|\s)') def url_func(match_obj): - rev = match_obj.groups()[0] - pref = '' - suf = '' - if match_obj.group().startswith(' '): - pref = ' ' - if match_obj.group().endswith(' '): - suf = ' ' + rev = match_obj.groups()[1] + pref = match_obj.groups()[0] + suf = match_obj.groups()[2] + tmpl = ( '%(pref)s' - '%(rev)s' - '' - '%(suf)s' + '%(rev)s%(suf)s' ) return tmpl % { 'pref': pref, @@ -1062,7 +1059,7 @@ def urlify_commit(text_, repository=None newtext = urlify_changesets(escaper(text_), repository) # extract http/https links and make them real urls - newtext = urlify_text(newtext) + newtext = urlify_text(newtext, safe=False) try: from rhodecode import CONFIG