Monday, July 1, 2024
18 changes · master
New functionality added to Odoo
Adds a new paid appointment flow so businesses can require customers to complete payment while booking an appointment online. This helps sell appointment-based services directly from the website and reduces unpaid or unconfirmed bookings.
Original PR description
Task-3079302
Enhancements to existing features
This update improves how employee billing rate values are tracked in the timesheet sales process. It helps businesses keep a clearer record of billing rate changes, supporting more accurate project costing and customer billing reviews.
Original PR description
temp task-3922896
Miscellaneous changes
Steps to Reproduce: ------------------- 1. Install hr_contract_salary module, create an advantage. 2. In the advantages 'Display Type' field should be 'Always selected'. 3. Leave the res_field_id field empty. 4. Put this advantage as Mandatory Advantage for another field. 5. Open Recruitement App, create and send an offer. 6. Go to Offers smart button and open the Offer link. 7. There will be an Internal Server Error. To resolve this issue we'll just continue wherever the res
Original PR description
Steps to Reproduce: ------------------- 1. Install hr_contract_salary module, create an advantage. 2. In the advantages 'Display Type' field should be 'Always selected'. 3. Leave the res_field_id…
Steps to Reproduce:
-------------------
1. Install hr_contract_salary module, create an advantage.
2. In the advantages 'Display Type' field should be 'Always selected'.
3. Leave the res_field_id field empty.
4. Put this advantage as Mandatory Advantage for another field.
5. Open Recruitement App, create and send an offer.
6. Go to Offers smart button and open the Offer link.
7. There will be an Internal Server Error.
To resolve this issue we'll just continue wherever the res_field_id is not set. Because
if the res_field_id is not set it'll have no value which in return gives False(bool) which
can't be appended.
Traceback:
```py
Traceback (most recent call last):
File "/home/odoo/src/odoo/17.0/odoo/http.py", line 1770, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/home/odoo/src/odoo/17.0/odoo/service/model.py", line 133, in retrying
result = func()
File "/home/odoo/src/odoo/17.0/odoo/http.py", line 1797, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/home/odoo/src/odoo/17.0/odoo/http.py", line 1914, in dispatch
return self.request.registry['ir.http']._dispatch(endpoint)
File "/home/odoo/src/odoo/17.0/odoo/addons/base/models/ir_http.py", line 222, in _dispatch
result = endpoint(**request.params)
File "/home/odoo/src/odoo/17.0/odoo/http.py", line 725, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/home/odoo/src/enterprise/17.0/hr_contract_salary/controllers/main.py", line 231, in salary_package
values = self._get_default_template_values(contract, offer)
File "/home/odoo/src/enterprise/17.0/hr_contract_salary/controllers/main.py", line 131, in _get_default_template_values
values = self._get_salary_package_values(contract, offer)
File "/home/odoo/src/enterprise/17.0/hr_contract_salary/controllers/main.py", line 411, in _get_salary_package_values
mapped_benefits, mapped_dependent_benefits, mandatory_benefits, mandatory_benefits_names, benefit_types, dropdown_options_2, dropdown_group_options, initial_values_2 = self._get_benefits_values(contract, offer)
File "/home/odoo/src/enterprise/17.0/hr_contract_salary/controllers/main.py", line 397, in _get_benefits_values
dependent_name = dependent_benefit.field + '_' + dependent_benefit.display_type
TypeError: unsupported operand type(s) for +: 'bool' and 'str'
```
Forward-Port-Of: odoo/enterprise#62255Payroll dashboard charts have been adjusted to match the redesigned graph visuals used elsewhere in Odoo. This gives users a more consistent reporting experience and keeps Payroll analytics aligned with the latest visual standards.
Original PR description
Since the redesign of the Graph view and the update of visualization colors in [odoo/#167296](https://github.com/odoo/odoo/pull/167296), this PR adapts charts outside the Graph view to maintain consistency with it in Payroll. Requires: - https://github.com/odoo/odoo/pull/167296 task-3620659
The rental calendar now displays orders according to their actual rental start and return dates instead of the next planned activity date. This makes it easier for users to understand rental schedules and manage equipment or product availability at a glance.
Original PR description
Before the commit: The calendar view of the rental was based on the next activity date (which is expected for sales and subscriptions). Customers expect to see the orders based on the rental period. There was no customized calendar view dedicated to rental orders. After the commit: Now the rental periods are shown in the calendar view which is based on the rental start date and rental return date. The new view is extended from the calendar view of the sale order and overridden necessary attributes to display the rental period task-3893588
Payroll teams can now start creating a payslip directly from an employee contract, even when no payslip already exists for that contract. The payslip opens with the employee and contract already filled in, saving time and reducing manual entry for payroll officers.
Original PR description
Before this commit, payroll manager was not able to generate payslip directly from employee contract form if there is not any payslip present for contract. This commit brings, the direct payslip generation from employee contract form by stat button with payroll officer rights. The employee and contract will be preselected on payslip from contract. task-3922123
Employee bank account trust actions are now handled directly from the employee form, reducing clutter in employee action menus. Payroll warnings now point users to the relevant bank accounts and respect the selected companies, making follow-up clearer and more accurate.
Original PR description
The employee action menu is becoming more and more overloaded. This PR aims to address the issue. It also aims to adjust the warnings in the payroll app. This PR: 1. removes Trust Bank Account option from the action menu in employee form and list views and gives the ability to trust/untrust bank accounts in the employee form view. 2. Adds a menu item in the employees app to access the bank accounts of employees. 3. Makes untrusted bank accounts warning lead to bank accounts instead of employees. 4. Makes the warnings in the payroll app depend on the selected companies. task-3916836 Co-authored-by: Rob Coekaerts <roco@odoo.com>
Payroll batches can now be marked as paid even when some payslips in the batch were already paid. This streamlines payroll processing by updating only the remaining unpaid payslips and avoiding unnecessary manual work.
Original PR description
This PR improves the efficiency of processing group payslips in the payroll module. - Allows moving the batch to `paid` status while only affecting the unpaid payslips, even if some payslips in the batch are already paid. task-3815871
Asset users can now define a non-depreciable portion as either an amount or a percentage, including default percentages on asset models. This helps keep asset residual value calculations consistent and warns users when entered values are outside valid limits.
Original PR description
- This commit will allow the user to enter Not Depreciable Value of an asset based on the selection of Amount or Percentage. - Users can also add Not Depreciable Value (in percentage) in the Asset Model form. - When a user selects any asset model in asset form, Not Depreciable Value (in percentage) will be automatically filled based on the selected model. - If Not Depreciable Value (in amount) is greater than Original Value or Not Depreciable Value (in percentage) is not between 0 to 100 for an asset then it will show the warning message. **task**-3669618
This update aligns spreadsheet-related tests with the redesigned copy-to-clipboard experience. It helps ensure the improved clipboard interaction remains reliable for users working with documents and dashboards.
Original PR description
Adapt test for the new CopyClipboard design from https://github.com/odoo/odoo/pull/170310 task-3964629
This PR changes an enterprise test that failed with a community PR. Linked community PR: https://github.com/odoo/odoo/pull/166965 ### Steps to reproduce: - Create a company and a branch - Create a contact and assign him to the company created - Switch to the branch and go to the Contact app - You can't see the contact created ### Cause: A rule does not allow branches to see partners from the parent company. ### Solution: Change the rule to make partners accessible to branches. T
Original PR description
This PR changes an enterprise test that failed with a community PR. Linked community PR: https://github.com/odoo/odoo/pull/166965 ### Steps to reproduce: - Create a company and a branch - Create a contact and assign him to the company created - Switch to the branch and go to the Contact app - You can't see the contact created ### Cause: A rule does not allow branches to see partners from the parent company. ### Solution: Change the rule to make partners accessible to branches. This solution implies changing access rules defined in base to use the 'parent_of' operator. By changing it, I removed a performance improvement introduced so I needed to change performance tests counting queries to make them pass. opw-3927295 Forward-Port-Of: odoo/enterprise#65644 Forward-Port-Of: odoo/enterprise#63589
Duplicate emails were being sent out to employees because employees were being searched from user ids for each company, but each search was not filtered by the company. So if there was a user that had multiple employee records, all of their employee records on every company would be pulled up for every company on their database that had timesheet notifications on. For example if there were 4 companies and the employee had an employee record for each of them they would receive 16 emails in total.
Original PR description
Duplicate emails were being sent out to employees because employees were being searched from user ids for each company, but each search was not filtered by the company. So if there was a user that had multiple employee records, all of their employee records on every company would be pulled up for every company on their database that had timesheet notifications on. For example if there were 4 companies and the employee had an employee record for each of them they would receive 16 emails in total. 4 for each employee record. Adding to the search domain to only look for employees on the current company defined by the for loop avoids these duplicate emails. This is similar to a fix that was done on the manager notification emails here: https://github.com/odoo/enterprise/pull/52808 opw-3748426 Forward-Port-Of: odoo/enterprise#64291
ForecastedDetails template inheritance wrong declaration of name (sale_subscription_stock) Steps to Reproduce customer want to add an additional column to the ForecastedDetails template. customer able to do it to basic template But not for prepared inheritances in sale_subscription_stock. The problem is that system can’t resolve symbol e.g t-inherit="sale_subscription_stock.ForecastedDetails” because somebody declatest in code ```py <t name="sale_subscription_stock.ForecastedDet
Original PR description
ForecastedDetails template inheritance wrong declaration of name (sale_subscription_stock) Steps to Reproduce customer want to add an additional column to the ForecastedDetails template. customer able to do it to basic template But not for prepared inheritances in sale_subscription_stock. The problem is that system can’t resolve symbol e.g t-inherit="sale_subscription_stock.ForecastedDetails” because somebody declatest in code ```py <t name="sale_subscription_stock.ForecastedDetails" t-inherit="stock.ForecastedDetails" t-inherit-mode="extension"> instead <t t-name="sale_subscription_stock.ForecastedDetails" t-inherit="stock.ForecastedDetails" t-inherit-mode="extension"> ``` here is a issue link :- https://github.com/odoo/odoo/issues/167741 Forward-Port-Of: odoo/enterprise#65571 Forward-Port-Of: odoo/enterprise#64885
This module adds user facing elements to ecommerce (i.e. the Website > Shop). This results in part of the checkout process showing up in English when customers are using a language other than Spanish. We make an exception for translating a localization into a language other than the one spoken in the country it's specific to because this is customer facing (i.e. in the website) and we do not want to restrict the language of the potential ecommerce customers. Unfortunately some of the terms th
Original PR description
This module adds user facing elements to ecommerce (i.e. the Website > Shop). This results in part of the checkout process showing up in English when customers are using a language other than Spanish. We make an exception for translating a localization into a language other than the one spoken in the country it's specific to because this is customer facing (i.e. in the website) and we do not want to restrict the language of the potential ecommerce customers. Unfortunately some of the terms that show in the extra step added by this model are defined in other `l10n_mx_*` modules and since we don't want to have to track down only these specific terms or translate all of the Mexico localization into French, we leave some parts untranslated (specifically the invoicing specifics) opw-3881171 Forward-Port-Of: odoo/enterprise#65563
Current behavior in gstr1 report: - For invoices and credit notes, if there are nil rated tax grid journal items then these tax lines are considered in both GSTR summary tables i.e self category (b2b/b2c) table and nil category table. After fix: - Now, the journal items are considered for their respective GSTR summary tables only. - For, `special economic zone` the nil-rated journal items are considered in their category i.e b2b/b2cs/b2cl, not in the nil summary table. task-3866787 Fo
Original PR description
Current behavior in gstr1 report: - For invoices and credit notes, if there are nil rated tax grid journal items then these tax lines are considered in both GSTR summary tables i.e self category (b2b/b2c) table and nil category table. After fix: - Now, the journal items are considered for their respective GSTR summary tables only. - For, `special economic zone` the nil-rated journal items are considered in their category i.e b2b/b2cs/b2cl, not in the nil summary table. task-3866787 Forward-Port-Of: odoo/enterprise#65105 Forward-Port-Of: odoo/enterprise#61433
Before this PR: In Marketing Automation, upon opening a template form view, a duplicate button is displayed which won't be used. After this PR: Duplicate button is now hidden. Task - 3994775 Forward-Port-Of: odoo/enterprise#64993
Original PR description
Before this PR: In Marketing Automation, upon opening a template form view, a duplicate button is displayed which won't be used. After this PR: Duplicate button is now hidden. Task - 3994775 Forward-Port-Of: odoo/enterprise#64993
Issue: Sometimes payments are created in Odoo prior to sending the CFDI, by law payments don't have to be necessarily sent to the government on the same month and can sometimes be sent up to the first 10 days of the next month. Solution: fill the 'fecha' field with the current datetime for the cfdi of the payments, Then send it. Task-3885769 Forward-Port-Of: odoo/enterprise#64988 Forward-Port-Of: odoo/enterprise#63488
Original PR description
Issue: Sometimes payments are created in Odoo prior to sending the CFDI, by law payments don't have to be necessarily sent to the government on the same month and can sometimes be sent up to the first 10 days of the next month. Solution: fill the 'fecha' field with the current datetime for the cfdi of the payments, Then send it. Task-3885769 Forward-Port-Of: odoo/enterprise#64988 Forward-Port-Of: odoo/enterprise#63488
Before this commit, the search bar only look at the visible lines. With that a problem arise with hierarchy for example. When writing an account in the searchbar we want to search on the account.account and not the group. task: 3988840 Forward-Port-Of: odoo/enterprise#65101
Original PR description
Before this commit, the search bar only look at the visible lines. With that a problem arise with hierarchy for example. When writing an account in the searchbar we want to search on the account.account and not the group. task: 3988840 Forward-Port-Of: odoo/enterprise#65101