İçereği Atla
Menü
Bu soru işaretlendi
5 Cevaplar
24731 Görünümler

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
Vazgeç
En İyi Yanıt

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
Vazgeç
En İyi Yanıt

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

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

En İyi Yanıt

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
Vazgeç
En İyi Yanıt

Hi, you can follow following link for this:

https://youtu.be/oMnHpHH54QU

Thanks

Avatar
Vazgeç
En İyi Yanıt

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
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
4
Eyl 19
7645
2
Tem 24
14103
1
Tem 21
8305
2
Ağu 20
5426
0
Nis 20
4781