Created on 24 abr. 2020 @author: julio Copyright (C) 2020 Julio Santa Cruz <*****@*****.**> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ''' from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Barcodes'), name='mayan_barcodes') permission_barcodes_view = namespace.add_permission( label=_('View the barcodes found in documents'), name='barcodes_view') permission_barcodes_setup = namespace.add_permission( label=_('Setup barcode scan'), name='barcodes_setup')
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Task manager'), name='task_manager') permission_task_view = namespace.add_permission( label=_('View tasks'), name='task_view' )
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Converter'), name='converter') permission_asset_create = namespace.add_permission( label=_('Create new assets'), name='asset_create') permission_asset_delete = namespace.add_permission(label=_('Delete assets'), name='asset_delete') permission_asset_edit = namespace.add_permission(label=_('Edit assets'), name='asset_edit') permission_asset_view = namespace.add_permission( label=_('View existing assets'), name='asset_view') permission_transformation_create = namespace.add_permission( label=_('Create new transformations'), name='transformation_create') permission_transformation_delete = namespace.add_permission( label=_('Delete transformations'), name='transformation_delete') permission_transformation_edit = namespace.add_permission( label=_('Edit transformations'), name='transformation_edit') permission_transformation_view = namespace.add_permission( label=_('View existing transformations'), name='transformation_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Documents'), name='documents') permission_document_create = namespace.add_permission( label=_('Create documents'), name='document_create') permission_document_delete = namespace.add_permission( label=_('Delete documents'), name='document_delete') permission_document_trash = namespace.add_permission( label=_('Trash documents'), name='document_trash') permission_document_download = namespace.add_permission( label=_('Download documents'), name='document_download') permission_document_edit = namespace.add_permission(label=_('Edit documents'), name='document_edit') permission_document_new_version = namespace.add_permission( label=_('Create new document versions'), name='document_new_version') permission_document_properties_edit = namespace.add_permission( label=_('Edit document properties'), name='document_properties_edit') permission_document_print = namespace.add_permission( label=_('Print documents'), name='document_print') permission_document_restore = namespace.add_permission( label=_('Restore trashed document'), name='document_restore') permission_document_tools = namespace.add_permission( label=_('Execute document modifying tools'), name='document_tools') permission_document_version_revert = namespace.add_permission( label=_('Revert documents to a previous version'), name='document_version_revert') permission_document_version_view = namespace.add_permission( label=_('View documents\' versions list'), name='document_version_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('File caching'), name='file_caching') permission_cache_purge = namespace.add_permission( label=_('Purge a file cache'), name='file_caching_cache_purge') permission_cache_view = namespace.add_permission( label=_('View a file cache'), name='file_caching_cache_view')
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Events'), name='events') permission_events_view = namespace.add_permission( label=_('Access the events of an object'), name='events_view' )
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Web links'), name='web_links') permission_web_link_create = namespace.add_permission( label=_('Create new web links'), name='web_link_create') permission_web_link_delete = namespace.add_permission( label=_('Delete web links'), name='web_link_delete') permission_web_link_edit = namespace.add_permission(label=_('Edit web links'), name='web_link_edit') permission_web_link_view = namespace.add_permission( label=_('View existing web links'), name='web_link_view') permission_web_link_instance_view = namespace.add_permission( label=_('View web link instances'), name='web_link_instance_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('File metadata'), name='file_metadata') permission_document_type_file_metadata_setup = namespace.add_permission( label=_('Change document type file metadata settings'), name='file_metadata_document_type_setup') permission_file_metadata_submit = namespace.add_permission( label=_('Submit document for file metadata processing'), name='file_metadata_submit') permission_file_metadata_view = namespace.add_permission( label=_('View file metadata'), name='file_metadata_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Templating'), name='templating') permission_template_sandbox = namespace.add_permission( label=_('Use the template sandbox'), name='template_sandbox')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Logging'), name='logging') permission_error_log_view = namespace.add_permission(label=_('View error log'), name='error_log_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Mailing'), name='mailing') permission_mailing_link = namespace.add_permission( label=_('Send document link via email'), name='mail_link') permission_mailing_send_document = namespace.add_permission( label=_('Send document via email'), name='mail_document') permission_user_mailer_create = namespace.add_permission( label=_('Create a mailing profile'), name='user_mailer_create') permission_user_mailer_delete = namespace.add_permission( label=_('Delete a mailing profile'), name='user_mailer_delete') permission_user_mailer_edit = namespace.add_permission( label=_('Edit a mailing profile'), name='user_mailer_edit') permission_user_mailer_view = namespace.add_permission( label=_('View a mailing profile'), name='user_mailer_view') permission_user_mailer_use = namespace.add_permission( label=_('Use a mailing profile'), name='user_mailer_use')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Tags'), name='tags') permission_tag_create = namespace.add_permission( label=_('Create new tags'), name='tag_create' ) permission_tag_delete = namespace.add_permission( label=_('Delete tags'), name='tag_delete' ) permission_tag_view = namespace.add_permission( label=_('View tags'), name='tag_view' ) permission_tag_edit = namespace.add_permission( label=_('Edit tags'), name='tag_edit' ) permission_tag_attach = namespace.add_permission( label=_('Attach tags to documents'), name='tag_attach' ) permission_tag_remove = namespace.add_permission( label=_('Remove tags from documents'), name='tag_remove' )
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('OCR'), name='ocr') permission_ocr_document = namespace.add_permission( label=_('Submit documents for OCR'), name='ocr_document') permission_ocr_content_view = namespace.add_permission( label=_('View the transcribed text from document'), name='ocr_content_view') permission_document_type_ocr_setup = namespace.add_permission( label=_('Change document type OCR settings'), name='ocr_document_type_setup')
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Comments'), name='comments') permission_document_comment_create = namespace.add_permission( label=_('Create new comments'), name='comment_create') permission_document_comment_delete = namespace.add_permission( label=_('Delete comments'), name='comment_delete') permission_document_comment_edit = namespace.add_permission( label=_('Edit comments'), name='comment_edit') permission_document_comment_view = namespace.add_permission( label=_('View comments'), name='comment_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Statistics'), name='statistics') permission_statistics_view = namespace.add_permission( label=_('View statistics'), name='statistics_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('User management'), name='user_management') permission_group_create = namespace.add_permission( label=_('Create new groups'), name='group_create') permission_group_delete = namespace.add_permission( label=_('Delete existing groups'), name='group_delete') permission_group_edit = namespace.add_permission( label=_('Edit existing groups'), name='group_edit') permission_group_view = namespace.add_permission( label=_('View existing groups'), name='group_view') permission_user_create = namespace.add_permission(label=_('Create new users'), name='user_create') permission_user_delete = namespace.add_permission( label=_('Delete existing users'), name='user_delete') permission_user_edit = namespace.add_permission(label=_('Edit existing users'), name='user_edit') permission_user_view = namespace.add_permission(label=_('View existing users'), name='user_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Redactions'), name='redactions') permission_redaction_create = namespace.add_permission( label=_('Create new redactions'), name='redaction_create') permission_redaction_delete = namespace.add_permission( label=_('Delete redactions'), name='redaction_delete') permission_redaction_edit = namespace.add_permission( label=_('Edit redactions'), name='redaction_edit') permission_redaction_exclude = namespace.add_permission( label=_('Exclude redactions'), name='redaction_exclude') permission_redaction_view = namespace.add_permission( label=_('View existing redactions'), name='redaction_view')
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Metadata'), name='metadata') permission_document_metadata_add = namespace.add_permission( label=_('Add metadata to a document'), name='metadata_document_add' ) permission_document_metadata_edit = namespace.add_permission( label=_('Edit a document\'s metadata'), name='metadata_document_edit' ) permission_document_metadata_remove = namespace.add_permission( label=_('Remove metadata from a document'), name='metadata_document_remove' ) permission_document_metadata_view = namespace.add_permission( label=_('View metadata from a document'), name='metadata_document_view' ) setup_namespace = PermissionNamespace( label=_('Metadata setup'), name='metadata_setup' ) permission_metadata_type_edit = setup_namespace.add_permission( label=_('Edit metadata types'), name='metadata_type_edit' ) permission_metadata_type_create = setup_namespace.add_permission( label=_('Create new metadata types'), name='metadata_type_create'
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(name='document_states', label=_('Document workflows')) permission_workflow_create = namespace.add_permission( name='workflow_create', label=_('Create workflows')) permission_workflow_delete = namespace.add_permission( name='workflow_delte', label=_('Delete workflows')) permission_workflow_edit = namespace.add_permission(name='workflow_edit', label=_('Edit workflows')) permission_workflow_view = namespace.add_permission(name='workflow_view', label=_('View workflows')) # Translators: This text refers to the permission to grant user the ability to # 'transition workflows' from one state to another, to move the workflow # forwards permission_workflow_transition = namespace.add_permission( name='workflow_transition', label=_('Transition workflows')) permission_workflow_tools = namespace.add_permission( name='workflow_tools', label=_('Execute workflow tools'))
class LinkClassTestCase(GenericViewTestCase): def setUp(self): super(LinkClassTestCase, self).setUp() self.test_object = self._test_case_group self.add_test_view(test_object=self.test_object) self.namespace = PermissionNamespace( label=TEST_PERMISSION_NAMESPACE_TEXT, name=TEST_PERMISSION_NAMESPACE_NAME ) self.test_permission = self.namespace.add_permission( name=TEST_PERMISSION_NAME, label=TEST_PERMISSION_LABEL ) ModelPermission.register( model=self.test_object._meta.model, permissions=(self.test_permission,) ) self.link = Link(text=TEST_LINK_TEXT, view=TEST_VIEW_NAME) Permission.invalidate_cache() def test_link_resolve(self): response = self.get(viewname=TEST_VIEW_NAME) context = Context({'request': response.wsgi_request}) resolved_link = self.link.resolve(context=context) self.assertEqual( resolved_link.url, reverse(viewname=TEST_VIEW_NAME) ) def test_link_permission_resolve_no_permission(self): link = Link( permissions=(self.test_permission,), text=TEST_LINK_TEXT, view=TEST_VIEW_NAME ) response = self.get(viewname=TEST_VIEW_NAME) response.context.update({'request': response.wsgi_request}) context = Context(response.context) resolved_link = link.resolve(context=context) self.assertEqual(resolved_link, None) def test_link_permission_resolve_with_permission(self): link = Link( permissions=(self.test_permission,), text=TEST_LINK_TEXT, view=TEST_VIEW_NAME ) self.grant_access(obj=self.test_object, permission=self.test_permission) response = self.get(viewname=TEST_VIEW_NAME) response.context.update({'request': response.wsgi_request}) context = Context(response.context) resolved_link = link.resolve(context=context) self.assertEqual(resolved_link.url, reverse(viewname=TEST_VIEW_NAME)) def test_link_permission_resolve_with_acl(self): # ACL is tested agains the resolved_object or just {{ object }} if not link = Link( permissions=(self.test_permission,), text=TEST_LINK_TEXT, view=TEST_VIEW_NAME ) self.grant_access(obj=self.test_object, permission=self.test_permission) response = self.get(viewname=TEST_VIEW_NAME) response.context.update({'request': response.wsgi_request}) context = Context(response.context) resolved_link = link.resolve(context=context) self.assertNotEqual(resolved_link, None) self.assertEqual(resolved_link.url, reverse(viewname=TEST_VIEW_NAME)) def test_link_with_unicode_querystring_request(self): url = furl(reverse(TEST_VIEW_NAME)) url.args['unicode_key'] = TEST_UNICODE_STRING self.link.keep_query = True response = self.get(path=url.url) context = Context({'request': response.wsgi_request}) resolved_link = self.link.resolve(context=context) self.assertEqual(resolved_link.url, url.url) def test_link_with_querystring_preservation(self): previous_url = '{}?{}'.format( reverse(TEST_VIEW_NAME), TEST_QUERYSTRING_TWO_KEYS ) self.link.keep_query = True self.link.url = TEST_URL self.link.view = None response = self.get(path=previous_url) context = Context({'request': response.wsgi_request}) resolved_link = self.link.resolve(context=context) self.assertEqual( resolved_link.url, '{}?{}'.format(TEST_URL, TEST_QUERYSTRING_TWO_KEYS) ) def test_link_with_querystring_preservation_with_key_removal(self): previous_url = '{}?{}'.format( reverse(TEST_VIEW_NAME), TEST_QUERYSTRING_TWO_KEYS ) self.link.keep_query = True self.link.url = TEST_URL self.link.view = None self.link.remove_from_query = ['key2'] response = self.get(path=previous_url) context = Context({'request': response.wsgi_request}) resolved_link = self.link.resolve(context=context) self.assertEqual( resolved_link.url, '{}?{}'.format(TEST_URL, TEST_QUERYSTRING_ONE_KEY) )
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Smart settings'), name='smart_settings') permission_settings_edit = namespace.add_permission( label=_('Edit settings'), name='permission_settings_edit') permission_settings_view = namespace.add_permission( label=_('View settings'), name='permission_settings_view')
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Key management'), name='django_gpg') permission_key_delete = namespace.add_permission(label=_('Delete keys'), name='key_delete') permission_key_download = namespace.add_permission(label=_('Download keys'), name='key_download') permission_key_receive = namespace.add_permission( label=_('Import keys from keyservers'), name='key_receive') permission_key_sign = namespace.add_permission( label=_('Use keys to sign content'), name='key_sign') permission_key_upload = namespace.add_permission(label=_('Upload keys'), name='key_upload') permission_key_view = namespace.add_permission(label=_('View keys'), name='key_view') permission_keyserver_query = namespace.add_permission( label=_('Query keyservers'), name='keyserver_query')
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Message of the day'), name='motd') permission_message_create = namespace.add_permission( label=_('Create messages'), name='message_create') permission_message_delete = namespace.add_permission( label=_('Delete messages'), name='message_delete') permission_message_edit = namespace.add_permission(label=_('Edit messages'), name='message_edit') permission_message_view = namespace.add_permission(label=_('View messages'), name='message_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Common'), name='common') permission_object_copy = namespace.add_permission(label=_('Copy object'), name='object_copy')
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Document signatures'), name='document_signatures') permission_document_version_sign_detached = namespace.add_permission( label=_('Sign documents with detached signatures'), name='document_version_sign_detached') permission_document_version_sign_embedded = namespace.add_permission( label=_('Sign documents with embedded signatures'), name='document_version_sign_embedded') permission_document_version_signature_delete = namespace.add_permission( label=_('Delete detached signatures'), name='document_version_signature_delete') permission_document_version_signature_download = namespace.add_permission( label=_('Download detached document signatures'), name='document_version_signature_download') permission_document_version_signature_upload = namespace.add_permission( label=_('Upload detached document signatures'), name='document_version_signature_upload') permission_document_version_signature_verify = namespace.add_permission( label=_('Verify document signatures'), name='document_version_signature_verify') permission_document_version_signature_view = namespace.add_permission( label=_('View details of document signatures'), name='document_version_signature_view')
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Access control lists'), name='acls') permission_acl_edit = namespace.add_permission(label=_('Edit ACLs'), name='acl_edit') permission_acl_view = namespace.add_permission(label=_('View ACLs'), name='acl_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Common'), name='common') permission_error_log_view = namespace.add_permission(label=_('View error log'), name='error_log_view')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Authentication'), name='authentication') permission_users_impersonate = namespace.add_permission( label=_('Impersonate users'), name='users_impersonate')
from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Indexing'), name='document_indexing') permission_document_indexing_create = namespace.add_permission( label=_('Create new document indexes'), name='document_index_create') permission_document_indexing_edit = namespace.add_permission( label=_('Edit document indexes'), name='document_index_edit') permission_document_indexing_delete = namespace.add_permission( label=_('Delete document indexes'), name='document_index_delete') permission_document_indexing_instance_view = namespace.add_permission( label=_('View document index instances'), name='document_index_instance_view') permission_document_indexing_view = namespace.add_permission( label=_('View document indexes'), name='document_index_view') permission_document_indexing_rebuild = namespace.add_permission( label=_('Rebuild document indexes'), name='document_rebuild_indexes')
from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Smart links'), name='linking') permission_smart_link_create = namespace.add_permission( label=_('Create new smart links'), name='smart_link_create') permission_smart_link_delete = namespace.add_permission( label=_('Delete smart links'), name='smart_link_delete') permission_smart_link_edit = namespace.add_permission( label=_('Edit smart links'), name='smart_link_edit') permission_smart_link_view = namespace.add_permission( label=_('View existing smart links'), name='smart_link_view')