为添加多公司支持到模型提供基础。
项目描述
此模块提供了一个抽象模型,可由需要实现多公司功能性的模型继承。
此模块不直接提供任何功能。
目录
用法
实现
多公司抽象
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。
项目详情
odoo13_addon_base_multi_company-13.0.1.0.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 13f5c97c6d700fe538bca9cee8ecaa93e86c547e0c3b0ad82fa8896f3a79937c |
|
MD5 | 65c463e8ca9a60463d63ab64ab731dc0 |
|
BLAKE2b-256 | 6ecd8c17a358dcfc875570b226ba2338478cd72394811d600b0c2b82753d77cc |