editor permissions

This commit is contained in:
Laura Klünder 2017-12-08 00:51:15 +01:00
parent 71faaf6caa
commit e3700a205a
2 changed files with 27 additions and 4 deletions

View file

@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-07 23:45
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('editor', '0018_changeset_last_cleaned_with'),
]
operations = [
migrations.AlterModelOptions(
name='changeset',
options={'permissions': (('review_changeset', 'Can review change sets'), ('direct_edit', 'Can use direct edit')), 'verbose_name': 'Change Set', 'verbose_name_plural': 'Change Sets'},
),
]

View file

@ -56,6 +56,11 @@ class ChangeSet(models.Model):
verbose_name_plural = _('Change Sets')
default_related_name = 'changesets'
permissions = (
('review_changeset', _('Can review change sets')),
('direct_edit', _('Can use direct edit')),
)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.changed_objects = None
@ -486,13 +491,12 @@ class ChangeSet(models.Model):
return self.author_id == request.user.pk and self.state in ('proposed', 'reproposed')
def can_review(self, request):
# todo implement permissions
return request.user.is_superuser
return request.user.has_perm('editor.review_changeset')
@classmethod
def can_direct_edit(cls, request):
# todo implement permissions
return request.user.is_superuser
print(request.user.has_perm('editor.direct_edit'))
return request.user.has_perm('editor.direct_edit')
def can_start_review(self, request):
return self.can_review(request) and self.state in ('proposed', 'reproposed')