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

In an Odoo view, I can create a button to trigger a specific window action by giving the button a name equal to the database identifier for the action. For example:

<button type="action" name="123">Trigger</button>Will trigger action id 123 when clicked.

Is it possible to accomplish the same thing using the XML ID of the action rather than the database ID?

I'm asking because I have created a module full of data files that include view and window actions. The views include a reference to the ID of the window action since they contain buttons to trigger them. However, I don't know the ID's of the window actions until the module is imported, so I can't include them in the views on the initial import.

Is there any way around this?

아바타
취소
베스트 답변

Yes.

Look at how Odoo does it in the Project module:

<record id="act_project_project_2_project_task_all" 
model="ir.actions.act_window">
...

<button
class="oe_stat_button"
type="action"
attrs="{'invisible':[('use_tasks','=', False)]}"
name="%(act_project_project_2_project_task_all)d"


If the window action is defined in the module where the button is defined, you can do it without a prefix of the module name (like the example above).  If your window action is in a different module (like the project module), prefix it like this:

name="%(project.act_project_project_2_project_task_all)d"
아바타
취소
관련 게시물 답글 화면 활동
3
6월 25
5905
2
12월 23
18515
1
7월 17
4502
1
11월 16
3901
4
3월 24
15012