[PORT] Odoo 20.0 compat pass: auto_install disables, ir.access.csv conversion, documents http/root/thread.cc/datas patches, trigger-dependency fixes
This commit is contained in:
1 parent
4d7ed91c27
commit
f2b6066ad3
1174 files changed
+2145
-2260
No files matched your search
@@ -1 +1 @@
|
||||
{'name': 'Documents', 'summary': 'Collect, organize\xa0and share\xa0documents.', 'description': '\nApp to upload and manage your documents.\n ', 'category': 'Productivity/Documents', 'sequence': 80, 'version': '1.4', 'application': True, 'website': 'https://www.odoo.com/app/documents', 'depends': ['base', 'mail', 'portal', 'attachment_indexation', 'digest'], 'data': ['security/security.xml', 'security/ir.model.access.csv', 'data/digest_data.xml', 'data/mail_template_data.xml', 'data/mail_activity_type_data.xml', 'data/documents_tag_data.xml', 'data/documents_document_data.xml', 'data/mail_alias_data.xml', 'data/ir_config_parameter_data.xml', 'data/ir_cron_data.xml', 'data/documents_tour.xml', 'views/res_config_settings_views.xml', 'views/res_partner_views.xml', 'views/documents_access_views.xml', 'views/documents_document_views.xml', 'views/documents_folder_views.xml', 'views/documents_tag_views.xml', 'views/mail_activity_views.xml', 'views/mail_activity_plan_views.xml', 'views/mail_alias_views.xml', 'views/documents_menu_views.xml', 'views/documents_templates_portal.xml', 'views/documents_templates_share.xml', 'views/documents_templates_thumbnails.xml', 'views/ir_actions_views.xml', 'views/mail_compose_message_views.xml', 'views/mail_scheduled_message_views.xml', 'wizard/documents_link_to_record_wizard_views.xml', 'wizard/documents_operation_views.xml', 'wizard/documents_request_wizard_views.xml', 'wizard/documents_sharing_views.xml'], 'demo': ['demo/documents_document_demo.xml'], 'author': 'Odoo S.A.', 'license': 'LGPL-3', 'kpi_providers': ['models.kpi_provider:get_kpi_summary'], 'assets': {'web.assets_backend': ['documents/static/src/scss/documents_views.scss', 'documents/static/src/scss/documents_kanban_view.scss', 'documents/static/src/attachments/**/*', 'documents/static/src/core/**/*', 'documents/static/src/js/**/*', 'documents/static/src/mail/**/*', 'documents/static/src/owl/**/*', 'documents/static/src/utils.js', 'documents/static/src/views/**/*', 'documents/static/src/webclient/webclient.js', ('remove', 'documents/static/src/views/activity/**'), ('after', 'web/static/src/core/errors/error_dialogs.xml', 'documents/static/src/web/error_dialog/error_dialog_patch.xml'), 'documents/static/src/web/**/*', 'documents/static/src/components/**/*', 'documents/static/src/editor/**/*'], 'web.assets_backend_lazy': ['documents/static/src/views/activity/**'], 'web._assets_primary_variables': ['documents/static/src/scss/documents.variables.scss'], 'web.dark_mode_variables': [('before', 'documents/static/src/scss/documents.variables.scss', 'documents/static/src/scss/documents.variables.dark.scss')], 'documents.public_page_assets': [('include', 'web._assets_helpers'), ('include', 'web._assets_backend_helpers'), 'web/static/src/scss/pre_variables.scss', 'web/static/lib/bootstrap/scss/_variables.scss', 'web/static/lib/bootstrap/scss/_variables-dark.scss', 'web/static/lib/bootstrap/scss/_maps.scss', ('include', 'web._assets_bootstrap_backend'), 'documents/static/src/scss/documents_public_pages.scss'], 'documents.webclient': [('include', 'web.assets_backend'), 'documents/static/src/portal_webclient/**/*', 'web/static/src/start.js'], 'web.assets_tests': ['documents/static/tests/tours/*'], 'web.assets_unit_tests': ['documents/static/tests/**/*']}}
|
||||
{'name': 'Documents', 'summary': 'Collect, organize\xa0and share\xa0documents.', 'description': '\nApp to upload and manage your documents.\n ', 'category': 'Productivity/Documents', 'sequence': 80, 'version': '1.4', 'application': True, 'website': 'https://www.odoo.com/app/documents', 'depends': ['base', 'mail', 'portal', 'attachment_indexation', 'digest'], 'data': ['security/security.xml', 'security/ir.access.csv', 'data/digest_data.xml', 'data/mail_template_data.xml', 'data/mail_activity_type_data.xml', 'data/documents_tag_data.xml', 'data/documents_document_data.xml', 'data/mail_alias_data.xml', 'data/ir_config_parameter_data.xml', 'data/ir_cron_data.xml', 'data/documents_tour.xml', 'views/res_config_settings_views.xml', 'views/res_partner_views.xml', 'views/documents_access_views.xml', 'views/documents_document_views.xml', 'views/documents_folder_views.xml', 'views/documents_tag_views.xml', 'views/mail_activity_views.xml', 'views/mail_activity_plan_views.xml', 'views/mail_alias_views.xml', 'views/documents_menu_views.xml', 'views/documents_templates_portal.xml', 'views/documents_templates_share.xml', 'views/documents_templates_thumbnails.xml', 'views/ir_actions_views.xml', 'views/mail_compose_message_views.xml', 'views/mail_scheduled_message_views.xml', 'wizard/documents_link_to_record_wizard_views.xml', 'wizard/documents_operation_views.xml', 'wizard/documents_request_wizard_views.xml', 'wizard/documents_sharing_views.xml'], 'demo': ['demo/documents_document_demo.xml'], 'author': 'Odoo S.A.', 'license': 'LGPL-3', 'kpi_providers': ['models.kpi_provider:get_kpi_summary'], 'assets': {'web.assets_backend': ['documents/static/src/scss/documents_views.scss', 'documents/static/src/scss/documents_kanban_view.scss', 'documents/static/src/attachments/**/*', 'documents/static/src/core/**/*', 'documents/static/src/js/**/*', 'documents/static/src/mail/**/*', 'documents/static/src/owl/**/*', 'documents/static/src/utils.js', 'documents/static/src/views/**/*', 'documents/static/src/webclient/webclient.js', ('remove', 'documents/static/src/views/activity/**'), ('after', 'web/static/src/core/errors/error_dialogs.xml', 'documents/static/src/web/error_dialog/error_dialog_patch.xml'), 'documents/static/src/web/**/*', 'documents/static/src/components/**/*', 'documents/static/src/editor/**/*'], 'web.assets_backend_lazy': ['documents/static/src/views/activity/**'], 'web._assets_primary_variables': ['documents/static/src/scss/documents.variables.scss'], 'web.dark_mode_variables': [('before', 'documents/static/src/scss/documents.variables.scss', 'documents/static/src/scss/documents.variables.dark.scss')], 'documents.public_page_assets': [('include', 'web._assets_helpers'), ('include', 'web._assets_backend_helpers'), 'web/static/src/scss/pre_variables.scss', 'web/static/lib/bootstrap/scss/_variables.scss', 'web/static/lib/bootstrap/scss/_variables-dark.scss', 'web/static/lib/bootstrap/scss/_maps.scss', ('include', 'web._assets_bootstrap_backend'), 'documents/static/src/scss/documents_public_pages.scss'], 'documents.webclient': [('include', 'web.assets_backend'), 'documents/static/src/portal_webclient/**/*', 'web/static/src/start.js'], 'web.assets_tests': ['documents/static/tests/tours/*'], 'web.assets_unit_tests': ['documents/static/tests/**/*']}}
|
||||
@@ -15,7 +15,8 @@ from werkzeug.exceptions import BadRequest, Forbidden
|
||||
from odoo import fields, http, _
|
||||
from odoo.exceptions import MissingError
|
||||
from odoo.fields import Domain
|
||||
from odoo.http import request, content_disposition
|
||||
from odoo.http import request
|
||||
from odoo.http.stream import content_disposition
|
||||
from odoo.tools import replace_exceptions, str2bool, consteq
|
||||
|
||||
from odoo.addons.base.models.ir_qweb import keep_query
|
||||
|
||||
@@ -36,7 +36,7 @@ def _sanitize_file_extension(extension):
|
||||
class DocumentsDocument(models.Model):
|
||||
_name = 'documents.document'
|
||||
_description = 'Document'
|
||||
_inherit = ['mail.thread.cc', 'mail.activity.mixin', 'mail.alias.mixin.optional']
|
||||
_inherit = ['mail.thread', 'mail.activity.mixin', 'mail.alias.mixin.optional']
|
||||
_mail_post_access = 'read'
|
||||
_order = 'sequence, id desc'
|
||||
_parent_name = 'folder_id'
|
||||
@@ -50,7 +50,7 @@ class DocumentsDocument(models.Model):
|
||||
is_editable_attachment = fields.Boolean(default=False, help='True if we can edit the link attachment.')
|
||||
is_multipage = fields.Boolean(
|
||||
'Is considered multipage', compute='_compute_is_multipage', store=True, readonly=False)
|
||||
datas = fields.Binary(related='attachment_id.datas', related_sudo=True, readonly=False, prefetch=False)
|
||||
datas = fields.Binary(related='attachment_id.raw', related_sudo=True, readonly=False, prefetch=False)
|
||||
raw = fields.Binary(related='attachment_id.raw', related_sudo=True, readonly=False, prefetch=False)
|
||||
file_extension = fields.Char('File Extension', copy=True, store=True, readonly=False,
|
||||
compute='_compute_file_extension', inverse='_inverse_file_extension')
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
id,name,model_id,group_id/id,operation,domain
|
||||
access_documents_access_base_group_portal,documents_access_base_group_portal,documents.access,base.group_portal,r,
|
||||
access_documents_access_base_group_user,documents_access_base_group_user,documents.access,base.group_user,crud,
|
||||
access_documents_attachment_base_group_portal,documents_attachment_base_group_portal,documents.document,base.group_portal,crud,
|
||||
access_documents_attachment_base_group_user,documents_attachment_base_group_user,documents.document,base.group_user,crud,
|
||||
access_documents_tag_base_group_portal,documents_tag_base_group_portal,documents.tag,base.group_portal,r,
|
||||
access_documents_tag_base_group_user,documents_tag_base_group_user,documents.tag,base.group_user,r,
|
||||
access_documents_tag_group_user,documents_tag_group_user,documents.tag,documents.group_documents_user,r,
|
||||
access_documents_access_group_manager,documents_access_group_manager,documents.access,documents.group_documents_manager,crud,
|
||||
access_documents_attachment_group_manager,documents_attachment_group_manager,documents.document,documents.group_documents_manager,crud,
|
||||
access_documents_tag_group_manager,documents_tag_group_manager,documents.tag,documents.group_documents_manager,crud,
|
||||
access_documents_access_tracking_base_group_system,documents_access_tracking_base_group_system,documents.access.tracking,base.group_system,crud,
|
||||
access_documents_request_wizard,access.documents.request_wizard,documents.request.wizard,documents.group_documents_user,r,
|
||||
access_documents_link_to_record_wizard,access.documents.link_to_record_wizard,documents.link.to.record.wizard,documents.group_documents_user,r,
|
||||
access_mail_activity_plan_documents_manager,mail.activity.plan.documents.manager,mail.activity.plan,documents.group_documents_manager,crud,
|
||||
access_mail_activity_plan_template_documents_manager,mail.activity.plan.template.documents.manager,mail.activity.plan.template,documents.group_documents_manager,crud,
|
||||
access_documents_redirect_base_system_user,documents_redirect_base_system_user,documents.redirect,base.group_system,r,
|
||||
access_documents_sharing_user,access.documents.sharing.user,documents.sharing,base.group_user,r,
|
||||
access_documents_sharing_access_user,access.documents.sharing.access.user,documents.sharing.access,base.group_user,r,
|
||||
access_documents_operation_portal,documents_operation_portal,documents.operation,base.group_portal,r,
|
||||
access_documents_operation_user,documents_operation_user,documents.operation,base.group_user,r,
|
||||
|
@@ -1,26 +0,0 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_documents_access_base_group_portal,documents_access_base_group_portal,model_documents_access,base.group_portal,1,0,0,0
|
||||
access_documents_access_base_group_user,documents_access_base_group_user,model_documents_access,base.group_user,1,1,1,1
|
||||
access_documents_attachment_base_group_portal,documents_attachment_base_group_portal,model_documents_document,base.group_portal,1,1,1,1
|
||||
access_documents_attachment_base_group_user,documents_attachment_base_group_user,model_documents_document,base.group_user,1,1,1,1
|
||||
access_documents_tag_base_group_portal,documents_tag_base_group_portal,model_documents_tag,base.group_portal,1,0,0,0
|
||||
access_documents_tag_base_group_user,documents_tag_base_group_user,model_documents_tag,base.group_user,1,0,0,0
|
||||
|
||||
access_documents_tag_group_user,documents_tag_group_user,model_documents_tag,documents.group_documents_user,1,0,0,0
|
||||
|
||||
access_documents_access_group_manager,documents_access_group_manager,model_documents_access,documents.group_documents_manager,1,1,1,1
|
||||
access_documents_attachment_group_manager,documents_attachment_group_manager,model_documents_document,documents.group_documents_manager,1,1,1,1
|
||||
access_documents_tag_group_manager,documents_tag_group_manager,model_documents_tag,documents.group_documents_manager,1,1,1,1
|
||||
access_documents_access_tracking_base_group_system,documents_access_tracking_base_group_system,model_documents_access_tracking,base.group_system,1,1,1,1
|
||||
|
||||
access_documents_request_wizard,access.documents.request_wizard,model_documents_request_wizard,documents.group_documents_user,1,1,1,0
|
||||
access_documents_link_to_record_wizard,access.documents.link_to_record_wizard,model_documents_link_to_record_wizard,documents.group_documents_user,1,1,1,0
|
||||
access_mail_activity_plan_documents_manager,mail.activity.plan.documents.manager,mail.model_mail_activity_plan,documents.group_documents_manager,1,1,1,1
|
||||
access_mail_activity_plan_template_documents_manager,mail.activity.plan.template.documents.manager,mail.model_mail_activity_plan_template,documents.group_documents_manager,1,1,1,1
|
||||
access_documents_redirect_base_system_user,documents_redirect_base_system_user,model_documents_redirect,base.group_system,1,0,0,1
|
||||
|
||||
access_documents_sharing_user,access.documents.sharing.user,documents.model_documents_sharing,base.group_user,1,1,1,0
|
||||
access_documents_sharing_access_user,access.documents.sharing.access.user,documents.model_documents_sharing_access,base.group_user,1,1,1,0
|
||||
|
||||
access_documents_operation_portal,documents_operation_portal,documents.model_documents_operation,base.group_portal,1,1,1,0
|
||||
access_documents_operation_user,documents_operation_user,documents.model_documents_operation,base.group_user,1,1,1,0
|
||||
|
@@ -37,116 +37,7 @@
|
||||
<!-- documents rules -->
|
||||
<!-- duplicated for spreadsheetCellThreads in rule documents_spreadsheet.documents_document_thread_global_rule
|
||||
Please update aforemetioned the rule accordingly -->
|
||||
<record id="documents_document_global_rule" model="ir.rule">
|
||||
<field name="name">Documents.document: global read rule</field>
|
||||
<field name="model_id" ref="model_documents_document"/>
|
||||
<field name="domain_force">[('user_permission', '!=', 'none')]</field>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_unlink" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="documents_document_global_create_rule" model="ir.rule">
|
||||
<field name="name">Documents.document: global create rule</field>
|
||||
<field name="model_id" ref="model_documents_document"/>
|
||||
<field name="domain_force">[
|
||||
'|', ('folder_id.user_permission', '=', 'edit'), ('folder_id', '=', False),
|
||||
]</field>
|
||||
<field name="perm_read" eval="False"/>
|
||||
<field name="perm_unlink" eval="False"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="documents_document_global_write_rule" model="ir.rule">
|
||||
<field name="name">Documents.document: global write rule</field>
|
||||
<field name="model_id" ref="model_documents_document"/>
|
||||
<field name="domain_force">[('user_permission', '=', 'edit')]</field>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_read" eval="False"/>
|
||||
<field name="perm_unlink" eval="False"/>
|
||||
</record>
|
||||
|
||||
<!-- duplicated for spreadsheetCellThreads in rule documents_spreadsheet.spreadsheet_cell_thread_write_rule -->
|
||||
<record id="documents_document_write_base_rule" model="ir.rule">
|
||||
<field name="name">Documents.document: write+unlink base rule</field>
|
||||
<field name="model_id" ref="model_documents_document"/>
|
||||
<field name="groups" eval="[
|
||||
(4, ref('base.group_public')),
|
||||
(4, ref('base.group_portal')),
|
||||
(4, ref('base.group_user')),
|
||||
]"/>
|
||||
<!-- Edit permission + not `_is_company_root_folder` -->
|
||||
<field name="domain_force">[
|
||||
('user_permission', '=', 'edit'),
|
||||
'|', ('type', '!=', 'folder'),
|
||||
'|', ('owner_id', '!=', False),
|
||||
('folder_id', '!=', False)
|
||||
]</field>
|
||||
<field name="perm_read" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="documents_document_write_manager_rule" model="ir.rule">
|
||||
<field name="name">Documents.document: write+unlink manager rule</field>
|
||||
<field name="model_id" ref="model_documents_document"/>
|
||||
<field name="groups" eval="[(4, ref('documents.group_documents_manager'))]"/>
|
||||
<field name="domain_force">[('user_permission', '=', 'edit')]</field>
|
||||
<field name="perm_read" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
</record>
|
||||
|
||||
<!-- same as documents.document -->
|
||||
<record id="documents_access_global_rule_read" model="ir.rule">
|
||||
<field name="name">Documents.access: global read rule</field>
|
||||
<field name="model_id" ref="model_documents_access"/>
|
||||
<field name="domain_force">[('document_id.user_permission', '!=', 'none')]</field>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_unlink" eval="False"/>
|
||||
</record>
|
||||
|
||||
<!-- same as documents.document -->
|
||||
<record id="documents_access_global_rule_write" model="ir.rule">
|
||||
<field name="name">Documents.access: global write rule</field>
|
||||
<field name="model_id" ref="model_documents_access"/>
|
||||
<field name="domain_force">[('document_id.user_permission', '=', 'edit')]</field>
|
||||
<field name="perm_read" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="mail_plan_rule_group_document_manager_document" model="ir.rule">
|
||||
<field name="name">Manager can manage document plans</field>
|
||||
<field name="groups" eval="[(4, ref('documents.group_documents_manager'))]"/>
|
||||
<field name="model_id" ref="mail.model_mail_activity_plan"/>
|
||||
<field name="domain_force">[('res_model', '=', 'documents.document')]</field>
|
||||
<field name="perm_read" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="mail_plan_template_rule_group_document_manager_document" model="ir.rule">
|
||||
<field name="name">Manager can manage document plan templates</field>
|
||||
<field name="groups" eval="[(4, ref('documents.group_documents_manager'))]"/>
|
||||
<field name="model_id" ref="mail.model_mail_activity_plan_template"/>
|
||||
<field name="domain_force">[('plan_id.res_model', '=', 'documents.document')]</field>
|
||||
<field name="perm_read" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="documents_tag_rule_portal" model="ir.rule">
|
||||
<field name="name">Tag portal: Read access to the tags of the documents the user has access to</field>
|
||||
<field name="model_id" ref="model_documents_tag"/>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
<field name="domain_force">[('document_ids.user_permission', '!=', 'none')]</field>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_unlink" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="document_operation_rwu" model="ir.rule">
|
||||
<field name="name">Documents Operation Rule</field>
|
||||
<field name="model_id" ref="model_documents_operation"/>
|
||||
<field name="domain_force">[('create_uid', '=', user.id)]</field>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
<field name="perm_unlink" eval="False"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
from odoo.http import request, root
|
||||
from odoo.http import request
|
||||
from odoo.http.router import root
|
||||
from odoo.tools import file_open
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user