Files
odoo_source/addons/hr
Alvaro Fuentes 04266116f2 [FIX] hr: fix error on avatar computation in multi-comp
The user associated to an employee doesn't need to be in the same
company of the employee. When this happens, we could get a multi company
issue when trying to _only_ display the employee form.

One way this issue is triggered is when the partner of the associated
user is marked as partner_share=True. We may get an access error due to
the rule `base.res_partner_rule`.

Steps to reproduce:
1. Install HR module
2. Create an extra company with a user (U) on it. Ensure the partner of
   U is also set as belonging to this second company.
3. Create an employee in the first company with associated user U.
4. Archive U (this makes the partner of U get partner_share=True)
5. Try to access the employee form from the first company.

We get an error:
```
Due to security restrictions, you are not allowed to access 'User' (res.users) records.

Records: U (id=11, company=COMP2)
User: Mitchell Admin (id=2)

This restriction is due to the following rules:
- user rule

Note: this might be a multi-company issue.

Contact your administrator to request access if necessary.

Implicitly accessed through 'User' (res.users).
```

Since we allow hr.employee records to keep the associated archived user,
to avoid this issue (potentially triggered differently) we opt to
compute the avatar placeholder as sudo.

The issue has been observed in multiple upgrade requests.

closes odoo/odoo#149171

X-original-commit: 5136e86b4d47fae1a70cba0809906cfc625fd1de
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
Signed-off-by: Alvaro Fuentes Suarez (afu) <afu@odoo.com>
2024-01-12 11:18:04 +00:00
..
2023-11-02 15:10:56 +00:00
…

Odoo Human Resources

With Odoo Human Resources, manage the most important asset in your company: People

Get all your HR operations managed easily: knowledge sharing, recruitments, appraisals, timesheets, contracts, attendances, payroll, etc.

Each need is provided by a specific app that you activate on demand.

Manage Your Employees

Oversee all important information in your company address book. Some information are restricted to HR managers, others are public to easily look colleagues.

Record employee contracts and get alerts when they have to be renewed.

Streamline Your Recruitment Process

Index resumes, track applicants, search profiles with Odoo HR.

Post job offers and keep track of each application received. Follow applicants in your recruitment process with the smart kanban view.

Save time by automating some communications with email templates. Resumes are indexed automatically, allowing you to easily find for specific profiles.

Enterprise Social Network

Break down information silos. Share knowledge and best practices amongst all employees. Follow specific people or documents and join groups of interests to share expertise and documents.

Interact with your coworkers in real time with website live chat.

Track time and attendances

Keep track of the time spent by project, client or task. It's easy to record timesheets or check attendances for each employee. Get your analytic accounting posted automatically based on time spent on your projects.

Time Off Management

Keep track of the vacation days accrued by each employee. Employees enter their requests (paid time off, sick time off, etc), for managers to approve and validate. It's all done in just a few clicks. The agenda of each employee is updated accordingly.

Keep Track of Employee Expenses

Get rid of the paper work and follow employee's expenses directly in Odoo. Don't loose time or money by controlling the full flow: expense validation, reimbursement of employees, posting in the accounting and re-invoicing to customers.

Follow Periodic Appraisals

Set-up appraisals plans and/or surveys for your employees and watch their evolution. Define steps for interviews and Odoo will notify managers or subordinates automatically to prepare appraisals. Keep track of the progress of your staff periodically.

Boost Engagement With Gamification

Define clear objective and provide real time feedback

Inspire achievement with challenges, goals and rewards. Define clear objectives and provide real time feedback and tangible results. Showcase the top performers to the entire channel and publicly recognize a job well done.

Leaderboards

Promote leaders and competition amongst Sales Team with performance ratios.

Personal Objectives

Assign clear goals to users to align them with the company objectives.

Team Targets

Compare revenues with forecasts and budgets in real time.