Purpose
=======
Add the possibility to create private addresses, only accessible for a subset
of users.
Specification
=============
- Add a new 'Private' partner type
- Add a res.groups in base 'Access to Private Addresses'
- Add ir.rules for the following behavior:
- Every employees/internal users can read non-private addresses
- Only users in group_private_addresses can access private addresses
- Add in base a simplified form view for private addresses
- A HR Officer is automatically granted in group_private_addresses
- Use the simplified form view to open the address_home_id form on employees
Add some private information on the employees like:
- Certificate: Bachelor, Master, Other
- Place/Date of birth
- KM Home/Work
- Emergency Number/Contact
- ...
Also move some already existing private information from hr_contract to hr.
1/ fleet: Improve stages demo data
Remove the old one and defined stages that are more realistic.
2/ hr_contract: Add a access right group on contracts
Some private information are on the contracts. Add a special group to display the
contracts, independant of the other HR access rights.
3/ hr_contract: Add 'reported_to_secretariat' field on contracts
Informative field to be greened when the related information is sent to
the secretariat or the government.
4/ l10n_be_hr_payroll: Use the adapted wage as basic salary on payslips
It's possible to take more holidays days than the allowed legal days.
In that case the effective wage is the 'wage_with_holidays'.
This specific wage should be used as basic salary when computing the payslip.
5/ l10n_be_hr_payroll: Track visibility onchange on wage_with_holidays
6/ l10n_be_hr_payroll: Remove cars domain on contracts
Doesn't make sense to restrict the available cars on backend.
A HR user is supposed to know what he does.
7/ l10n_be_hr_payroll: Rename 'Total Employer Cost' into 'Employee Budget'
8/ hr_contract: Add 'active' field on contracts
Add the possibility to archive contracts.
9/ l10n_be_hr_payroll: Remove unnecessary field dependencies
Since https://github.com/odoo/odoo/commit/2304edd46cc12aaef4fddaa22887ff51f51581bc,
the total_depreciated_cost field on the fleet.vehicle is stored.
This commit removes the field dependencies that are not useful anymore.
10/ l10n_be_hr_payroll: Allow to use several transport mode
It should be possible to use several transport mode between
- A company car
- A public transportation
- Another transport mode
This commit split the selection field into 3 boolean fields.
The payroll rules have to be modified too to take all the costs into account
on payslips.
11/ hr_contract: Rename 'Contract Type' into 'Employee Category'
12/ l10n_be_hr_payroll: Introduce a new 'Intellectual Property' advantage
Intellectual property rights guarantee their holders a temporary and territorially
restricted, exclusive exploitation of their intellectual property. This monopoly
stimulates innovations that are indispensable for economic growth, but can go against
the right of free competition which is indispensable for the free market economy.
13/ l10n_be_hr_payroll_fleet: Add company car information on employee contracts
It makes sense to display this piece of information on the employee contract.
It allows HR users to see users information about the employee company car without
having access to the whole fleet module.
14/ hr_contract: Add next activities on contracts
It makes sense to plan activities on contracts like renewals, signatures, ask missing information,...
It's possible to take more holidays days than the allowed legal days.
In that case the effective wage is the 'wage_with_holidays'.
This specific wage should be used as basic salary when computing the payslip.
It should be possible to use several transport mode between
- A company car
- A public transportation
- Another transport mode
This commit split the selection field into 3 boolean fields.
The payroll rules have to be modified too to take all the costs into account
on payslips.
Intellectual property rights guarantee their holders a temporary and territorially
restricted, exclusive exploitation of their intellectual property. This monopoly
stimulates innovations that are indispensable for economic growth, but can go against
the right of free competition which is indispensable for the free market economy.
It makes sense to display this piece of information on the employee contract.
It allows HR users to see users information about the employee company car without
having access to the whole fleet module.
This merge cleans a bit code called during notification process to avoid
browsing / prefetching unnecessary data and optimize a bit performances.
Please see sub-commits for more details.
All performance tests in test_mail are improved. On overall community
runbot about 13K queries are gained with this merge.
This merge is linked to task ID 1838693. Closes#24374. Please also refer
to commit https://github.com/odoo/enterprise/commit/0a3ba658f18e03fd76caba86cba7be32d047f0a9 done in enterprise
that cleans a bit mobile notification code.
Purpose is to lessen query count by avoiding to browse and/or fetch data when
not necessary. This commit does two main things
* first one is to avoid checking for existing statistics in mass_mailing
where only checking existing of a mass_mailing on a mail to send is
sufficient. It allows to avoid fetching data from statistics table;
* second one is to rewrite part of the post_process code called after sending
emails. Using list comprehension and mailing_id existence on mail_mail
allows to save several queries on standard post flows;
Most tests benefit from this code update. On overall community runbot about
3K queries are saved with those small optimizations.
mail_push module in enterprise was adding too much extra queries. mail_push
being auto-install in enterprise mail performance tests were done with its
overhead taken into account. Commit done in enterprise cleaned a bit the code
to lessen mail_push impact allowing to lessen some top counters. Community
runbot counters are now nearer enterprise-based counters.
This commit is related to enterprise commit https://github.com/odoo/enterprise/commit/0a3ba658f18e03fd76caba86cba7be32d047f0a9 .
Well, it seems we gain a lot of query when avoiding to format a message we
actually don't have to send on any bus. Cheers.
Formatting message for bus notification is quite costly as it has to fetch
data from message, partner, attachments, subtypes, ... meaning a lot of
queries. With this commit we avoid calling that method when not necessary.
It allows a gain of queries in simple cases when no-one has to be notified
as shown in the performance counters. On overall community runbot about 9K
queries are saved which is not bad for a 2-lines commit.
In some cases when subscribing followers code may ask to force subtypes
of the subscription. It means existing followers should have only asked
subtypes independently from existing subtypes. Previously it was done
by unlinking and creating new followers for same partner or channel.
This commit proposes to instead update missing subtypes and remove extra
subtypes.
It has a small impact in real life as forcing subtype is not done often.
Some tests are improved thanks to this commit. This commit is linked to
task ID 1839043. Closes#24417.
In order to make the module more userfriendly:
- Some labels have been changed/added
- The Commitement date is now called the Expected date
- The Requested date becomes the Commitement date
- The Effective date is now related to the picking `date_done`
Task #34343Closes#18325
In LESS, writing `100% / 4` gives `25%`.
In SCSS, to get `25%` the operation must be wrapped with parenthesis.
This commit is even using a better method: using the `percentage`
function.
Closes https://github.com/odoo/odoo/pull/24501
In order for the user to easily add the date of the events to his
calendar we need to facilitate the integration with Outlook/ Google
Calendar.
For this we add two buttons at the end of the subscription phase (one
for Google Calendar and one for Outlook [ics file download])
Task ID: 39315
Closes#21854
In order for the user to understand what the chat_input_placeholder
field means we should add a tooltip.
We should reorganize the fields in order to put them in logical order.
This commit is related to task 1837812.
Closes#24336
Purpose
=======
Move some internal development into the standard solution.
Specification
=============
- Add a default value for 'acquisition_date'
- Make the license plate not required
- Display all the stages on the fleet.vehicle kanban view
- Remove the unicity constraint on the driver
- Order cars by plate, then by acquisition date
- Add an informative 'First Contract Date' field
- Add 'Next Activities' on vehicles
- Create a related contract when creating a new car
- Archive related contracts when archiving a vehicle
- Allow to search vehicles based on the driver name
- Set default values on model onchange
- Add subtype to track driver modifications
- Introduce fleet.vehicle.assignation.log model
- Add track_visibility='onchange' on some fields
- Rename purchaser_id from 'Contractor' to 'Driver'
- Modify slightly some fleet views
TASK ID: 1839868
1/ Remove 'odometer' from vehicle tree view
2/ Replace 'Activation Cost' by 'Driver' on contracts tree view
3/ Add fields to search on in contract search view
4/ Hide 'Renew Contract' button if in open state
5/ Move models menuitem from 'Configuration' to 'Vehicles'
1/ Use track_visibility instead of overriding write method on a fleet.vehicle
Instead of posting messages in the write method to notify that the record value
changes, use the attribute track_visibility='onchange' instead.
2/ Add track_visibility='onchange' on some fields
3/ Track visibility on 'recurring_cost_amount_depreciated'
Purpose
=======
Currently it's impossible to know who was driving a given car at a given time.
We have some piece of information like the immatriculation date of a vehicle
or the date of the first contract. But it's not enough.
This is problematic to solve a rather common issue:
- Who is gonna pay the fine for having exceeded the speed limit?
Specification
=============
Introduce a simple model fleet.vehicle.assignation.log, containing info about:
- The driver
- The vehicle
- The start Date
- The end Date
A simple button on the fleet vehicle should be sufficient to solve the issue.
We cannot generate data from the salary package as these dates can't be predicted
at the contract signature.
The goal of this field is to be able to keep the value of the first contract
even if it has been closed/deteled.
It could be used to compute the depreciation of the car.
* Reconciliation
Change the way the reconciliation method was written to optimize performances.
Remove the "skip_full_reconcile_check" stuff that is more confusing than helping.
* Object creation
Remove the creation of tax_line from tax_ids in the account_move_line create method.
Remove a bunch of context that were invalidating the cache way too often
Was PR #21498
Was task 37976
* when refunding an invoice/bill with the option 'modify', it now opens the draft document in form view (chatter reworked for more clarity)
* payments list views are now using filters instead of domain, so that user can easily find back any payments (also transfer that haven't their dedicated menuitem)
* when clicking on a ling to create a new payment from the dashboard, the form view is directly open instead of the list view
Was PR #23402. Was task 58392