Odoo Help


This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Hide tab from other user

on 10/13/14, 6:50 AM 1,797 views

I have created a tab using following code : 

<xpath expr="/form/sheet/notebook/page[@string='Academic &amp; Professional Details']" position="after">
                    <page string="Family Details" groups="base.group_user">
                        <group col="4" string="Family Details">
                            <field name="family_detail_ids" widget="one2many_list" colspan="4" nolabel="1">
                                <tree string="Family Details" editable="bottom">
                                    <field name="relation" />
                                    <field name="name" />
                                    <field name="qualification" />
                                    <field name="occupation" />
                                    <field name="dob" on_change="calculate_age(dob)"/>    
                                    <field name="age" />
                                    <field name="contact" />                                                                                              

groups="base.group_user" has been set.

As per group definition, I think this tab should be visible only to logged-in user so that he can view his information. Why logged-in user is able to see information of other users as well.??? Can anyone please explain or suggest me any solution??

Update : Because two employees belong to the same group so they can see the infomation. Can anyone please answer my flowing questions :

1) How employee can see his own one field say: blood_group but not of other employee. 

2) I am having two tabs : Public Information and Family Details. Logged-in employee should see his information under both these tabs and when he checks other's profile only Public Information tab should be visible

*Condition is both employees belong to the same group



| 5 4 7
Bangalore, India

Techno-Functional Associate with 6+ years of experience in Odoo (formerly known as OpenERP).

On 10/16/14, 1:21 AM

Hi ya, thanks for sending link, it was really tough to find out in Mail, for which question to answer back...

Well coming to your question, I agree with Piyush...

Q1: you want to hide a field "blood_group" for certain users and show to other users, but since both the users belonging to same group, you cannot achieve it...

Alternate solution: add a new group say "group_blood_details" on the column "blood_group", and then this group will be a Additional group for the user you want to give access ..


Q2: Is a interesting requirement, but i believe this you cant achieve neither using groups nor security rules..

Alternate solution: add a functional field [store is False] which evalutes and returns whether the user has to see it or not, say it returns True or False [boolean value].. then in xml for the tab [Family Details] using attrs set invisible property based on the functional field...

Hope this helps you...

Hi Deep, thank you so much for replying back. Solution 1: Again both user will be related to same group so I think it will create the same situation Solution 2 : This one looks good. Let me work on that and will surely inform you as proceed.

on 10/17/14, 2:23 AM
on 10/17/14, 3:06 AM

Solution1 : you should one more additional group for only one user...

on 10/17/14, 3:08 AM

Say you would have had a group say "xxx" which you would have assigned to both user 1 & user 2..... now create one more new group say "YYY" and now you have to assign this group only one user who wants to see it, say user 1...

on 10/17/14, 3:10 AM

Hi Deep, thank you so much for replying back. Solution 1: Again both user will be related to same group so I think it will create the same situation Solution 2 : Much thanks Deep....Second solution really works..Thanks again.

on 10/17/14, 5:14 AM
Piyush Suva
On 10/13/14, 6:53 AM

you have to create record rule for this.

you can inherit and override def fields_view_get method. in that you can add attribute 'invisible' on conditional basis.

Thanks!!!!...which one?

on 10/13/14, 6:59 AM

[('m2o of user of your object' )','=',user.id)] so that user can access only his related record .

Piyush Suva
on 10/13/14, 7:10 AM

I want user to access their subordinate details as well and for that record rules are already written...They are working fine but the concern is i want to hide one tab out of 4 tabs on condition basis....

on 10/13/14, 7:47 AM

ohk bro.. i got your point. then you can inherit and override def fields_view_get method. in that you can add attribute 'invisible' on conditional basis.

Piyush Suva
on 10/13/14, 8:15 AM

I don't wanna set invisible on field basis, but on tab basis....

on 10/13/14, 8:28 AM

yes bro You can on Tab also. just refer fields_view_get method

Piyush Suva
on 10/13/14, 8:45 AM

I give you sample code for you. 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(YOUR_MAIN_OBJECT_CLASS, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=False) if context.get('TEST_UID', False) == uid: doc = etree.XML(res['arch']) nodes = doc.xpath("//page[@name='family_details']") for node in nodes: node.set('invisible', '1') res['arch'] = etree.tostring(doc) return res

Piyush Suva
on 10/13/14, 8:45 AM

Much thanks Piyush....Your solution is good but not what i want....I am already hacing groups so want to set just groups = "group_name" attribute and it should behave as expected....You can check hr module this functionality is already working I just want to check why it's not working for group_users....

on 10/14/14, 4:58 AM

i think group_users group for all employee, its basic group for employee, if person is employee then he have a 'group_user' rights. so, logged In user can see all record's 'Family Details' Tab. because he have a rights of group ' group_user',

Piyush Suva
on 10/14/14, 5:18 AM

You can add one more group and assign this group to 'Family Details' tab.

Piyush Suva
on 10/14/14, 5:27 AM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

1 follower(s)


Asked: 10/13/14, 6:50 AM
Seen: 1797 times
Last updated: 3/16/15, 8:10 AM