Tuesday, August 27, 2024
27 changes · saas-17.1
Resolved issues and error corrections
The spreadsheet component has been updated to the latest 17.1 maintenance version. This fixes an issue affecting spreadsheet header sizing, helping users get more reliable spreadsheet behavior in Odoo.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/52753da68 [REL] 17.1.29 Task: 0 https://github.com/odoo/o-spreadsheet/commit/85deedddc [FIX] github: typo in PR template https://github.com/odoo/o-spreadsheet/commit/5fc78cc4d [FIX] header_size: JS sparse array problem Task: 4074438 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
Miscellaneous changes
Create a new payslip Select Employee and contract Compute Sheet Create Draft Entry > Post Draft Entry Cancel payslip Issue: The system will attempt to reset to draft and unlink the associated invoice In some cases this is not ideal: In Indian government for example, requires audit trail report for private limited companies, so user can't delete journal entries after posting once. Backporting method `_unlink_or_reverse` from 17.0 [1] to be used in the related PR https://github.com/odoo
Original PR description
Create a new payslip Select Employee and contract Compute Sheet Create Draft Entry > Post Draft Entry Cancel payslip Issue: The system will attempt to reset to draft and unlink the associated invoice In some cases this is not ideal: In Indian government for example, requires audit trail report for private limited companies, so user can't delete journal entries after posting once. Backporting method `_unlink_or_reverse` from 17.0 [1] to be used in the related PR https://github.com/odoo/enterprise/pull/68044 [1] https://github.com/odoo/odoo/blob/66bfab54748a56072ed9ff144f4a39366b606a06/addons/account/models/account_move.py#L3772-L3785 opw-4075244 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177759 Forward-Port-Of: odoo/odoo#176792
- Have an one2may or a many2many on a setting (with some data in them); - Edit/toggle any setting; - Click on an action button or navigate to another view; - On the "Unsaved changes" dialog, select "Discard". Before this commit, the `discard` function of the relational model, didn't take into account the initial commands, and replace the x2many with an empty list of commands. The issue is that the settings need to be saved (after discarding the changes) when leaving, throws an action's
Original PR description
- Have an one2may or a many2many on a setting (with some data in them); - Edit/toggle any setting; - Click on an action button or navigate to another view; - On the "Unsaved changes" dialog, select…
- Have an one2may or a many2many on a setting (with some data in them); - Edit/toggle any setting; - Click on an action button or navigate to another view; - On the "Unsaved changes" dialog, select "Discard". Before this commit, the `discard` function of the relational model, didn't take into account the initial commands, and replace the x2many with an empty list of commands. The issue is that the settings need to be saved (after discarding the changes) when leaving, throws an action's button. This is done, to create a res_id, that is most of the time mandatory to perform the action (see [1]) So if the `discard` function, empty the x2many, the setting will be modified, and the x2many will be emptied. Now, the `discard` function of the relational model take into account the x2many initial commands, therefore the x2many setting will stay unchanged. [1] : https://github.com/odoo/odoo/commit/9b81ddb993e4d56aba5aae637d160522d3af1d30 opw-4050990 opw-4092267 opw-4100926 Co-authored-by: Aaron Bohy <aab@odoo.com> Forward-Port-Of: odoo/odoo#177883
Added start/stop/restart aliases to the IoT image to simplify the use of systemctl commands. Forward-Port-Of: odoo/odoo#177874
Original PR description
Added start/stop/restart aliases to the IoT image to simplify the use of systemctl commands. Forward-Port-Of: odoo/odoo#177874
…number Steps to reproduce: [l10n_ec] - Create a credit note from the Bill journal - Set a foreign customer - Set a customized document number Issue: An error will be raised saying that the format is not correct But, as defined by VBE, "If a Credit Note is created from a Vendor Bill and the partner_id != "EC", [we should] allow the user to allocate any number without following the EC format." Solution: When we call `_format_document_number` we don't have any information about t
Original PR description
…number Steps to reproduce: [l10n_ec] - Create a credit note from the Bill journal - Set a foreign customer - Set a customized document number Issue: An error will be raised saying that the format is not correct But, as defined by VBE, "If a Credit Note is created from a Vendor Bill and the partner_id != "EC", [we should] allow the user to allocate any number without following the EC format." Solution: When we call `_format_document_number` we don't have any information about the initial move. Instead of using a context or adding new fields, we add a hook in which we can specify certain conditions to bypass the document check/formatting for localisations. opw-3993305 Forward-Port-Of: odoo/odoo#177597 Forward-Port-Of: odoo/odoo#174950
Enterprise PR: https://github.com/odoo/enterprise/pull/68087 A user without any accounting access right set get an error when creating an invoice from a sale order. The user should be able to see the draft invoice when clicking on the 'Create Invoice' from a sale order, as it is the case without the l10n_cl_edi module. ### Steps to reproduce: - Install the 'l10n_cl_edi' module - As admin go to Settings > Manage Users, click on a User and, in Access Rights, change Accounting > Invoicing t
Original PR description
Enterprise PR: https://github.com/odoo/enterprise/pull/68087 A user without any accounting access right set get an error when creating an invoice from a sale order. The user should be able to see the…
Enterprise PR: https://github.com/odoo/enterprise/pull/68087 A user without any accounting access right set get an error when creating an invoice from a sale order. The user should be able to see the draft invoice when clicking on the 'Create Invoice' from a sale order, as it is the case without the l10n_cl_edi module. ### Steps to reproduce: - Install the 'l10n_cl_edi' module - As admin go to Settings > Manage Users, click on a User and, in Access Rights, change Accounting > Invoicing to nothing - (Make sure the User Type is Internal User) - Switch to this user - Go to Sales and create a new Quotation, confirm - Click on the 'Create Invoice' button - An access error appears because of 'l10n_cl.account.invoice.reference' ### Cause: The records of `l10n_cl.account.invoice.reference` are only readable by Accounting groups. ### Solution: Make the records of `l10n_cl.account.invoice.reference` accessible to all internal users. This will raise another access error for `l10n_latam.document.type`, so we also need to make them accessible (in community). ### Note: I noticed the access right of `l10n_cl.account.invoice.reference` were giving rights to `account.group_account_invoice` twice, where I think the second time was supposed to be `account.group_account_manager`. I don't know if this is wanted, but it doesn't make sense to have two lines for the same model and user group. I decided to only change `group_account_invoice` to `group_account_manager` so this PR is removing the write, create, unlink rights of `account.group_account_invoice`. opw-4078302 Forward-Port-Of: odoo/odoo#175988
When an editable content is dropped in the website form, the editable elements identification and adaptation happens on `start()` (async). In a normal user interaction context, the dropped content would be set as editable in time, but when doing automated testing, we need to make sure the dropped content has `[contenteditable=true]` before editing its content. Remark: This commit also removes the `_keydown()` test function from the tour (since it still uses the deprecated `execCommand
Original PR description
When an editable content is dropped in the website form, the editable elements identification and adaptation happens on `start()` (async). In a normal user interaction context, the dropped content would be set as editable in time, but when doing automated testing, we need to make sure the dropped content has `[contenteditable=true]` before editing its content. Remark: This commit also removes the `_keydown()` test function from the tour (since it still uses the deprecated `execCommand()`) and replaces it with a simple `run: "text ..."`. runbot-64816 Forward-Port-Of: odoo/odoo#165361
This commit will add some document types but also changed a bit the way we manage document type. We now let the possibility to the user to choose the document type he wants thanks to a manyToOne field to a new model. In this commit, we will also add the italian payment method needed for the edi. For that we added a selection field that can be filled with the payment method of the payment or by manually choosing a value. In the journal of bank, we can add some new payment method, by defau
Original PR description
This commit will add some document types but also changed a bit the way we manage document type. We now let the possibility to the user to choose the document type he wants thanks to a manyToOne field to a new model. In this commit, we will also add the italian payment method needed for the edi. For that we added a selection field that can be filled with the payment method of the payment or by manually choosing a value. In the journal of bank, we can add some new payment method, by default the italian payment method will be MP05. In case of partial payment we choose to take the payment method of the first one. task-3770458 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171795
Steps to reproduce: - Install timesheets, project and accounting - Enable "Analytic accounting" in accounting settings - Accounting > Accounting > Analytic items - Goup by Billing type - 2 different 'Materials' Change was made in 3d3f4109a06445b6ce9606770085c763ea206b35. This is ambiguous and clashes with the previously used items in 15.0. https://github.com/odoo/odoo/blob/ec106bfaaede527857a028bf1956b309aad3dc51/addons/sale_timesheet/models/account.py#L17 opw-4080234 --- I confir
Original PR description
Steps to reproduce: - Install timesheets, project and accounting - Enable "Analytic accounting" in accounting settings - Accounting > Accounting > Analytic items - Goup by Billing type - 2 different 'Materials' Change was made in 3d3f4109a06445b6ce9606770085c763ea206b35. This is ambiguous and clashes with the previously used items in 15.0. https://github.com/odoo/odoo/blob/ec106bfaaede527857a028bf1956b309aad3dc51/addons/sale_timesheet/models/account.py#L17 opw-4080234 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177388
Refactor the `_create_out_svl` and `_create_dropshipped_svl` methods in the `stok.move` model to separate the vals list generation from the `create` call. These new methods facilitate overwrites in custom modules. This split is already present for the `_create_in_svl` method. Forward-Port-Of: odoo/odoo#177590
Original PR description
Refactor the `_create_out_svl` and `_create_dropshipped_svl` methods in the `stok.move` model to separate the vals list generation from the `create` call. These new methods facilitate overwrites in custom modules. This split is already present for the `_create_in_svl` method. Forward-Port-Of: odoo/odoo#177590
UBL rule DK-R-005 limits the options available for the payment means. Currently, we have a hard-coded value of 30 for every invoice, because it is not possible to deduce the right payment means code at the moment. In OIOUBL we hard-code this field to `unknown` as it has the same UBL rule. With this commit we can use a different value for DK partners. In the future we could try to populate it dynamically. See also: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/DK-R-005/ opw-
Original PR description
UBL rule DK-R-005 limits the options available for the payment means. Currently, we have a hard-coded value of 30 for every invoice, because it is not possible to deduce the right payment means code at the moment. In OIOUBL we hard-code this field to `unknown` as it has the same UBL rule. With this commit we can use a different value for DK partners. In the future we could try to populate it dynamically. See also: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/DK-R-005/ opw-4080715 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177430
Currently, a traceback occurs when the user `posts journal entries` with `multiple expenses` in which one of the expense doesn't have a `date`. To reproduce this issue: 1) Install `Expense` 2) Create an expense report(expense sheet) with multiple expense lines 3) Remove one of the expense's date 4) Click Submit to Manager> Approve> Post Journal Entries Error: ``` TypeError: '>' not supported between instances of 'datetime.date' and 'bool' File "odoo/http.py", line 2248, in __
Original PR description
Currently, a traceback occurs when the user `posts journal entries` with `multiple expenses` in which one of the expense doesn't have a `date`. To reproduce this issue: 1) Install `Expense` 2) Create…
Currently, a traceback occurs when the user `posts journal entries` with `multiple expenses`
in which one of the expense doesn't have a `date`.
To reproduce this issue:
1) Install `Expense`
2) Create an expense report(expense sheet) with multiple expense lines
3) Remove one of the expense's date
4) Click Submit to Manager> Approve> Post Journal Entries
Error:
```
TypeError: '>' not supported between instances of 'datetime.date' and 'bool'
File "odoo/http.py", line 2248, in __call__
response = request._serve_db()
File "odoo/http.py", line 1823, in _serve_db
return self._transactioning(_serve_ir_http, readonly=ro)
File "odoo/http.py", line 1843, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1821, in _serve_ir_http
return self._serve_ir_http(rule, args)
File "odoo/http.py", line 1828, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2053, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 220, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 756, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 42, in call_button
action = self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 34, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 458, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "home/odoo/src/enterprise/saas-17.2/hr_expense_extract/models/hr_expense.py", line 199, in action_sheet_move_create
return super().action_sheet_move_create()
File "addons/hr_expense/models/hr_expense_sheet.py", line 558, in action_sheet_move_create
self._do_create_moves()
File "addons/sale_expense/models/hr_expense_sheet.py", line 119, in _do_create_moves
return super()._do_create_moves()
File "addons/hr_expense/models/hr_expense_sheet.py", line 700, in _do_create_moves
moves = self.env['account.move'].create([sheet._prepare_bills_vals() for sheet in own_account_sheets])
File "addons/hr_expense/models/hr_expense_sheet.py", line 700, in <listcomp>
moves = self.env['account.move'].create([sheet._prepare_bills_vals() for sheet in own_account_sheets])
File "addons/hr_expense/models/hr_expense_sheet.py", line 728, in _prepare_bills_vals
**self._prepare_move_vals(),
File "addons/hr_expense/models/hr_expense_sheet.py", line 749, in _prepare_move_vals
'date': self.accounting_date or max(self.expense_line_ids.mapped('date')) or fields.Date.context_today(self),
```
When the user clicks on the `Post Journal Entries` Button, it tries to create an expense report in which `_prepare_move_vals` method triggers.
In this method, the `max` function is used to get the date from `expense_line_ids`.
If any one of the expense lines doesn't have a date(date is not required) it leads to a traceback.
https://github.com/odoo/odoo/blob/607e454f65c2c60c4ee5169bc53706f24a8bc625/addons/hr_expense/models/hr_expense_sheet.py#L725-L732
After applying this commit, it will resolve this issue by filtering records with date and then the max function is used to get the maximum date.
sentry-5616738740
Forward-Port-Of: odoo/odoo#173613**Current behavior:** Having a batch transfer with 2+ delivery pickings, opening the choose package wizard and filling out the package type will not accurately display the shipping weight for the whole batch. **Expected behavior:** The weight displayed on the wizard form should reflect the weight of the package plus all product that will be put inside it from the batch. **Steps to reproduce:** 1. Enable packs in settings, create a package type with a base weight of 1 unit and some produ
Original PR description
**Current behavior:** Having a batch transfer with 2+ delivery pickings, opening the choose package wizard and filling out the package type will not accurately display the shipping weight for the…
**Current behavior:** Having a batch transfer with 2+ delivery pickings, opening the choose package wizard and filling out the package type will not accurately display the shipping weight for the whole batch. **Expected behavior:** The weight displayed on the wizard form should reflect the weight of the package plus all product that will be put inside it from the batch. **Steps to reproduce:** 1. Enable packs in settings, create a package type with a base weight of 1 unit and some product with a weight of 1 unit 2. Create two delivery transfers with some carrier (e.g, local delivery) each with 1 of the created product 3. Add the two pickings to a new batch, on the batch click the `Put in Pack` button and select the created package type 4. Observe that in the form, only one of the products from the batch transfer has been used to calculate the shipping weight **Cause of the issue:** In `shipping_weight`'s compute function in the `ChooseDeliveryPackage` wizard, we don't account for a batch package (like what is done in `action_put_in_pack()` defined on this wizard). Thus, one of the move lines in the batch is not used in the weight calculation. **Fix:** Look at the context to see if the user is packing a batch and if so, get all the involved move lines from it. opw-4077546 Forward-Port-Of: odoo/odoo#177022
Currently there might be a line break after the phone marker in the contact widget. It depends on the document layout and the length of the phone number. After this commit the line break does not happen anymore. (In commit cbcda0b222b17312b9e42e23801a330f0030033f line breaks inside phone numbers were removed.) To reproduce: 1. Ensure Purchase app is installed 2. Settings -> Configure Document Layout - layout: boxed - font: Oswald - paper format: A4 3. Edit some partner t
Original PR description
Currently there might be a line break after the phone marker in the contact widget. It depends on the document layout and the length of the phone number. After this commit the line break does not happen anymore. (In commit cbcda0b222b17312b9e42e23801a330f0030033f line breaks inside phone numbers were removed.) To reproduce: 1. Ensure Purchase app is installed 2. Settings -> Configure Document Layout - layout: boxed - font: Oswald - paper format: A4 3. Edit some partner to have a long phone number (E.g. via Purchase -> Orders (menu) -> Vendors) e.g. use: (870)-931-0505 12 12 12 12 4. Create a request for quotation / purchase order and select the partner from 3 as Vendor 5. Confirm the purchase order 6. Print the purchase order 7. There is a line break after the phone marker in the vendor address opw-3783870 opw-3970768 PR the mentioned commit belongs to: https://github.com/odoo/odoo/pull/166336 Forward-Port-Of: odoo/odoo#175693
Use the delivery date to fill the `FechaOperacion` and fall back to the invoice date if no delivery date is set. Steps: - Make an invoice with delivery_date != invoice_date != today - Send invoice to gouvernment - Download the xml generated - The field `FechaOperacion` is the invoice date instead of the delivery date opw-4072748 Forward-Port-Of: odoo/odoo#174677
Original PR description
Use the delivery date to fill the `FechaOperacion` and fall back to the invoice date if no delivery date is set. Steps: - Make an invoice with delivery_date != invoice_date != today - Send invoice to gouvernment - Download the xml generated - The field `FechaOperacion` is the invoice date instead of the delivery date opw-4072748 Forward-Port-Of: odoo/odoo#174677
Stock quants are not meant to be duplicated. This commit ensures that it is not possible to copy such records. opw-4035690 (cherry picked from commit 044210f6c7c4e539b8ebd41082c737e8bc91fd4e) --- In PR https://github.com/odoo/odoo/pull/172376 it was decided to not completely forbid quant duplication due to potential third party modules that could potentially use this feature. However, we see an increment of customer with an incorrect quantity in past history, or a discrepancy in v
Original PR description
Stock quants are not meant to be duplicated. This commit ensures that it is not possible to copy such records. opw-4035690 (cherry picked from commit 044210f6c7c4e539b8ebd41082c737e8bc91fd4e) --- In…
Stock quants are not meant to be duplicated. This commit ensures that it is not possible to copy such records. opw-4035690 (cherry picked from commit 044210f6c7c4e539b8ebd41082c737e8bc91fd4e) --- In PR https://github.com/odoo/odoo/pull/172376 it was decided to not completely forbid quant duplication due to potential third party modules that could potentially use this feature. However, we see an increment of customer with an incorrect quantity in past history, or a discrepancy in valuation and accounting because of this error. Unfortunately, it is incredibly easy to duplicate the quants by mistake, for example by miss-clicking when trying to export or update the inventory qty to 0 ...  Hence, even if it breaks some third party modules, it is imperative to prevent further quants duplication. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177584
It was possible to upload a file and decode it by attaching it to a message in the chatter (factur-x, ulb...), but not by attaching it directly to the invoice. This commit allows for the same behaviour in both ways. task-3997526 Forward-Port-Of: odoo/odoo#171393
Original PR description
It was possible to upload a file and decode it by attaching it to a message in the chatter (factur-x, ulb...), but not by attaching it directly to the invoice. This commit allows for the same behaviour in both ways. task-3997526 Forward-Port-Of: odoo/odoo#171393
Steps to reproduce: ------------------- - Have xlrd >= 2.0 and openpyxl 3.1.2 - Using the base_import module, import an XLSX file with empty cells - You will notice that all empty cells are read as "None" - Click on test, will give this error : "Column debit contains incorrect values (value: None)" Cause: ----- Since (#169245) openpyxl is used instead of xlrd for parsing xlsx files, the empty cells are parsed as None, not as empty string (as it was in xlrd). then this None is cast to t
Original PR description
Steps to reproduce: ------------------- - Have xlrd >= 2.0 and openpyxl 3.1.2 - Using the base_import module, import an XLSX file with empty cells - You will notice that all empty cells are read as "None" - Click on test, will give this error : "Column debit contains incorrect values (value: None)" Cause: ----- Since (#169245) openpyxl is used instead of xlrd for parsing xlsx files, the empty cells are parsed as None, not as empty string (as it was in xlrd). then this None is cast to the string "None", causing issues. Fix: ----- An additional check added to check if the cell is empty (value is None) and set it as empty string. opw-4132402 Forward-Port-Of: odoo/odoo#177770
Create a new payslip Select Employee and contract Compute Sheet Create Draft Entry > Post Draft Entry Cancel payslip Issue: The system will attempt to reset to draft and unlink the associated invoice In some cases this is not ideal: due to regulations, we might need to preserve an audit trail to have auditable journal entries After this commit the system would unlink only draft entries and reverse already posted move, similar to what we do for expenses opw-4075244 Forward-Port-Of:
Original PR description
Create a new payslip Select Employee and contract Compute Sheet Create Draft Entry > Post Draft Entry Cancel payslip Issue: The system will attempt to reset to draft and unlink the associated invoice In some cases this is not ideal: due to regulations, we might need to preserve an audit trail to have auditable journal entries After this commit the system would unlink only draft entries and reverse already posted move, similar to what we do for expenses opw-4075244 Forward-Port-Of: odoo/enterprise#68833 Forward-Port-Of: odoo/enterprise#68044
Problem: When the user enable approval rules for confirming purchase orders, the approval message was not being translated to the user's preferred languages. Purpose: Since multiple users can be notified for the approval, it was discussed that translating the message to be in the language of the first user should help with the limitation. It will solve the bug in the case only one user needs to be notified. Steps to reproduce on Runbot: 1. Install Studio and purchase 2. create a purchase
Original PR description
Problem: When the user enable approval rules for confirming purchase orders, the approval message was not being translated to the user's preferred languages. Purpose: Since multiple users can be notified for the approval, it was discussed that translating the message to be in the language of the first user should help with the limitation. It will solve the bug in the case only one user needs to be notified. Steps to reproduce on Runbot: 1. Install Studio and purchase 2. create a purchase order without confirming it 3. Go into Studio and edit the "confirm order' button on the PO 4. Add 2 approval rules - notify User A with notification order 1 - notify User B whose language is not English with notification order 2 5. Confirm the PO and observe the message is sent in English opw-3932725 Forward-Port-Of: odoo/enterprise#64060
Steps to reproduce: [l10n_ec] - Create a credit note from the Bill journal - Set a foreign customer - Set a customized document number Issue: An error will be raised saying that the format is not correct But, as defined by VBE, "If a Credit Note is created from a Vendor Bill and the partner_id != "EC", [we should] allow the user to allocate any number without following the EC format." Solution: When we call `_format_document_number` we don't have any information about the initial
Original PR description
Steps to reproduce: [l10n_ec] - Create a credit note from the Bill journal - Set a foreign customer - Set a customized document number Issue: An error will be raised saying that the format is not correct But, as defined by VBE, "If a Credit Note is created from a Vendor Bill and the partner_id != "EC", [we should] allow the user to allocate any number without following the EC format." Solution: When we call `_format_document_number` we don't have any information about the initial move. Instead of using a context or adding new fields, we add a hook in which we can specify certain conditions to bypass the document check/formatting for localisations. We had to add `partner_id` to avoid the flow in wich the user set a foreign customer and a custom document type to change back the customer to an ecuadorian one; hence the second part of the test opw-3993305 Forward-Port-Of: odoo/enterprise#67589
Community PR: https://github.com/odoo/odoo/pull/175988 A user without any accounting access right set get an error when creating an invoice from a sale order. The user should be able to see the draft invoice when clicking on the 'Create Invoice' from a sale order, as it is the case without the l10n_cl_edi module. ### Steps to reproduce: - Install the 'l10n_cl_edi' module - As admin go to Settings > Manage Users, click on a User and, in Access Rights, change Accounting > Invoicing to noth
Original PR description
Community PR: https://github.com/odoo/odoo/pull/175988 A user without any accounting access right set get an error when creating an invoice from a sale order. The user should be able to see the draft…
Community PR: https://github.com/odoo/odoo/pull/175988 A user without any accounting access right set get an error when creating an invoice from a sale order. The user should be able to see the draft invoice when clicking on the 'Create Invoice' from a sale order, as it is the case without the l10n_cl_edi module. ### Steps to reproduce: - Install the 'l10n_cl_edi' module - As admin go to Settings > Manage Users, click on a User and, in Access Rights, change Accounting > Invoicing to nothing - (Make sure the User Type is Internal User) - Switch to this user - Go to Sales and create a new Quotation, confirm - Click on the 'Create Invoice' button - An access error appears because of 'l10n_cl.account.invoice.reference' ### Cause: The records of `l10n_cl.account.invoice.reference` are only readable by Accounting groups. ### Solution: Make the records of `l10n_cl.account.invoice.reference` accessible to all internal users. This will raise another access error for `l10n_latam.document.type`, so we also need to make them accessible (in community). ### Note: I noticed the access right of `l10n_cl.account.invoice.reference` were giving rights to `account.group_account_invoice` twice where I think the second time was supposed to be `account.group_account_manager`. I don't know if this is wanted but it doesn't make sense to have two lines for the same model and user group. I decided to only change `group_account_invoice` to `group_account_manager` so this PR is removing the write, create, unlink rights of `account.group_account_invoice`. opw-4078302 Forward-Port-Of: odoo/enterprise#68087
Problem: The SEPA configuration fields sepa_orgid_id and sepa_orgid_issr are reset when exporting and importing a partner (company) associated with a company. Steps to Reproduce: 1. Configure a "SEPA Credit Transfer (SCT)" for a company. 2. Export the partner related to the company. 3. Re-import the partner. 4. Check the SEPA configuration of the company; it is reset. Solution: To fix this, we need to prevent the SEPA configuration from being reset when it is already set. opw-3981
Original PR description
Problem: The SEPA configuration fields sepa_orgid_id and sepa_orgid_issr are reset when exporting and importing a partner (company) associated with a company. Steps to Reproduce: 1. Configure a "SEPA Credit Transfer (SCT)" for a company. 2. Export the partner related to the company. 3. Re-import the partner. 4. Check the SEPA configuration of the company; it is reset. Solution: To fix this, we need to prevent the SEPA configuration from being reset when it is already set. opw-3981278 Forward-Port-Of: odoo/enterprise#67424
The version of the csv is now 7.0. Adapt the headers to it, they must now all be present. The values don't seem to have changed, at least the ones required that we provide. task-4131986 Forward-Port-Of: odoo/enterprise#68853 Forward-Port-Of: odoo/enterprise#68796
Original PR description
The version of the csv is now 7.0. Adapt the headers to it, they must now all be present. The values don't seem to have changed, at least the ones required that we provide. task-4131986 Forward-Port-Of: odoo/enterprise#68853 Forward-Port-Of: odoo/enterprise#68796
When filling big numbers (10+ digits) in the input field with Actual Demand/Replenishment activated, the field limits itself to 38% of the cell width, which then crops the number inside. This fix replace the inline-flex by a normal flex, as well as removes the max-width. This way if Actual Demand/Replenishment is activated, it will be shown over 2 lines in the cell. fp-request Forward-Port-Of: odoo/enterprise#66164
Original PR description
When filling big numbers (10+ digits) in the input field with Actual Demand/Replenishment activated, the field limits itself to 38% of the cell width, which then crops the number inside. This fix replace the inline-flex by a normal flex, as well as removes the max-width. This way if Actual Demand/Replenishment is activated, it will be shown over 2 lines in the cell. fp-request Forward-Port-Of: odoo/enterprise#66164
Before the commit the [appointment single module build](https://runbot.odoo.com/runbot/build/66250461) is breaking due to query_count being more than 9 (11) The increase was introduced in b3487219c070cdc03c933d92bc0d362ad733e11f in `_unavailable_intervals_batch`. It wasn't detected because the are less queries in the standard build all modules installed) because of a warmer ormcache. (get_lang) This commit proposes to warmup the test in all case to avoid the extra queries when appointment
Original PR description
Before the commit the [appointment single module build](https://runbot.odoo.com/runbot/build/66250461) is breaking due to query_count being more than 9 (11) The increase was introduced in b3487219c070cdc03c933d92bc0d362ad733e11f in `_unavailable_intervals_batch`. It wasn't detected because the are less queries in the standard build all modules installed) because of a warmer ormcache. (get_lang) This commit proposes to warmup the test in all case to avoid the extra queries when appointment is installed alone, hopefully avoiding to miss the increased query count next time. Forward-Port-Of: odoo/enterprise#67769
Before this commit, the salesmen did not had the right group and the test crashed with the following error when the test was run without demo data: ``` FAIL: TestCommissions.test_commission_plan_rules_with_template Traceback (most recent call last): File "/data/build/enterprise/partner_commission/tests/test_commissions.py", line 221, in test_commission_plan_rules_with_template form.sale_order_template_id = so_template File "/data/build/odoo/odoo/tests/form.py", line 326, in __set
Original PR description
Before this commit, the salesmen did not had the right group and the test crashed with the following error when the test was run without demo data: ``` FAIL:…
Before this commit, the salesmen did not had the right group and the test crashed with the following error when the test was run without demo data:
```
FAIL: TestCommissions.test_commission_plan_rules_with_template
Traceback (most recent call last):
File "/data/build/enterprise/partner_commission/tests/test_commissions.py", line 221, in test_commission_plan_rules_with_template
form.sale_order_template_id = so_template
File "/data/build/odoo/odoo/tests/form.py", line 326, in __setattr__
self[field_name] = value
File "/data/build/odoo/odoo/tests/form.py", line 331, in __setitem__
assert field_info is not None, f"{field_name!r} was not found in the view"
AssertionError: 'sale_order_template_id' was not found in the view
```
runbot task: 70916 and 73195
https://runbot.odoo.com/web/#id=70916&view_type=form&model=runbot.build.error&menu_id=405&cids=1 https://runbot.odoo.com/web/#id=73195&view_type=form&model=runbot.build.error&menu_id=405&cids=1
Forward-Port-Of: odoo/enterprise#68829