odoo安全限制公司无法打开常规设置

问题描述 投票:1回答:1

我安装了一个自定义odoo模块,以向其正常工作的订单添加总折扣和订单折扣,直到我添加新公司,添加新公司后,我必须去开具发票以激活总折扣,但是odoo限制了我这样做的形式

我试图添加规则,但是没有用。我不知道我应该增加什么规则

这是我定义设置视图的方式

class KSResConfigSettings(models.TransientModel):
    _inherit = 'res.config.settings'

    ks_enable_discount = fields.Boolean(string="Activate Total Discount")
    ks_sales_discount_account = fields.Many2one('account.account', string="Sales Discount Account")
    ks_purchase_discount_account = fields.Many2one('account.account', string="Purchase Discount Account")
    ks_accounting_present = fields.Boolean(compute='ks_check_charts_of_accounts')

    def get_values(self):
        ks_res = super(KSResConfigSettings, self).get_values()
        ks_res.update(
            ks_enable_discount=self.env['ir.config_parameter'].sudo().get_param('ks_enable_discount'),
        ks_sales_discount_account=int(self.env['ir.config_parameter'].sudo().get_param('ks_sales_discount_account')),
        ks_purchase_discount_account=int(self.env['ir.config_parameter'].sudo().get_param('ks_purchase_discount_account')),)
        return ks_res

    def set_values(self):
        super(KSResConfigSettings, self).set_values()
        self.env['ir.config_parameter'].set_param('ks_enable_discount', self.ks_enable_discount)
        if self.ks_enable_discount:
            self.env['ir.config_parameter'].set_param('ks_sales_discount_account', self.ks_sales_discount_account.id)
            self.env['ir.config_parameter'].set_param('ks_purchase_discount_account',
                                                      self.ks_purchase_discount_account.id)  
odoo>
    <data>
        <record id="ks_res_config_settings_view_form" model="ir.ui.view">
            <field name="name">ks.res.config.settings.view.form.inherit.account.discount</field>
            <field name="model">res.config.settings</field>
            <field name="priority" eval="50"/>
            <field name="inherit_id" ref="base.res_config_settings_view_form"/>
            <field name="arch" type="xml">
                <xpath expr="//field[@name='has_accounting_entries']" position="after">

                    <h2 attrs="{'invisible': [('has_chart_of_accounts','==',False)]}">Total Discount</h2>
                    <div class="row mt16 o_settings_container"
                         attrs="{'invisible': [('has_chart_of_accounts','==',False)]}">
                        <div class="col-xs-12 col-md-6 o_setting_box">
                            <div class="o_setting_left_pane">
                                <field name="ks_enable_discount"/>
                            </div>
                            <div class="o_setting_right_pane">
                                <label for ='ks_enable_discount'/>
                                <div class="text-muted">
                                    Activate Total discount on all modules.
                                </div>

                            </div>
                        </div>
                        <div class="col-xs-12 col-md-6 o_setting_box" attrs="{'invisible':[('ks_enable_discount','==',False)]}">
                            <div class="o_setting_left_pane"/>
                            <div class="o_setting_right_pane">
                                <span class="o_form_label">Accounts</span>
                                <div class="text-muted">
                                        Set default Total discount accounts for sale and purchase order.
                                </div>
                                <div class="content-group">
                                    <div class="row mt16" >
                                        <label for="ks_sales_discount_account"
                                               class="col-md-3 o_light_label"/>
                                        <field name="ks_sales_discount_account"
                                               attrs="{'required': [('ks_enable_discount','==',True)]}"/>
                                    </div>
                                    <div class="row mt16" >
                                        <label for="ks_purchase_discount_account"
                                               class="col-md-3 o_light_label"/>
                                        <field name="ks_purchase_discount_account"
                                               attrs="{'required': [('ks_enable_discount','==',True)]}"/>
                                    </div>
                                </div>
                            </div>
                        </div>


                    </div>
                </xpath>
            </field>
        </record>
    </data>
</odoo>

这将显示在日志中

2019-10-29 12:31:26,410 16582 INFO演示odoo.models:由于记录规则,无法完成请求的操作:文档类型:account.account,操作:读取,记录:31,用户:2 [C0 ]

python-3.x security odoo odoo-12
1个回答
0
投票
是的,因为此模块不受多公司支持,所以发生此错误

ks_sales_discount_account = fields.Many2one('account.account',string =“销售折扣帐户”)

ks_purchase_discount_account = fields.Many2one('account.account',string =“购买折扣

当我们在一家公司中设置此字段,而我们去另一家公司时,这些字段正在发生问题,我们无法访问同一帐户,并且正在为那些字段设置问题值,并且用户尝试访问这些帐户,但他没有对此没有许可。

© www.soinside.com 2019 - 2024. All rights reserved.