Commit 94020604 authored by Michal Čihař's avatar Michal Čihař

Convert perms.trans.reset_translation to new model

Signed-off-by: default avatarMichal Čihař <michal@cihar.com>
parent d9113f5c
......@@ -5,6 +5,7 @@
{% can_commit_translation user project as user_can_commit_translation %}
{% can_update_translation user project as user_can_update_translation %}
{% can_reset_translation user project as user_can_reset_translation %}
<div class="row">
......@@ -142,7 +143,7 @@
</tr>
{% endif %}
{% if perms.trans.reset_translation %}
{% if user_can_reset_translation %}
<tr>
<td>
<a href="{{ object.get_reset_url }}" class="btn btn-default confirm-reset">{% trans "Reset" %}</a>
......
......@@ -176,3 +176,11 @@ def can_update_translation(user, project):
Checks whether user can update translation repository.
"""
return check_permission(user, project, 'trans.update_translation')
@cache_permission
def can_reset_translation(user, project):
"""
Checks whether user can reset translation repository.
"""
return check_permission(user, project, 'trans.reset_translation')
......@@ -76,3 +76,8 @@ def can_commit_translation(user, project):
@register.assignment_tag
def can_update_translation(user, project):
return weblate.trans.permissions.can_update_translation(user, project)
@register.assignment_tag
def can_reset_translation(user, project):
return weblate.trans.permissions.can_reset_translation(user, project)
......@@ -27,7 +27,9 @@ from weblate.trans.views.helper import (
)
from weblate.trans.filelock import FileLockException
from weblate.trans.util import redirect_param
from weblate.trans.permissions import can_commit_translation
from weblate.trans.permissions import (
can_commit_translation, can_update_translation, can_reset_translation,
)
def execute_locked(request, obj, message, call, *args, **kwargs):
......@@ -172,22 +174,28 @@ def push_translation(request, project, subproject, lang):
return perform_push(request, obj)
@permission_required('trans.reset_translation')
def reset_project(request, project):
obj = get_project(request, project)
if not can_reset_translation(request.user, obj):
raise PermissionDenied()
return perform_reset(request, obj)
@permission_required('trans.reset_translation')
def reset_subproject(request, project, subproject):
obj = get_subproject(request, project, subproject)
if not can_reset_translation(request.user, obj.subproject):
raise PermissionDenied()
return perform_reset(request, obj)
@permission_required('trans.reset_translation')
def reset_translation(request, project, subproject, lang):
obj = get_translation(request, project, subproject, lang)
if not can_reset_translation(request.user, obj.subproject.translation):
raise PermissionDenied()
return perform_reset(request, obj)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment