为添加多公司支持到模型提供基础。
项目描述
多公司基础
此模块提供了一个抽象模型,可以由需要实现多公司功能的其他模型继承。
此模块不提供直接的功能。
实现
多公司抽象
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 问题 上跟踪。如果遇到麻烦,请检查是否已报告您的问题。如果您是第一个发现的,请通过提供详细且受欢迎的反馈来帮助我们解决问题。
鸣谢
图片
Odoo 社区协会:图标。
贡献者
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>
维护者
此模块由 OCA 维护。
OCA,或 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并促进其广泛使用。
要为此模块做出贡献,请访问 http://odoo-community.org。
项目详情
散列 for odoo11_addon_base_multi_company-11.0.1.0.0.99.dev9-py2.py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 95346db9df04d4880cc86e5e181e8879ec0fb0a158ad61d4f1e9f5a228d2b5ca |
|
MD5 | e50fa014e4bf261aa969495f0cdb288c |
|
BLAKE2b-256 | 270dfdb5b060b22f0ecf142f86e11a07b05094169718af38b8197e791a9cffd8 |