This question has been flagged
2 Replies
7486 Views

I've created a wizard with steps, of a model, in a custom module


Now, my problem is that in the 4th step, the workflow is finished, so I need to save all the fields filled, but I have no save button on my wizard


Is there a way I can do this by mantaining all the other fields of my wizard?

My wizard view:


<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>


I just need it to be clickable and save the data on the table.

I saw some solution like this one:

<button string="Save" name="create" type="object"/>

But it doesn't works, so, any ideas?



Avatar
Discard
Best Answer

Hello Kristian,

You have mention name="create" ,  so you have to create "create method" in .py file of your wizard ,

tou have to write code inside that create method.


you have to write below code in form tags.

 <footer>

                        <button string="Save" class="oe_highlight"

                            name="create" type="object" />

                        or

                        <button string="Cancel" class="oe_highlight" special="cancel" />

        </footer>

Avatar
Discard
Best Answer

<button string="Save" name="create" type="object"/>
▲▲▲That peace of code is ok. ▲▲▲

But you have to add the create function on your python code, just like if you want to overwrite it.

  • If you want to excecute more code before or after the create use this code:
    ####################
    @api.model
    def create(self, values):

             #Code before create
             record = super(your_model, self).create(values)
             #Code after create
             return record
    ####################

  • If you just want to execute the create function:
    ####################
    @api.model
    def create(self, values):

             return super(your_model, self).create(values)
    ####################



Avatar
Discard