跳至內容
選單
此問題已被標幟
3 回覆
10476 瀏覽次數

i want to invisible inventory procurements sales variants from the product page for  the portal user.how to solve it

頭像
捨棄
最佳答案

Hello Aneesh,

In xml, you cannot hide the page using any condition or attrs.

For that, you can override fields_view_get and add the `invisible="1"` attribute on your page on a specific condition(s).

Example:

from lxml import etree

def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): if context is None: context = {} res = super(class_name, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu) doc = etree.XML(res['arch']) for node in doc.xpath("//page[@string='My Page']"): if uid in [1, 2, 3]: #ID of the users for whom page should be invisible node.set('invisible', "1") res['arch'] = etree.tostring(doc) return res
Hope this will help you.
頭像
捨棄

Good replay..@ Sudhir Arya

Thank you Ankit for the compliment.

Whoever did flag Sudhir's answer should refrain from doing so! Flagging a post means giving -100 karma points and marking the post as flagged for the moderators.

最佳答案

I think that using groups would be a better an easier solution overall.

In the view where you want to hide the notebook page create a new view and make it only accesible to the group who shouldn't see the page.

Access the page by xpath

and done :)

頭像
捨棄

for some reason i cant post the code... it should be

'

<xpath expr="//page[0]" position="attributes">

<attribute name="invisible">1</attribute>

</xpath>

'

最佳答案

Maybe you can add any Group in your XML.

頭像
捨棄