Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

0

Sales.order check in coding if button "save" or "update" is used

By
Leo Guggenberger
on 12/26/14, 3:45 AM 787 views

Hello,

I need to auto create a sales order (no quotation) when a sales order or a quotation is save. Therefore I created a short module, which looks like follows:

class sale_order(osv.osv):

    

    _inherit = 'sale.order'

    

    def create(self, cr, uid, vals, context=None):

        result = super(sale_order, self).create(cr, uid, vals, context=context)

        if not vals.get('order_line', '/') == '/':

            wf_service = netsvc.LocalService('workflow')

            wf_service.trg_validate(uid, 'sale.order', result, 'order_confirm', cr)

        return result

 

This works but I have one problem. My module is called when the "save" and the "update" button is used. This isn't good and I'll run this coding only if button "save" is used. So I would like to now how can I check in coding, which button is pressed? Can anybody tell me or give me an example, how can I check which button is used?

Thanks a lot!

Leo

0
Leo Guggenberger
On 12/29/14, 6:06 PM

On my side it doesn't work. The inherit of sale.view_order_form is working, because in the developer mode I can see the context 'update'. But in my python code I doesn't get any value with context.get('update'). Do you have any idea, why this isn't working? Must I do something else to get the value of the context? 

Thanks for helping!

0
Mohamed Essakali
On 12/26/14, 6:35 PM

You can use context to achieve it. Inherit sale.view_order_form and replace "update" button like this :

<button name="button_dummy" context="{'update': True}"  states="draft,sent" string="(update)" type="object" class="oe_edit_only oe_link"/>

Then in your python code you can test : if context.get('update',False):  ....

Hope it helps!

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

1 follower(s)

Stats

Asked: 12/26/14, 3:45 AM
Seen: 787 times
Last updated: 3/16/15, 8:10 AM