我在自定义模块中创建了一个包含模型步骤的向导
现在,我的问题是,在第4步,工作流程已完成,因此我需要保存所有已填充的字段,但我的向导上没有保存按钮
有没有办法通过维护我向导的所有其他字段来做到这一点?
我的向导视图:
<record id="view_wizard_prod_order_form" model="ir.ui.view">
<field name="name">bsi.production.order.wizard</field>
<field name="model">bsi.production.order</field>
<field name="arch" type="xml">
<form string="Production Order">
<field name="state" widget="statusbar" statusbar_visible="step1,step2,step3,step4" statusbar_colors='{"step3":"blue","step4":"blue"}' clickable="True" />
<group>
<group>
<field name="date_production" attrs="{'invisible': [('state', '!=', 'step1')]}" />
<field name="product_id" attrs="{'invisible': [('state', '!=', 'step1')]}" />
<field name="qty_available" attrs="{'invisible': [('state', '!=', 'step1')]}" />
<field name="isbn1" attrs="{'invisible': [('type_prod', '!=', 'direct')]}" />
<field name="isbn2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/>
<field name="isbn3" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/>
<field name="isbn4" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/>
<field name="isbn5" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/>
<field name="isbn6" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/>
</group>
<group>
<field name="type_prod" attrs="{'invisible': [('state', '!=', 'step1')]}"/>
<field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}" />
<field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/>
<field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/>
<field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/>
<field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/>
<field name="print_order2" attrs="{'invisible': [('type_prod', '!=', 'direct')]}"/>
</group>
</group>
<group>
<group string="Book Block" attrs="{'invisible': [('state', '!=', 'step2')]}">
<field name="name_block" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="category" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="language" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="edition" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="size" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="book_block_textp" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="n_pages_one_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="two_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="four_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="total" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="text_print_code" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="book_block_adpaper" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="adnl_n_pages_one_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="adnl_two_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="adnl_third_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="adnl_four_color" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="adnl_total" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="adnl_text_print_code" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="book_block_txtep" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="n_of_end_pages" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
</group>
<group string="Book Size" attrs="{'invisible': [('state', '!=', 'step2')]}">
<field name="name_size" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="description_size" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="forme_size" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
<field name="plate_size" attrs="{'invisible': [('state', '!=', 'step2')]}"/>
</group>
</group>
<group>
<group string="Book Edition" attrs="{'invisible': [('state', '!=', 'step3')]}">
<field name="name_edition" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
</group>
<group string="Book Binding" attrs="{'invisible': [('state', '!=', 'step3')]}">
<field name="name_binding" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
</group>
<group string="Cut Off" attrs="{'invisible': [('state', '!=', 'step3')]}">
<field name="name_cut" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
<field name="description_cut" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
<field name="cutoff_size" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
</group>
<group string="Paper Master" attrs="{'invisible': [('state', '!=', 'step3')]}">
<field name="name_papermaster" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
<field name="description_papermaster" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
<field name="paper_type" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
<field name="uom_papermaster" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
<field name="gsm_papermaster" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
<field name="std_cost_rate" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
<field name="qty_in_kgs" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
<field name="size_width" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
<field name="size_height" attrs="{'invisible': [('state', '!=', 'step3')]}"/>
</group>
</group>
<group>
<group string="End Paper" attrs="{'invisible': [('state', '!=', 'step4')]}">
<field name="name_end_paper" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
<field name="category_end_paper" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
<field name="size_end_paper" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
</group>
<group string="Printing Code" attrs="{'invisible': [('state', '!=', 'step4')]}">
<field name="description_code" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
<field name="size_code" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
</group>
<group string="Book Edge" attrs="{'invisible': [('state', '!=', 'step4')]}">
<field name="name_book_edge" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
</group>
<group string="Job Rate" attrs="{'invisible': [('state', '!=', 'step4')]}">
<field name="name_jobrate" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
<field name="binding" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
<field name="size_binding_job_rate" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
<field name="bind_variety" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
<field name="rates" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
<field name="addl_rate" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
<field name="uptoforme" attrs="{'invisible': [('state', '!=', 'step4')]}"/>
</group>
</group>
</form>
</field>
</record>
我只需要它可以点击并将数据保存在表格上。 我看到了像这样的解决方案:
<button string="Save" name="create" type="object"/>
但它不起作用,所以,任何想法?
修改
这是我定义的方法:
@api.multi
def save_data(self, vals):
# and here you use you wizard fields
self.name
self.date_production
self.type_prod
self.product_id
self.qty_available
self.isbn1
self.isbn2
self.isbn3
self.isbn4
self.isbn5
self.isbn6
self.isbn7
self.isbn8
#print_order = fields.One2many('bsi.print.order', 'production_orders', string="Print Order", copy=True)
self.print_order2
self.name_block
self.category
#self.other_fields
return (bsi_production_order, self).create(cr, uid, vals, context=context)
但它让我觉得这个:
Traceback (most recent call last):
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 546, in _handle_exception
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 583, in dispatch
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 319, in _call_function
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\service\model.py", line 118, in wrapper
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 316, in checked_call
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 812, in __call__
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 412, in response_wrap
File "C:\Program Files\Odoo 8.0-20170809\server\openerp\addons\web\controllers\main.py", line 944, in call_kw
File "C:\Program Files\Odoo 8.0-20170809\server\openerp\addons\web\controllers\main.py", line 936, in _call_kw
TypeError: create() takes exactly 2 arguments (5 given)
答案 0 :(得分:1)
向页脚添加一个按钮,并在您点击最后一步时显示该按钮。
<button string="Save" name="save_data" type="object"/>
在你的向导中定义一个保存功能
@api.multi
def save_data(self):
# and here you use you wizard fields
self.some_field