From f2ee3c614b0a2547543b4dcb6eb0e52d47758197 Mon Sep 17 00:00:00 2001 From: zhengxie Date: Mon, 21 Jan 2013 11:34:18 +0800 Subject: [PATCH] List history of read-only library, and fixed typo in share repo to all --- share/views.py | 3 +-- templates/repo.html | 4 ++-- templates/repo_history.html | 3 +++ utils/__init__.py | 5 +++-- views.py | 8 +++++--- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/share/views.py b/share/views.py index f23195a76c..c68ad36d9e 100644 --- a/share/views.py +++ b/share/views.py @@ -77,8 +77,7 @@ def share_repo(request): try: seafserv_threaded_rpc.set_inner_pub_repo(repo_id, permission) except: - msg = _(u'Failed to share to all members') - message.add_message(request, message.ERROR, msg) + messages.error(request, _(u'Failed to share to all members')) continue msg = _(u'Shared to all members successfully, go check it at Share.') % \ diff --git a/templates/repo.html b/templates/repo.html index 691dcc62c5..cb007d8cee 100644 --- a/templates/repo.html +++ b/templates/repo.html @@ -38,7 +38,7 @@ {% if user_perm == 'r' %} -

{% trans "This library is read-only, and you can only view the files."%}

+

{% trans "This library is read-only, you can not modify the contents of this library."%}

{% endif %} {% if user_perm and path == '/' %} @@ -53,7 +53,7 @@ {{ current_commit.props.desc|translate_commit_desc }} {% trans "Details"%} - {% if user_perm == 'rw' %} + {% if user_perm %} {% trans "History"%} {% endif %}

diff --git a/templates/repo_history.html b/templates/repo_history.html index 74d66a988a..51fedfab59 100644 --- a/templates/repo_history.html +++ b/templates/repo_history.html @@ -8,7 +8,10 @@ +{% if user_perm == 'rw' %}

{% trans "Tip: A snapshot will be generated after modification, which records the library state before this modification."%}{% trans "View Snapshot"%}

+{% endif %} +
diff --git a/utils/__init__.py b/utils/__init__.py index 5729589d46..fa2b2b6b0e 100644 --- a/utils/__init__.py +++ b/utils/__init__.py @@ -11,6 +11,7 @@ from django.contrib.sites.models import RequestSite from django.shortcuts import render_to_response from django.template import RequestContext from django.utils.hashcompat import sha_constructor, md5_constructor +from django.utils.translation import ugettext as _ from base.models import FileContributors, UserStarredFiles, DirFilesLastModifiedInfo @@ -65,7 +66,7 @@ def render_permission_error(request, msg=None, extra_ctx=None): """ ctx = {} - ctx['error_msg'] = msg or u'权限错误' + ctx['error_msg'] = msg or _('permissiong error') if extra_ctx: for k in extra_ctx: @@ -80,7 +81,7 @@ def render_error(request, msg=None, extra_ctx=None): """ ctx = {} - ctx['error_msg'] = msg or u'内部错误' + ctx['error_msg'] = msg or _('Internal error') if extra_ctx: for k in extra_ctx: diff --git a/views.py b/views.py index 52bbdd8db7..9cf83ad56e 100644 --- a/views.py +++ b/views.py @@ -117,8 +117,8 @@ def access_to_repo(request, repo_id, repo_ap=None): Check whether user in the request can access to repo, which means user can view directory entries on repo page. Only repo owner or person who is shared can access to repo. - NOTE: `repo_ap` may be used in future. + NOTE: This function is deprecated, use `get_user_permission`. """ if not request.user.is_authenticated(): token = request.COOKIES.get('anontoken', None) @@ -670,9 +670,10 @@ def get_subdir(request): @ctx_switch_required def repo_history(request, repo_id): """ - View repo history. + List library modification histories. """ - if not access_to_repo(request, repo_id, ''): + user_perm = get_user_permission(request, repo_id) + if not user_perm: return render_permission_error(request, _(u'Unable to view library modification')) repo = get_repo(repo_id) @@ -713,6 +714,7 @@ def repo_history(request, repo_id): 'next_page': current_page+1, 'per_page': per_page, 'page_next': page_next, + 'user_perm': user_perm, }, context_instance=RequestContext(request)) @login_required