Odoo开发之设置

Posted by Ethan on 2019-09-25

py文件 bank_oa.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# -*- coding: utf-8 -*-
import logging
from odoo import api, fields, models

_logger = logging.getLogger(__name__)


class BankSettings(models.TransientModel):
# _name = 'interface.bank.settings'
_name = 'bank.oa.settings'
_inherit = 'res.config.settings'

# 增加字段:更新付款状态至OA地址
# @author: fengjiqiang@inspur.com
update_payment_state = fields.Char(string=u'更新付款状态至OA地址')
# end

@api.multi
def get_default_params(self, fields):
ir_values = self.env['ir.values']
return {
# 更新付款状态至OA地址,获取url默认值
# @author: fengjiqiang@inspur.com
'update_payment_state': ir_values.get_default('interface.bank.settings', 'update_payment_state') or
'http://ip:port/oa/interface/payment/update/state',
}


# 更新付款状态至OA地址,设置url默认值
# @author: fengjiqiang@inspur.com
@api.multi
def set_update_payment_state(self):
self.ensure_one()
return self.env['ir.values'].sudo().set_default(
'interface.bank.settings', 'update_payment_state', self.update_payment_state)

xml文件 bank_oa_view.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="interface_bank.bank_oa_settings" model="ir.ui.view">
<field name="name">bank.oa.settings.view</field>
<field name="model">bank.oa.settings</field>
<field name="arch" type="xml">
<form string="设置" class="oe_form_configuration">
<header>
<button string="保存" type="object" name="execute" class="oe_highlight"/>
<button string="取消" type="object" name="cancel" class="oe_link" special="cancel"/>
</header>
<group>
<group string="银企直连付款状态反写OA付款单配置">
<field name="update_payment_state"/>
</group>
</group>
</form>
</field>
</record>

<record id="interface_bank.bank_oa" model="ir.actions.act_window">
<field name="name">银企直联OA配置</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">bank.oa.settings</field>
<field name="view_mode">form</field>
<field name="target">inline</field>
</record>

<menuitem id="interface_bank.bank_oa_settings" name="银企直联OA配置"
parent="interface_bank.configure_menu"
sequence="5"
groups="interface_bank.controller"
action="interface_bank.bank_oa"/>
</data>
</odoo>

写入__init__.py, manifest.py

1
2
...
from . import bank_oa.py
1
2
3
4
'data': [
...
'views/bank_oa_view.xml',
]