1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-05-11 01:17:02 +00:00

add link to commit details

This commit is contained in:
lins05 2012-09-25 20:07:46 +08:00
parent 882c33a4dd
commit bac82d56c8
4 changed files with 26 additions and 9 deletions
base/templatetags
media/css
po.pyviews.py

View File

@ -51,7 +51,7 @@ def translate_commit_desc(value):
return u'合并了其他人的修改'
else:
operations = '|'.join(TRANSLATION_MAP.keys())
patt = r'(%s) "(.*)"\s?(and ([0-9]+) more files)?' % operations
patt = r'(%s) "(.*)"\s?(and ([0-9]+) more (files|directories))?' % operations
ret_list = []
for e in value.split('\n'):
@ -66,13 +66,18 @@ def translate_commit_desc(value):
op = m.group(1)
op_trans = TRANSLATION_MAP.get(op)
file_name = m.group(2)
more_files = m.group(3)
more = m.group(3)
n_files = m.group(4)
more_type = m.group(5)
if not more_files:
if not more:
ret = op_trans + u' "' + file_name + u'".'
else:
ret = op_trans + u' "' + file_name + u'"以及另外' + n_files + u'个文件.'
if more_type == 'files':
typ = u'文件'
else:
typ = u'目录'
ret = op_trans + u' "' + file_name + u'"以及另外' + n_files + u'' + typ + '.'
ret_list.append(ret)
return '\n'.join(ret_list)

View File

@ -1242,3 +1242,7 @@ ul.with-bg li {
top:-15px;
left:-14px;
}
#ls-ch a {
color: green;
}

1
po.py
View File

@ -4,6 +4,7 @@
TRANSLATION_MAP = {
'Added' : u'添加了',
'Deleted' : u'删除了',
'Removed' : u'删除了',
'Modified' : u'修改了',
'Renamed' : u'重命名或移动了',
'Moved' : u'移动了',

View File

@ -635,7 +635,14 @@ def repo_history_revert(request, repo_id):
return render_error(request, u'未知错误')
return HttpResponseRedirect(reverse(repo_history, args=[repo_id]))
def fpath_to_link(repo_id, path):
"""Translate file path of a repo to its view link"""
fpath = 'repo/%s/files/?p=/%s' % (repo_id, urllib2.quote(path.encode('utf-8')))
href = os.path.join(settings.SITE_ROOT, fpath)
return '<a href="%s">%s</a>' % (href, path)
def get_diff(repo_id, arg1, arg2):
lists = {'new' : [], 'removed' : [], 'renamed' : [], 'modified' : [], \
'newdir' : [], 'deldir' : []}
@ -646,15 +653,15 @@ def get_diff(repo_id, arg1, arg2):
for d in diff_result:
if d.status == "add":
lists['new'].append(d.name)
lists['new'].append(fpath_to_link(repo_id, d.name))
elif d.status == "del":
lists['removed'].append(d.name)
elif d.status == "mov":
lists['renamed'].append(d.name + " ==> " + d.new_name)
lists['renamed'].append(d.name + " ==> " + fpath_to_link(repo_id, d.new_name))
elif d.status == "mod":
lists['modified'].append(d.name)
lists['modified'].append(fpath_to_link(repo_id, d.name))
elif d.status == "newdir":
lists['newdir'].append(d.name)
lists['newdir'].append(fpath_to_link(repo_id, d.name))
elif d.status == "deldir":
lists['deldir'].append(d.name)