add c3nav.control app

This commit is contained in:
Laura Klünder 2017-12-08 14:48:37 +01:00
parent e3700a205a
commit 3803d86e21
11 changed files with 135 additions and 8 deletions

View file

@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-08 13:35
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('editor', '0019_permissions'),
]
operations = [
migrations.AlterModelOptions(
name='changeset',
options={'verbose_name': 'Change Set', 'verbose_name_plural': 'Change Sets'},
),
]

View file

@ -17,6 +17,7 @@ from django.utils.timezone import make_naive
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ungettext_lazy
from c3nav.control.models import UserPermissions
from c3nav.editor.models.changedobject import ApplyToInstanceError, ChangedObject
from c3nav.editor.wrappers import ModelInstanceWrapper, ModelWrapper, is_created_pk
from c3nav.mapdata.models import LocationSlug, MapUpdate
@ -56,11 +57,6 @@ 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
@ -491,12 +487,11 @@ class ChangeSet(models.Model):
return self.author_id == request.user.pk and self.state in ('proposed', 'reproposed')
def can_review(self, request):
return request.user.has_perm('editor.review_changeset')
return UserPermissions.get_for_user(request.user).review_changesets
@classmethod
def can_direct_edit(cls, request):
print(request.user.has_perm('editor.direct_edit'))
return request.user.has_perm('editor.direct_edit')
return UserPermissions.get_for_user(request.user).direct_edit
def can_start_review(self, request):
return self.can_review(request) and self.state in ('proposed', 'reproposed')