Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
4188 Lượt xem

I have a pivot table and when I click an entry, it opens to the default tree view defined on the model. I have a custom tree view I want to use with this pivot table. But I do not want this custom view to replace the default view on other actions.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

There are two ways that Odoo can be instructed to look for a particular view when a User navigates to a Menu:

1. Specify the View Ref for the default view (in this case the Tree/List View from the Quotations Menu):


2. Specify the Views the Action will use (in this case specific Views from the Sales Menu):






These two Actions show data from the same sale.order model differently, depending on which Menu you select.


Note: In these screenshots it appears that both Actions leverage the same View because it has the same name, but Quotations is actually using the View with External ID sale.view_quotation_tree and Sales is using the View with External ID sale.view_order_tree




Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

I found a solution. You need to override the fields_view_get method on the model. You can match using the 'pivot_view_ref' key in the context dictionary. Here is an example:


@api.model
def fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False):
view_ref = self.env.context.get('pivot_view_ref', None)
if view_ref == '<view_name>' and view_type == 'tree':
ref = self.env.ref('<model>.<view_name>')
return super().fields_view_get(view_id=ref.id, view_type=view_type, toolbar=toolbar, submenu=submenu)
else:
return super().fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu)
Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
3
thg 4 25
4608
1
thg 7 24
29
5
thg 11 23
42941
3
thg 9 23
9432
2
thg 8 23
2024