This question has been flagged
5 Replies
22079 Views

Hello my friends;

Would anyone help me find how to open a wizard when i click on button create of sale.order model.

How to override this action to :

1-Open WIzard

2-After writing in Wizard, open the form view of sale_order model

Thanks a lot in advance.

Best regards.

Avatar
Discard
Best Answer

Hi Vale,

There is a framework limitation to do that. You cannot return anything from create method except the recordset of the new record.

As an alternate way, you can create a new button that will call the wizard.

Hope this will help you.

Avatar
Discard
Best Answer

Hey

Please follow the below step to redirect the wizard.

from odoo.exceptions import RedirectWarning

@api.model
def create(self, vals):
res = super().create(vals)
 wizrd_action_id = self.env.ref('stock_move_location.wiz_stock_quant_location_action')
msg = "Are You sure! "
raise RedirectWarning(msg, wizrd_action_id.id, _('Go to the wizard'),
{'active_id': self._origin.id,})
Avatar
Discard

This should be the alternative answer. The idea is when something is triggered it will be redirect user to the "real" action or wizard that we intended to show to user.

This is great

Best Answer

You can do that!

1) Hide button Create and Import and make new a button. Ex: "Test"

Ex: ListView

github . com/odoo/odoo/blob/11.0/addons/web/static/src/xml/base.xml#L412-L426

2) Override button - renderButtons: function ($node) to open your "WIzard"

github . com/odoo/odoo/blob/11.0/addons/web/static/src/js/views/list/list_controller.js#L124-L131

3) In your form view "WIzard", at the footer you should 2 buttons : "Save" and "Close"
@api.multi

def save_action(self):

    ...................

    ...................

    #your_code

    self.env['your_model'].create({value})

    return {
                'view_type': 'form',
                'view_mode': 'form',
                'res_model': 'sale.order,
                'type': 'ir.actions.act_window',
                'target': 'new',
                'res_id': False,
            }

Avatar
Discard
Best Answer

Hi, you can follow following link for this:

https://youtu.be/oMnHpHH54QU

Thanks

Avatar
Discard
Best Answer

Hello 

in odoo 11 install the CRM module. 

go to menu CRM -> pipeline -> pipeline. click on create button.

might be possible this will helps you.

Avatar
Discard