为添加多公司支持到模型提供基础。
项目描述
此模块提供了一个抽象模型,以便由需要实现多公司功能性的模型继承。
此模块不提供直接功能。
目录
使用方法
实现
多公司抽象
《multi.company.abstract》模型旨在由任何想要实现多公司功能性的模型继承。逻辑不需要在继承模型上预先存在公司字段,但如果存在,也不会受到影响。
继承《multi.company.abstract》模型时,您必须注意它是在《_inherit》数组中列出的第一个模型
class ProductTemplate(models.Model):
_inherit = ["multi.company.abstract", "product.template"]
_name = "product.template"
_description = "Product Template (Multi-Company)"
《multi.company.abstract》提供了以下字段
《company_ids》 - 属于此记录的所有公司。这是一个特殊的《res.company.assignment》视图,允许绕过标准的跨公司安全策略。这些策略通常会限制用户除非当前在该公司运营,否则无法查看另一家公司。当比较此字段的记录与实际公司记录时,请注意苹果和橙子的问题。
《company_id》 - 基于当前用户和允许的记录公司传递单例公司。
钩子
提供了一个通用的《post_init_hook》和《uninstall_hook》,这些钩子将改变预先存在的单公司安全规则,使其能够识别多公司。
遗憾的是,这些钩子并不适用于所有情况,但它们在相关的情况下可以删除大量的样板代码。
import logging
_logger = logging.getLogger(__name__)
try:
from odoo.addons.base_multi_company import hooks
except ImportError:
_logger.info('Cannot find `base_multi_company` module in addons path.')
def post_init_hook(cr, registry):
hooks.post_init_hook(
cr,
'product.product_comp_rule',
'product.template',
)
def uninstall_hook(cr, registry):
hooks.uninstall_hook(
cr,
'product.product_comp_rule',
)
实现这些钩子的模块首先需要确定记录的正确规则(例如上述示例中的 product.product_comp_rule)。
错误跟踪器
错误在 GitHub Issues 上跟踪。如果在其中遇到问题,请检查您的错误是否已被报告。如果您是第一个发现的人,请帮助我们通过提供详细和受欢迎的 反馈 来解决这个问题。
请不要直接联系贡献者以获取支持或帮助解决技术问题。
致谢
贡献者
Dave Lasley <dave@laslabs.com>
Pedro M. Baeza <pedro.baeza@tecnativa.com>
Laurent Mignon <laurent.mignon@acsone.eu>
Cédric Pigeon <cedric.pigeon@acsone.eu>
Rodrigo Ferreira <rodrigosferreira91@gmail.com>
Florian da Costa <florian.dacosta@akretion.com>
维护者
本模块由 OCA 维护。
OCA,即 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并推广其广泛应用。
当前 维护者
本模块是 GitHub 上的 OCA/multi-company 项目的一部分。
欢迎您贡献。要了解如何贡献,请访问 https://odoo-community.org/page/Contribute。
项目详情
哈希值 用于 odoo12_addon_base_multi_company-12.0.1.0.1.99.dev13-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d39ec689ab5d743092d2300d198d107c96000229e04cd1152b4fc71bffb09075 |
|
MD5 | 8d1ca2b3b5da243e43c3e26a26c76ee8 |
|
BLAKE2b-256 | f90106d0273ce7f54d249a2eb18b7ec3c07ef9eef2a8a8685283f53e8dde335e |