2014-11-19 3 views
0

메뉴의 새 옵션을 추가했습니다., 화면 상단에 있습니다 (트리보기).OpenERP7의 act_window에서 파이썬 함수를 호출하는 방법은 무엇입니까?

<act_window name="Invite partners to an event" 
    res_model="mail.compose.message" 
    src_model="event.registration" 
    view_mode="form" 
    multi="True" 
    target="new" 
    id="invite_partner_to_event"/> 

모든 확인을 작동하는 것은, 내가 이벤트에 파트너를 초대더 클릭 event.registration의 트리 뷰의 행을 선택하고 마일 옵션 수 :이를 위해, 나는 XML에 act_window했다이 나타납니다. 이 버튼을 클릭하면 모델 mail.compose.message의 양식보기가 팝업으로 열립니다. 이것은 내가 원했던 것입니다.

내 문제 : 내 옵션을 클릭하면 파이썬 기능을 수행하고 싶습니다. 사용자는이를 알아 채지 않아야합니다. I.E .: 사용자는 차이를 느낄 수 없지만 그 기능을 통해 백엔드에서 여러 가지 사항을 수정하게 될 것입니다.

¿ 어떻게 관리 할 수 ​​있습니까? 미리 감사드립니다.

답변

1

그것은 다음과 같이 작동합니다 버튼이 있고 난

<button name="name_of_your_method_here" string="Invite partners" type="object"/> 

파이썬은 당신이 더 같은 방법으로 당신의 XML 아래의 옵션을 선언 할 수 있습니다 의심되는 경우 :

def name_of_your_method_here(self,cr,uid,ids,context=None): 
#your functionality here 
return True 

당신은 또한 만들 수 pythoncode보기를 엽니 다 :

def name_of_your_method_here(self,cr,uid,ids,context=None): 
#your functionality here 
return { 
    'name' : 'The name of your view', 
    'res_model' : 'name_of_the_model', 
    'view_mode': 'form', 
    'view_type' : 'form',   
    'type': 'ir.actions.act_window', 
    'target': 'new', 
    } 
+0

감사합니다 @ 프로그램! 그러나 정상적인 버튼을 사용하면 옵션이 더보기의 드롭 다운에 표시되지 않습니다. – forvas

+0

그래서 내가 틀렸다면 나를 바로 잡습니다. 보기를 열 때 메서드를 열려고합니다. 또는보기가 열리기 전에 발생 시키길 원하십니까? – JordyRitzen