Fix smart link ACL support

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2019-04-28 02:31:38 -04:00
parent a544924c08
commit 713e644599
5 changed files with 20 additions and 18 deletions

View File

@@ -197,6 +197,7 @@
* Update smart link document type selection view to use * Update smart link document type selection view to use
AddRemoveView class. AddRemoveView class.
* Add smart link created and edited events. * Add smart link created and edited events.
* Fix smart link ACL support.
3.1.11 (2019-04-XX) 3.1.11 (2019-04-XX)
=================== ===================

View File

@@ -229,6 +229,7 @@ Other changes
* Update smart link document type selection view to use * Update smart link document type selection view to use
AddRemoveView class. AddRemoveView class.
* Add smart link created and edited events. * Add smart link created and edited events.
* Fix smart link ACL support.
Removals Removals
-------- --------

View File

@@ -35,7 +35,9 @@ class SmartLinkTemplateEventsTestCase(DocumentTestMixin, SmartLinkTestMixin, Sma
def test_smart_link_edit_event(self): def test_smart_link_edit_event(self):
self._create_test_smart_link() self._create_test_smart_link()
self.grant_permission(permission=permission_smart_link_edit) self.grant_access(
obj=self.test_smart_link, permission=permission_smart_link_edit
)
Action.objects.all().delete() Action.objects.all().delete()
response = self._request_test_smart_link_edit_view() response = self._request_test_smart_link_edit_view()

View File

@@ -43,9 +43,11 @@ class SmartLinkViewTestCase(SmartLinkTestMixin, SmartLinkViewTestMixin, GenericV
self.assertEqual(SmartLink.objects.count(), 1) self.assertEqual(SmartLink.objects.count(), 1)
def test_smart_link_delete_view_with_permission(self): def test_smart_link_delete_view_with_access(self):
self._create_test_smart_link() self._create_test_smart_link()
self.grant_permission(permission=permission_smart_link_delete) self.grant_access(
obj=self.test_smart_link, permission=permission_smart_link_delete
)
response = self._request_test_smart_link_delete_view() response = self._request_test_smart_link_delete_view()
self.assertEqual(response.status_code, 302) self.assertEqual(response.status_code, 302)
@@ -61,10 +63,12 @@ class SmartLinkViewTestCase(SmartLinkTestMixin, SmartLinkViewTestMixin, GenericV
self.test_smart_link.refresh_from_db() self.test_smart_link.refresh_from_db()
self.assertEqual(self.test_smart_link.label, TEST_SMART_LINK_LABEL) self.assertEqual(self.test_smart_link.label, TEST_SMART_LINK_LABEL)
def test_smart_link_edit_view_with_permission(self): def test_smart_link_edit_view_with_access(self):
self._create_test_smart_link() self._create_test_smart_link()
self.grant_permission(permission=permission_smart_link_edit) self.grant_access(
obj=self.test_smart_link, permission=permission_smart_link_edit
)
response = self._request_test_smart_link_edit_view() response = self._request_test_smart_link_edit_view()
self.assertEqual(response.status_code, 302) self.assertEqual(response.status_code, 302)
@@ -74,11 +78,9 @@ class SmartLinkViewTestCase(SmartLinkTestMixin, SmartLinkViewTestMixin, GenericV
class SmartLinkDocumentViewTestCase(SmartLinkTestMixin, GenericDocumentViewTestCase): class SmartLinkDocumentViewTestCase(SmartLinkTestMixin, GenericDocumentViewTestCase):
def setup_smart_links(self): def setUp(self):
self.test_smart_link = SmartLink.objects.create( super(SmartLinkDocumentViewTestCase, self).setUp()
label=TEST_SMART_LINK_LABEL, self._create_test_smart_link()
dynamic_label=TEST_SMART_LINK_DYNAMIC_LABEL
)
self.test_smart_link.document_types.add(self.test_document_type) self.test_smart_link.document_types.add(self.test_document_type)
self.test_smart_link_2 = SmartLink.objects.create( self.test_smart_link_2 = SmartLink.objects.create(
@@ -94,8 +96,6 @@ class SmartLinkDocumentViewTestCase(SmartLinkTestMixin, GenericDocumentViewTestC
) )
def test_document_smart_link_list_view_no_permission(self): def test_document_smart_link_list_view_no_permission(self):
self.setup_smart_links()
self.grant_access( self.grant_access(
obj=self.test_document, permission=permission_document_view obj=self.test_document, permission=permission_document_view
) )
@@ -109,8 +109,6 @@ class SmartLinkDocumentViewTestCase(SmartLinkTestMixin, GenericDocumentViewTestC
) )
def test_document_smart_link_list_view_with_permission(self): def test_document_smart_link_list_view_with_permission(self):
self.setup_smart_links()
self.grant_access( self.grant_access(
obj=self.test_smart_link, permission=permission_smart_link_view obj=self.test_smart_link, permission=permission_smart_link_view
) )

View File

@@ -203,10 +203,10 @@ class SmartLinkCreateView(SingleObjectCreateView):
class SmartLinkDeleteView(SingleObjectDeleteView): class SmartLinkDeleteView(SingleObjectDeleteView):
model = SmartLink model = SmartLink
object_permission = permission_smart_link_delete
post_action_redirect = reverse_lazy( post_action_redirect = reverse_lazy(
viewname='linking:smart_link_list' viewname='linking:smart_link_list'
) )
view_permission = permission_smart_link_delete
def get_extra_context(self): def get_extra_context(self):
return { return {
@@ -218,10 +218,10 @@ class SmartLinkDeleteView(SingleObjectDeleteView):
class SmartLinkEditView(SingleObjectEditView): class SmartLinkEditView(SingleObjectEditView):
form_class = SmartLinkForm form_class = SmartLinkForm
model = SmartLink model = SmartLink
object_permission = permission_smart_link_edit
post_action_redirect = reverse_lazy( post_action_redirect = reverse_lazy(
viewname='linking:smart_link_list' viewname='linking:smart_link_list'
) )
view_permission = permission_smart_link_edit
def get_extra_context(self): def get_extra_context(self):
return { return {
@@ -234,7 +234,7 @@ class SmartLinkEditView(SingleObjectEditView):
class SmartLinkConditionListView(SingleObjectListView): class SmartLinkConditionListView(SingleObjectListView):
view_permission = permission_smart_link_edit object_permission = permission_smart_link_edit
def get_extra_context(self): def get_extra_context(self):
return { return {