Skip to Content
Odoo Menu
  • Prijavi
  • Try it free
  • Aplikacije
    Finance
    • Knjigovodstvo
    • Obračun
    • Stroški
    • Spreadsheet (BI)
    • Dokumenti
    • Podpisovanje
    Prodaja
    • CRM
    • Prodaja
    • POS Shop
    • POS Restaurant
    • Naročnine
    • Najem
    Spletne strani
    • Website Builder
    • Spletna trgovina
    • Blog
    • Forum
    • Pogovor v živo
    • eUčenje
    Dobavna veriga
    • Zaloga
    • Proizvodnja
    • PLM
    • Nabava
    • Vzdrževanje
    • Kakovost
    Kadri
    • Kadri
    • Kadrovanje
    • Odsotnost
    • Ocenjevanja
    • Priporočila
    • Vozni park
    Marketing
    • Družbeno Trženje
    • Email Marketing
    • SMS Marketing
    • Dogodki
    • Avtomatizacija trženja
    • Ankete
    Storitve
    • Projekt
    • Časovnice
    • Storitve na terenu
    • Služba za pomoč
    • Načrtovanje
    • Termini
    Produktivnost
    • Razprave
    • Odobritve
    • IoT
    • Voip
    • Znanje
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industrije
    Trgovina na drobno
    • Book Store
    • Trgovina z oblačili
    • Trgovina s pohištvom
    • Grocery Store
    • Trgovina s strojno opremo računalnikov
    • Trgovina z igračami
    Food & Hospitality
    • Bar and Pub
    • Restavracija
    • Hitra hrana
    • Guest House
    • Beverage Distributor
    • Hotel
    Nepremičnine
    • Real Estate Agency
    • Arhitekturno podjetje
    • Gradbeništvo
    • Estate Management
    • Vrtnarjenje
    • Združenje lastnikov nepremičnin
    Svetovanje
    • Računovodsko podjetje
    • Odoo Partner
    • Marketinška agencija
    • Law firm
    • Pridobivanje talentov
    • Audit & Certification
    Proizvodnja
    • Tekstil
    • Metal
    • Pohištvo
    • Hrana
    • Brewery
    • Poslovna darila
    Health & Fitness
    • Športni klub
    • Trgovina z očali
    • Fitnes center
    • Wellness Practitioners
    • Lekarna
    • Frizerski salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Sistemi sončne energije
    • Izdelovalec čevljev
    • Čistilne storitve
    • HVAC Services
    Ostali
    • Neprofitna organizacija
    • Agencija za okolje
    • Najem oglasnih panojev
    • Fotografija
    • Najem koles
    • Prodajalec programske opreme
    Browse all Industries
  • Skupnost
    Learn
    • Tutorials
    • Dokumentacija
    • Certifikati
    • Šolanje
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Prenesi
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Dogodki
    • Prevodi
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Sklici kupca
    • Podpora
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Določanje cen
  • Pomoč

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Knjigovodstvo
  • Zaloga
  • PoS
  • Projekt
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
Pomoč

My profile gives access error for employee fields

Naroči se

Get notified when there's activity on this post

This question has been flagged
employeeAccessError13.0
3 Odgovori
11257 Prikazi
Avatar
Sprintit Oy / Roy Nurmi

In v13, if user is related to an emplyee, and I g to My profile, gives the following error. I.e, user needs to be HR/Offices to be able to access "My profile", which is certainly wrong.

These fields are on hr.employee model, so basically I see the reason for the restriction, but in this use case this does not work at all.

The requested operation can not be completed due to security restrictions. Document type: Users (res.users) Operation: read User: 9 Fields: - address_home_id (allowed for groups 'Employees / Officer') ...

0
Avatar
Opusti
Minh Hong

Hi, May I know if this issue can fix by any solutions?

Robin

I met the same issue, who can fix it?

Bayside Aviation

This helped alot..

Avatar
Livia Filippi
Best Answer

Hello.

We recently encountered the same error on one of our production databases. After a little bit of analysis, we realized we were adding a field on the res.users model and added this field on the inherited form view base.view_users_form_simple_modif in a custom module. 

What happens is that Odoo hr module introduces a new view on the res.users model to allow any user to visualize any private information on the employee connected to their user from the “My profile” view and this new hr view res_users_view_form_simple_modif inherits in mode primary from the base.view_users_form_simple_modif. Inheriting in mode primary allows the base view to be extended from other modules but still add the same edits on the hr extended view.

When the hr module is installed the base view is automatically overridden by the hr view, res_users_view_form_simple_modif and looks for which fields are accessible on the res.users model. Thus, res.users must override the __init__() method to add the field to the list of readable and writable fields in res.users. How the override of __init__ was done was looked up in the module mail (where it is done way more simply than how it is done in the hr module).

