콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
2 답글
5554 화면

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

아바타
취소
작성자 베스트 답변

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!

아바타
취소
베스트 답변

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!

아바타
취소
관련 게시물 답글 화면 활동
0
4월 24
1044
2
4월 24
1033
0
2월 24
1716
1
12월 22
4569
1
8월 22
4987