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

Add permission for reports

Issue #798
Signed-off-by: default avatarMichal Čihař <michal@cihar.com>
parent 0ce39357
...@@ -87,6 +87,8 @@ Can edit check flags [Managers, Owners] ...@@ -87,6 +87,8 @@ Can edit check flags [Managers, Owners]
Can adjust source string check flags Can adjust source string check flags
Can download changes [Managers, Owners] Can download changes [Managers, Owners]
Can download changes in a CSV format. Can download changes in a CSV format.
Can display reports [Managers, Owners]
Can display detailed translation reports.
.. _acl: .. _acl:
......
...@@ -796,6 +796,7 @@ def create_groups(update): ...@@ -796,6 +796,7 @@ def create_groups(update):
Permission.objects.get(codename='edit_flags'), Permission.objects.get(codename='edit_flags'),
Permission.objects.get(codename='manage_acl'), Permission.objects.get(codename='manage_acl'),
Permission.objects.get(codename='download_changes'), Permission.objects.get(codename='download_changes'),
Permission.objects.get(codename='view_reports'),
) )
group, created = Group.objects.get_or_create(name='Managers') group, created = Group.objects.get_or_create(name='Managers')
......
...@@ -430,6 +430,7 @@ class SubProject(models.Model, PercentMixin, URLMixin, PathMixin): ...@@ -430,6 +430,7 @@ class SubProject(models.Model, PercentMixin, URLMixin, PathMixin):
permissions = ( permissions = (
('lock_subproject', "Can lock translation for translating"), ('lock_subproject', "Can lock translation for translating"),
('can_see_git_repository', "Can see VCS repository URL"), ('can_see_git_repository', "Can see VCS repository URL"),
('view_reports', "Can display reports"),
) )
app_label = 'trans' app_label = 'trans'
verbose_name = ugettext_lazy('Component') verbose_name = ugettext_lazy('Component')
......
...@@ -269,3 +269,11 @@ def can_automatic_translation(user, project): ...@@ -269,3 +269,11 @@ def can_automatic_translation(user, project):
Checks whether user can do automatic translation on given project. Checks whether user can do automatic translation on given project.
""" """
return check_permission(user, project, 'trans.automatic_translation') return check_permission(user, project, 'trans.automatic_translation')
@cache_permission
def can_view_reports(user, project):
"""
Checks whether user can view reports on given project.
"""
return check_permission(user, project, 'trans.view_reports')
...@@ -121,3 +121,8 @@ def can_manage_acl(user, project): ...@@ -121,3 +121,8 @@ def can_manage_acl(user, project):
@register.assignment_tag @register.assignment_tag
def can_download_changes(user, project): def can_download_changes(user, project):
return weblate.trans.permissions.can_download_changes(user, project) return weblate.trans.permissions.can_download_changes(user, project)
@register.assignment_tag
def can_view_reports(user, project):
return weblate.trans.permissions.can_view_reports(user, project)
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