I  suggest having a look at these commits on github relative to the hr module to better understand why it works like that: 

  • https://github.com/odoo/odoo/commit/d77ce4c2a92c1da48150e4e84b714dd93f64847d
  • https://github.com/odoo/odoo/commit/c9ca3761464413327d2beb697553a3ccd7eef4d1

So our solution was:


res_users.py  
new_field = fields.Boolean(string="Our New Field", default=False)
def __init__(self, pool, cr):
# Override of __init__ to add access rights on new_field.             
# Access rights are disabled by default, but allowed            
# on some specific fields defined in self.SELF_{READ/WRITE}ABLE_FIELDS.  
init_res = super(Users, self).__init__(pool, cr)        
# duplicate list to avoid modifying the original reference        
type(self).SELF_WRITEABLE_FIELDS = list(self.SELF_WRITEABLE_FIELDS)        
type(self).SELF_WRITEABLE_FIELDS.extend(['new_field'])        
# duplicate list to avoid modifying the original reference        
type(self).SELF_READABLE_FIELDS = list(self.SELF_READABLE_FIELDS)        
type(self).SELF_READABLE_FIELDS.extend(['new_field'])        
return init_res

res_users.xml
inherit on view ref="base.view_users_form_simple_modif" (for my profile)
and on view ref="base.view_users_form" (for general settings > users)


2
Avatar
Opusti
Bayside Aviation

This helped, however I'm still having issues with saving of the data, even though its been added to writeable_fields...strange

Livia Filippi

Hello @Cameron P, are you still encountering some error? Or it just doesn't save at all?

luna_22

I'm so grateful, it helped a lot. Thank you so much

Asma Ben Brahem

Hello, What can I do in case of adding two fields ?
I tried adding my two fields to the extend method like this
profession = fields.Char(String="Profession")
titre = fields.Char(string="Titre")
and in the init method we have:
init_res = super(user, self).__init__(pool, cr)
# duplicate list to avoid modifying the original reference
type(self).SELF_WRITEABLE_FIELDS = list(self.SELF_WRITEABLE_FIELDS)
type(self).SELF_WRITEABLE_FIELDS.extend(['profession', 'titre'])
type(self).SELF_READABLE_FIELDS = list(self.SELF_READABLE_FIELDS)
type(self).SELF_READABLE_FIELDS.extend(['profession', 'titre'])

and of course added the two new fields in the specified inherited views, your method works pretty fine for one field, but when I tried adding one second field, I get the access right error, I would be grateful if you can help me with this

Livia Filippi

Hello, @Asma Ben Brahem as far as I can tell it seems you defined everything I expected, except maybe the return of the function (unless you just didn't copy it to your comment). Have you tried checking out the original code in the mail module here and make sure everything reflects how odoo expects it? https://github.com/odoo/odoo/blob/deaf27a75b0b123636066679dd14ef6b62541091/addons/mail/models/res_users.py#L68

Michael Jurke

Thank you! We indeed added a field to users model and installed the hr module. And could solve the conflict with the instructions above.

In Odoo 16, I had to change __init__(self, pool, cr) to __init__(self, *args) and super().__init__(*args) repectively. There are more arguments now.

Avatar
Raúl
Best Answer

Did you find a solution? I have the same problem and I can't resolve it :S

0
Avatar
Opusti
Avatar
Muhammed Fasil
Best Answer


Did you tried after checked the 'Employee Edition'?
Settings --> Employee Tab


0
Avatar
Opusti
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Prijavi
Related Posts Odgovori Prikazi Aktivnost
Access error when accesing "My profile", doing that requires "officer" access
hr employee permissions AccessError
Avatar
Avatar
1
sep. 22
4030
hr_employee_public.timesheet_manager_id does not exist
employee
Avatar
Avatar
1
avg. 25
4644
Recurring training
employee
Avatar
Avatar
1
okt. 24
8004
[odoo 13]Discuss template
13.0
Avatar
0
okt. 24
2148
Employee Bank Account Number Solved
employee
Avatar
Avatar
Avatar
2
jul. 24
3029
Community
  • Tutorials
  • Dokumentacija
  • Forum
Open Source
  • Prenesi
  • Github
  • Runbot
  • Prevodi
Services
  • Odoo.sh Hosting
  • Podpora
  • Nadgradnja
  • Custom Developments
  • Izobraževanje
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Sredstva blagovne znamke
  • Kontakt
  • Zaposlitve
  • Dogodki
  • Podcast
  • Blog
  • Stranke
  • Pravno • Zasebnost
  • Varnost
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now