Switch wagtaildocs to use CollectionOwnershipPermissionPolicy

pull/2243/merge
Matt Westcott 2016-02-03 20:21:54 +00:00
rodzic abab314851
commit f9adb78ae4
2 zmienionych plików z 19 dodań i 5 usunięć

Wyświetl plik

@ -1,8 +1,10 @@
from wagtail.wagtailcore.permission_policies import OwnershipPermissionPolicy from wagtail.wagtailcore.permission_policies.collections import (
CollectionOwnershipPermissionPolicy
)
from wagtail.wagtaildocs.models import Document, get_document_model from wagtail.wagtaildocs.models import Document, get_document_model
permission_policy = OwnershipPermissionPolicy( permission_policy = CollectionOwnershipPermissionPolicy(
get_document_model(), get_document_model(),
auth_model=Document, auth_model=Document,
owner_field_name='uploaded_by_user' owner_field_name='uploaded_by_user'

Wyświetl plik

@ -18,7 +18,7 @@ from django.conf import settings
from django.utils.six import b from django.utils.six import b
from wagtail.tests.utils import WagtailTestUtils from wagtail.tests.utils import WagtailTestUtils
from wagtail.wagtailcore.models import Page from wagtail.wagtailcore.models import Page, Collection, GroupCollectionPermission
from wagtail.tests.testapp.models import EventPage, EventPageRelatedLink from wagtail.tests.testapp.models import EventPage, EventPageRelatedLink
from wagtail.wagtaildocs.models import Document from wagtail.wagtaildocs.models import Document
@ -72,7 +72,12 @@ class TestDocumentPermissions(TestCase):
) )
# Owner user must have the add_document permission # Owner user must have the add_document permission
self.owner.user_permissions.add(Permission.objects.get(codename='add_document')) self.adders_group = Group.objects.create(name='Document adders')
GroupCollectionPermission.objects.create(
group=self.adders_group, collection=Collection.get_first_root_node(),
permission=Permission.objects.get(codename='add_document')
)
self.owner.groups.add(self.adders_group)
# Create a document for running tests on # Create a document for running tests on
self.document = models.Document.objects.create(title="Test document", uploaded_by_user=self.owner) self.document = models.Document.objects.create(title="Test document", uploaded_by_user=self.owner)
@ -945,7 +950,14 @@ class TestEditOnlyPermissions(TestCase, WagtailTestUtils):
) )
change_permission = Permission.objects.get(content_type__app_label='wagtaildocs', codename='change_document') change_permission = Permission.objects.get(content_type__app_label='wagtaildocs', codename='change_document')
admin_permission = Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin') admin_permission = Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin')
user.user_permissions.add(change_permission, admin_permission) self.changers_group = Group.objects.create(name='Document changers')
GroupCollectionPermission.objects.create(
group=self.changers_group, collection=Collection.get_first_root_node(),
permission=change_permission
)
user.groups.add(self.changers_group)
user.user_permissions.add(admin_permission)
self.client.login(username='changeonly', password='password') self.client.login(username='changeonly', password='password')
def test_get_index(self): def test_get_index(self):