Skip to main content

为向模型添加多公司支持提供了基础。

项目描述

许可证:LGPL-3

多公司基地

该模块提供了一个抽象模型,供需要实现多公司功能的模型继承。

此模块不提供直接功能。

执行

多公司摘要

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_hookuninstall_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)。

试试我的 Runbot

错误追踪器

在GitHub 问题上跟踪错误。如果遇到问题,请检查您的问题是否已被报告。如果您首先发现它,请通过提供详细且受欢迎的反馈来帮助我们粉碎它。

学分

图片

  • Odoo 社区协会: 图标

贡献者

维护者

Odoo 社区协会

该模块由 OCA 维护。

OCA 或 Odoo 社区协会是一个非营利组织,其使命是支持 Odoo 功能的协作开发并促进其广泛使用。

要为本模块做出贡献,请访问http://odoo-community.org

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

odoo10_addon_base_multi_company-10.0.2.0.1-py2-none-any.whl (29.5 kB 查看哈希

已上传 py2