Thursday, July 18, 2024
30 changes · saas-17.4
Enhancements to existing features
The web editor now shows muted checklist text only on the line currently being edited or selected. This makes checklist editing clearer and prevents placeholder-style text from appearing in unrelated lines.
Original PR description
Purpose: - Ensure that muted text is displayed exclusively on active lines while remaining absent from other lines. - Resolve the issue where muted text wasn't displaying on the checklist when the selection or cursor was on it. task-3875225
Resolved issues and error corrections
This fix updates an internal Point of Sale test helper so it only activates the refund action when the correct button state is available. It helps prevent unreliable automated test behavior, supporting smoother quality checks without changing the customer-facing sales flow.
Original PR description
Before this commit, the pos test helper was not working properly because trigger of refund button was `.ticket-screen .button.pay-order-button` Now the trigger is `.ticket-screen .btn-primary.pay-order-button`, it only allow the test to trigger the refund button when it is highlighted rb err: 68712, 68711
Miscellaneous changes
Before this commit, translations in data modules were not taken into account as there were not extracted nor loaded. This commit adds the possibility to add a i18n folder that contains the translations for the imported module task-3734243 To-do in master: - Merge `get_po_paths` and `get_po_paths_env` - Add an argument `env` to `_load_module_terms` so that `_import_module` (in base_import_module) calls `_load_module_terms` directly. Forward-Port-Of: odoo/odoo#173572 Forward-Port-Of: odoo
Original PR description
Before this commit, translations in data modules were not taken into account as there were not extracted nor loaded. This commit adds the possibility to add a i18n folder that contains the translations for the imported module task-3734243 To-do in master: - Merge `get_po_paths` and `get_po_paths_env` - Add an argument `env` to `_load_module_terms` so that `_import_module` (in base_import_module) calls `_load_module_terms` directly. Forward-Port-Of: odoo/odoo#173572 Forward-Port-Of: odoo/odoo#165449
This update adds a missing software dependency needed by passkey login support. It helps ensure installations and deployments include all required components so the login feature works reliably.
Original PR description
Py_webauthn depended on asn1crypto which was not in our dependency list.
The Planning Gantt view now shows its action buttons consistently with the updated control panel behavior on smaller screens. This prevents duplicate or misplaced buttons and provides a cleaner experience on tablets and compact displays.
Original PR description
With task-3336242, the control panel's dropdown button's display condition was changed from <= xl display to <= md display. Hence, this PR changes the display condition of buttons in the planning gantt view to align with this new behavior. The bootstrap classes that were used to attain this effect are now removed, replaced by a t-if="env.isSmall". This allows us to have only one of the two implementation present in the dom, and to change the display condition to <= md. task-4005521
Pivot tables in Documents Spreadsheet now consistently assign an aggregator to every measure, preventing missing or undefined calculation behavior. This helps keep spreadsheet pivot results reliable and avoids errors when users work with pivot measures.
Original PR description
Now the pivot's measures always have an aggragator, it cannot be undefined anymore. Task: [4052502](https://www.odoo.com/web#id=4052502&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
Current behavior: --- On a mobile phone, using Chrome, when scanning a barcode that begins with the FNC1 character, ']C1' will be added to the final code. Expected behavior: --- ']C1' should be removed from the final code Steps to reproduce: --- 1. On a mobile phone, with chrome 2. Go to the barcode module 3. Scan a barcode starting with FNC1 4. Code will begin with ]C1 Cause of the issue: --- https://github.com/odoo/odoo/blob/321d16950ee9dcf4d722ecbfe0a49ca8f7d855a6/addons
Original PR description
Current behavior: --- On a mobile phone, using Chrome, when scanning a barcode that begins with the FNC1 character, ']C1' will be added to the final code. Expected behavior: --- ']C1' should be removed from the final code Steps to reproduce: --- 1. On a mobile phone, with chrome 2. Go to the barcode module 3. Scan a barcode starting with FNC1 4. Code will begin with ]C1 Cause of the issue: --- https://github.com/odoo/odoo/blob/321d16950ee9dcf4d722ecbfe0a49ca8f7d855a6/addons/web/static/lib/zxing-library/zxing-library.js#L6928 zxing-library is adding ']C1' to barcodes starting with a FNC1 character opw-3853913 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#163404
This commits only just add partnerlist tour methods required for this fix https://github.com/odoo/enterprise/pull/65762 opw-3925397 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172744 Forward-Port-Of: odoo/odoo#171260
Original PR description
This commits only just add partnerlist tour methods required for this fix https://github.com/odoo/enterprise/pull/65762 opw-3925397 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172744 Forward-Port-Of: odoo/odoo#171260
There is currently an issue with the `report_stock_quantity` SQL view. When there is only 1 `stock_warehouse` in a given database and `pg_stats` for `stock_warehouse` is up-to-date, the query plan for scanning the `all_sm` cte (the `existing_sm` cte is always inlined) becomes extremely bad. That's because postgres somehow expects only 1 row returned by the `all_sm` cte whereas in real databases it can be closer to 500 000. This makes postgres plan a Nested Loop Join that has very bad performance
Original PR description
There is currently an issue with the `report_stock_quantity` SQL view. When there is only 1 `stock_warehouse` in a given database and `pg_stats` for `stock_warehouse` is up-to-date, the query plan…
There is currently an issue with the `report_stock_quantity` SQL view. When there is only 1 `stock_warehouse` in a given database and `pg_stats` for `stock_warehouse` is up-to-date, the query plan for scanning the `all_sm` cte (the `existing_sm` cte is always inlined) becomes extremely bad. That's because postgres somehow expects only 1 row returned by the `all_sm` cte whereas in real databases it can be closer to 500 000. This makes postgres plan a Nested Loop Join that has very bad performances in large databases. Another weird side-effect of this is the production vs staging (duplicate) on Odoo.sh. Because stagings and duplicates don't necessarily have up-to-date statistics, you can have the same query being very slow on the production database and very fast on a staging. That's because in the absence of statistics for the stock_warehouse table, postgres does not make any particular assumption on the number of rows returned by the `all_sm` cte and therefore produces a more efficient plan. This commit tries to change that by introducing a new small CTE that simply does a LEFT JOIN between `stock_location` and `stock_warehouse`. Because this CTE is referenced twice in the `existing_sm` CTE, it will be materialized by postgres, i.e. evaluated first before being saved in memory for further usage. Thanks to that, postgres knows the expected number of rows of the CTE and can better plan the outer query's execution. #### speedup Customer database with 17 000 products, 700 000 stock.moves, 97 locations and 1 stock_warehouse. Doing a simple GROUP BY query on `report_stock_quantity`: 5min -> 1s ##### dalibo To understand the dalibo, currently there is a workaround for this issue. If we add (and archive) a new `stock_warehouse` and then analyze the table, postgres plans an efficient plan. My guess here is that with only 1 record postgres skews the plan, probably because it tries to shortcut parts of the query execution. When there are 2 or more warehouses it cannot do that anymore and simply relies on correct statistics to plan the execution. Another possibility would be that statistics for tables with only 1 row are badly used by postgres. In any case, the point of the new CTE is to match the 2 or more warehouses case when postgres plans the scanning of the `all_sm` CTE. - [1 warehouse, base case](https://explain.dalibo.com/plan/a8fagdgd2d20ae48) - [2 warehouses, base case](https://explain.dalibo.com/plan/2d38fb9ef6df495g) - [1 warehouse, new CTE case](https://explain.dalibo.com/plan/92e41053c9g0ce8d) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172439 Forward-Port-Of: odoo/odoo#169401
**Current behavior before PR:** In mobile view, whatsapp tab had no search button. **Desired behavior after PR is merged:** In mobile view, added a search button to find whatsapp channel. task-id:3525542 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167675 Forward-Port-Of: odoo/odoo#159461
Original PR description
**Current behavior before PR:** In mobile view, whatsapp tab had no search button. **Desired behavior after PR is merged:** In mobile view, added a search button to find whatsapp channel. task-id:3525542 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167675 Forward-Port-Of: odoo/odoo#159461
Currently, invoices cannot be sent to TicketBAI if the invoice sequence does not end with `/<sequence_number>`. ### Steps to Reproduce * Install `l10n_es_edi_tbai`. * Ensure your invoice has a sequence that does not contain a `/`. * Attempt to send the invoice through TicketBAI. A traceback error occurs: `ValueError: not enough values to unpack (expected 2, got 1)` ### Cause When parsing invoice sequence numbers for TicketBAI, the system splits the sequence number by the rightm
Original PR description
Currently, invoices cannot be sent to TicketBAI if the invoice sequence does not end with `/<sequence_number>`. ### Steps to Reproduce * Install `l10n_es_edi_tbai`. * Ensure your invoice has a sequence that does not contain a `/`. * Attempt to send the invoice through TicketBAI. A traceback error occurs: `ValueError: not enough values to unpack (expected 2, got 1)` ### Cause When parsing invoice sequence numbers for TicketBAI, the system splits the sequence number by the rightmost `/`. This fails when the sequence number does not contain a `/`. opw-3959956 Forward-Port-Of: odoo/odoo#168654
When changing the destination location on a picking, it will also be updated on the included stock moves and stock move lines. However, due the introduction of the compute on the location_dest_id field on a stock move in [1], this propagation no longer works. This commit restores the updating of the stock moves when changing it on the parent picking. [1] https://github.com/odoo/odoo/pull/156437 task-3390325 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.c
Original PR description
When changing the destination location on a picking, it will also be updated on the included stock moves and stock move lines. However, due the introduction of the compute on the location_dest_id field on a stock move in [1], this propagation no longer works. This commit restores the updating of the stock moves when changing it on the parent picking. [1] https://github.com/odoo/odoo/pull/156437 task-3390325 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#167488
## Issue: Right now we will be showing as Attemtps (under the website profile in attempts tab) any attempt, even whe we didn't even started the certification yet. ## Steps to reproduce: 1. Install website_slide_survey. 2. Create or go to an existing course logged in. 3. Create or use an exsiting certigication and press the 'Begin certification' and don't start the certification after the redirect. 4. Go to your profile and check for the attemtps. ## Solution: It will make more
Original PR description
## Issue: Right now we will be showing as Attemtps (under the website profile in attempts tab) any attempt, even whe we didn't even started the certification yet. ## Steps to reproduce: 1. Install website_slide_survey. 2. Create or go to an existing course logged in. 3. Create or use an exsiting certigication and press the 'Begin certification' and don't start the certification after the redirect. 4. Go to your profile and check for the attemtps. ## Solution: It will make more sense that we only show the actual attempts, which means that we shouldn't show here the attempts that are not finished, since how user_inputs works and are always created at the time of the link creation, we could just filter out the user_inputs that are not actually valid to show here and show only the proper ones. opw-3781323 Forward-Port-Of: odoo/odoo#161456
### Issue: The `test_backorder_batching_2` is failling on the nightly community build of 17.0 because the order of the final records is not the same. ### Fix: The problematic assert on the product identity was not important and has been removed. Follow up of commit 386b32e --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171623 Forward-Port-Of: odoo/odoo#171547
Original PR description
### Issue: The `test_backorder_batching_2` is failling on the nightly community build of 17.0 because the order of the final records is not the same. ### Fix: The problematic assert on the product identity was not important and has been removed. Follow up of commit 386b32e --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#171623 Forward-Port-Of: odoo/odoo#171547
Issue ---- Demo data company data contains a phone number of a real person, who receives phone calls from people asking to buy stuff :) note: extension of 05f344b6a0b4cd71b4d0f0abcb4825856fdf4edc after finding the number is in other views as well. Steps ---- Number is available on website footer. Cause ---- A real number is used in demo data. opw-3853066 Forward-Port-Of: odoo/odoo#173235 Forward-Port-Of: odoo/odoo#171192
Original PR description
Issue ---- Demo data company data contains a phone number of a real person, who receives phone calls from people asking to buy stuff :) note: extension of 05f344b6a0b4cd71b4d0f0abcb4825856fdf4edc after finding the number is in other views as well. Steps ---- Number is available on website footer. Cause ---- A real number is used in demo data. opw-3853066 Forward-Port-Of: odoo/odoo#173235 Forward-Port-Of: odoo/odoo#171192
16.0 update changes the back-end design interpretation, leading to a width display issue with mailing_list_view_form_simplified. I remove some useless <group> tags in order to fix the width of the fields in the form task-4042993 Forward-Port-Of: odoo/odoo#173348
Original PR description
16.0 update changes the back-end design interpretation, leading to a width display issue with mailing_list_view_form_simplified. I remove some useless <group> tags in order to fix the width of the fields in the form task-4042993 Forward-Port-Of: odoo/odoo#173348
Problem: When registering for an Event, an `event.registration record` is created. Odoo will send a reminder email to these registered customers using the `Event: Reminder` email template. This template uses the `get_date_range_str` method inside `event.registration` to calculate what the start date (`event_begin_date`) is and then decides which dynamic string to use (today, tomorrow, etc). However, this field is stored in UTC and uses a separate `date_tz` field to calculate what timezone shoul
Original PR description
Problem: When registering for an Event, an `event.registration record` is created. Odoo will send a reminder email to these registered customers using the `Event: Reminder` email template. This…
Problem: When registering for an Event, an `event.registration record` is created. Odoo will send a reminder email to these registered customers using the `Event: Reminder` email template. This template uses the `get_date_range_str` method inside `event.registration` to calculate what the start date (`event_begin_date`) is and then decides which dynamic string to use (today, tomorrow, etc). However, this field is stored in UTC and uses a separate `date_tz` field to calculate what timezone should be used. This `date_tz` context is missing, leading to emails with the wrong subject and body content. Purpose: Pass in the event's timezone to ensure that calculations involving the date_begin field display correctly. Steps to Reproduce: 1) Create an Event 2) Set the timezone to America/Los Angeles 3) Set the times to 6:00 pm - 10:00pm (leading to different day in UTC compared to PST) 4) Register customers to create `event.registration` records 5) Trigger `get_date_range_str` function, either via Email Template or SA 6) Check which string is returned based on time delta opw-3993058 Forward-Port-Of: odoo/odoo#172599 Forward-Port-Of: odoo/odoo#169682
This fixes the syntax error on function _perform_analytic_distribution of the model AccountAnalyticAccount. opw-3907439 Description of the issue/feature this PR addresses and current behavior before PR: - The _perform_analytic_distribution function on model AccountAnalyticAccount has a syntax error causing a UnboundLocalError Desired behavior after PR is merged: - No UnboundLocalError --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr For
Original PR description
This fixes the syntax error on function _perform_analytic_distribution of the model AccountAnalyticAccount. opw-3907439 Description of the issue/feature this PR addresses and current behavior before PR: - The _perform_analytic_distribution function on model AccountAnalyticAccount has a syntax error causing a UnboundLocalError Desired behavior after PR is merged: - No UnboundLocalError --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172845 Forward-Port-Of: odoo/odoo#168582
Description of the issue/feature this PR addresses: Translations added with https://github.com/odoo/odoo/commit/e76453bf869f0a5bc2edfe861d3628b6695a205b contains unicode \u00a0 which are rendered as \u00a0 on PDF Current behavior before PR: PDF show the unicode characters  Desired behavior after PR is merged: no more unicode characters --- I confirm I have signed the CLA and read the PR
Original PR description
Description of the issue/feature this PR addresses: Translations added with https://github.com/odoo/odoo/commit/e76453bf869f0a5bc2edfe861d3628b6695a205b contains unicode \u00a0 which are rendered as \u00a0 on PDF Current behavior before PR: PDF show the unicode characters  Desired behavior after PR is merged: no more unicode characters --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172490
Fix for 17.1 and 17.2 only Problem: en_US data is loaded while the user uses another language Steps to reproduce: - Install "point_of_sale" app and "pos_loyalty" module - Change the language (e.g. to french) - Go to POS -> Products -> Discount & Loyalty - Create a new Loyalty Card - In Rewards, set a discount of 20 $ on order and save - Go to the shop and select a partner and a product (price must be expensive enough for the loyalty card to be applicable) - Click on "Reward", the e
Original PR description
Fix for 17.1 and 17.2 only Problem: en_US data is loaded while the user uses another language Steps to reproduce: - Install "point_of_sale" app and "pos_loyalty" module - Change the language (e.g. to…
Fix for 17.1 and 17.2 only Problem: en_US data is loaded while the user uses another language Steps to reproduce: - Install "point_of_sale" app and "pos_loyalty" module - Change the language (e.g. to french) - Go to POS -> Products -> Discount & Loyalty - Create a new Loyalty Card - In Rewards, set a discount of 20 $ on order and save - Go to the shop and select a partner and a product (price must be expensive enough for the loyalty card to be applicable) - Click on "Reward", the earlier created reward is there - Go back to the form of the loyalty card and change the value and save - Go back to the shop - Click on "Reward" and the name of the loyalty card is still the same as before while it should be for the new price Note: This error has been already fixed but this commit generalize the solution to all the params. So the previous fix is replaced by this one. See this PR for the previous fix and the test: https://github.com/odoo/odoo/pull/171049 Solution: Set the environment context for each data param so that the language is loaded by creating a wrapper. Only apply a context if some has not already been defined for specific cases where a different context is needed. "_load_data_params_with_context" replaces "_load_data_params" only where the context is used to keep a bit of optimization. opw-4039850 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#173486 Forward-Port-Of: odoo/odoo#172769
We get a singleton error in multicompany setup when opening the accounting dashboard Steps: - Have at least two companies, one with l10n_fr_reports installed - Select the two companies in the caompany selector - Go to accounting dashboard -> singleton error opw-4053554 Forward-Port-Of: odoo/enterprise#66866 Forward-Port-Of: odoo/enterprise#66757
Original PR description
We get a singleton error in multicompany setup when opening the accounting dashboard Steps: - Have at least two companies, one with l10n_fr_reports installed - Select the two companies in the caompany selector - Go to accounting dashboard -> singleton error opw-4053554 Forward-Port-Of: odoo/enterprise#66866 Forward-Port-Of: odoo/enterprise#66757
Before this commit, in about 8% of the time for some test tours, some edition of the report was triggered before the OdooEditor had a chance to start, so the concerned step failed. After this commit, there is no such race condition, as we add OdooEditor's specific class to the step selectors. runbot-error-29949 (and all linked error) Forward-Port-Of: odoo/enterprise#66859 Forward-Port-Of: odoo/enterprise#66815
Original PR description
Before this commit, in about 8% of the time for some test tours, some edition of the report was triggered before the OdooEditor had a chance to start, so the concerned step failed. After this commit, there is no such race condition, as we add OdooEditor's specific class to the step selectors. runbot-error-29949 (and all linked error) Forward-Port-Of: odoo/enterprise#66859 Forward-Port-Of: odoo/enterprise#66815
churned Before this commit, if a renewal was churned then canceled, the parent order was not reopened. taskid: 4024437 Forward-Port-Of: odoo/enterprise#65826
Original PR description
churned Before this commit, if a renewal was churned then canceled, the parent order was not reopened. taskid: 4024437 Forward-Port-Of: odoo/enterprise#65826
The settle due accounts was not always shown on the partner screen. Now it's always shown, and when the user doesn't have any amount due the text changes to "Deposit Money" instead of "Settle Due Accounts" Steps to reproduce: ------------------- * Install pos_settle_due module * Open PoS session * Open partner list * Click on details for any partner with no due > Observation: The "Settle Due Accounts" button is missing Why the fix: ------------ We always show the button, but change
Original PR description
The settle due accounts was not always shown on the partner screen. Now it's always shown, and when the user doesn't have any amount due the text changes to "Deposit Money" instead of "Settle Due Accounts" Steps to reproduce: ------------------- * Install pos_settle_due module * Open PoS session * Open partner list * Click on details for any partner with no due > Observation: The "Settle Due Accounts" button is missing Why the fix: ------------ We always show the button, but change the text to better match the behavior. If there is no amount due the text says "Deposit Money" and when the user has some amount due it says "Settle Due Accounts" opw-3925397 Forward-Port-Of: odoo/enterprise#66486 Forward-Port-Of: odoo/enterprise#65762
When a user tries to validate an invoice of the refunded order a traceback will occur. Steps to produce: - Install 'l10n_mx_edi_pos' module. - Switch to a company whose country code is 'MX'(Mexico). - Open 'Point of Sale' and New Session. - Select any products > payment > Select payment method > Invoice > Select customer > Validate. - Click on 'Next Order'. - Click on 'Refund and select your order. - Click on refund > payment > Select payment method > Invoice > Validate. - Error wil
Original PR description
When a user tries to validate an invoice of the refunded order a traceback will occur. Steps to produce: - Install 'l10n_mx_edi_pos' module. - Switch to a company whose country code is 'MX'(Mexico).…
When a user tries to validate an invoice of the refunded order a traceback will occur.
Steps to produce:
- Install 'l10n_mx_edi_pos' module.
- Switch to a company whose country code is 'MX'(Mexico).
- Open 'Point of Sale' and New Session.
- Select any products > payment > Select payment method > Invoice > Select customer > Validate.
- Click on 'Next Order'.
- Click on 'Refund and select your order.
- Click on refund > payment > Select payment method > Invoice > Validate.
- Error will be generated.
Traceback on sentry:
```
TypeError: can only concatenate str (not "bool") to str
File "odoo/http.py", line 2252, in __call__
response = request._serve_db()
File "odoo/http.py", line 1828, in _serve_db
return self._transactioning(_serve_ir_http, readonly=ro)
File "odoo/http.py", line 1848, 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 1826, in _serve_ir_http
return self._serve_ir_http(rule, args)
File "odoo/http.py", line 1833, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2058, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 222, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 740, 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.1/l10n_mx_edi_pos/models/pos_order.py", line 108, in action_pos_order_invoice
action_values = super().action_pos_order_invoice()
File "addons/point_of_sale/models/pos_order.py", line 856, in action_pos_order_invoice
res = self._generate_pos_order_invoice()
File "addons/point_of_sale/models/pos_order.py", line 873, in _generate_pos_order_invoice
move_vals = order._prepare_invoice_vals()
File "addons/pos_sale/models/pos_order.py", line 32, in _prepare_invoice_vals
invoice_vals = super(PosOrder, self)._prepare_invoice_vals()
File "home/odoo/src/enterprise/saas-17.1/l10n_mx_edi_pos/models/pos_order.py", line 150, in _prepare_invoice_vals
vals['l10n_mx_edi_cfdi_origin'] = '03|' + self.refunded_order_id.account_move.l10n_mx_edi_cfdi_uuid
```
This is because 'l10n_mx_edi_cfdi_uuid' is empty at [1] and a string concatenate with it.
link [1]: https://github.com/odoo/enterprise/blob/1502f8b3e519d41f4a58e2acc846f315f6f5eeda/l10n_mx_edi_pos/models/pos_order.py#L150
This commit solves the above issue while checking the existence of
'l10n_mx_edi_cfdi_uuid' while creating the invoice for refund_order
sentry-4935781389
Forward-Port-Of: odoo/enterprise#64038
Forward-Port-Of: odoo/enterprise#59873**Current behavior before PR:** In mobile view, whatsapp tab had no search button. **Desired behavior after PR is merged:** In mobile view, added a search button to find whatsapp channel. task-id:3525542 Forward-Port-Of: odoo/enterprise#63680 Forward-Port-Of: odoo/enterprise#59530
Original PR description
**Current behavior before PR:** In mobile view, whatsapp tab had no search button. **Desired behavior after PR is merged:** In mobile view, added a search button to find whatsapp channel. task-id:3525542 Forward-Port-Of: odoo/enterprise#63680 Forward-Port-Of: odoo/enterprise#59530
**Steps to reproduce**: - Create an MO for Stool - In the shop floor, open the "assembly" step of the created WO **Currently**: scanning barcode for back/skip does not do anything. **After this commit**: scanning the barcode executes the expected command. task-4047193 Forward-Port-Of: odoo/enterprise#66617 Forward-Port-Of: odoo/enterprise#66579
Original PR description
**Steps to reproduce**: - Create an MO for Stool - In the shop floor, open the "assembly" step of the created WO **Currently**: scanning barcode for back/skip does not do anything. **After this commit**: scanning the barcode executes the expected command. task-4047193 Forward-Port-Of: odoo/enterprise#66617 Forward-Port-Of: odoo/enterprise#66579
In [1], a limit was introduced to the amount of records that can be displayed at the same time in the shop floor app. However, it was not always very clear to the user that they may only be viewing a subset of the available records. It was also impossible to show any records beyond the first 40 that conform to the filter criteria. In this commit, we introduce a pager to resolve these issues. The pager will only be displayed when relevant (ie when not all available records are displayed). Usin
Original PR description
In [1], a limit was introduced to the amount of records that can be displayed at the same time in the shop floor app. However, it was not always very clear to the user that they may only be viewing a subset of the available records. It was also impossible to show any records beyond the first 40 that conform to the filter criteria. In this commit, we introduce a pager to resolve these issues. The pager will only be displayed when relevant (ie when not all available records are displayed). Using this new pager it is also possible for the user to dynamically increase or decrease the default limit of 40, which was not possible before. [1] https://github.com/odoo/enterprise/pull/64551 (and forward ports) Forward-Port-Of: odoo/enterprise#66740 Forward-Port-Of: odoo/enterprise#65995
With odoo/odoo#138937, making these declarations in enterprise isn't required anymore and everything can be centralized in community The expense/revenue deferred account declarations will be created in community in odoo/odoo#173370 meaning this should now be removed from enterprise task-383985 Forward-Port-Of: odoo/enterprise#66763
Original PR description
With odoo/odoo#138937, making these declarations in enterprise isn't required anymore and everything can be centralized in community The expense/revenue deferred account declarations will be created in community in odoo/odoo#173370 meaning this should now be removed from enterprise task-383985 Forward-Port-Of: odoo/enterprise#66763
- Go to Dashboards > Configuration > Dashboards - Open the Human Resources section - Open the payroll dashboard - Open the Period filter configuration panel - the field matching period offset of pivot 3 and 4 are inverted. In the Data sheet, the column named "current" (pivot 3) is filtering on previous, and the one called "previous" (pivot 4) is not filtering on anything. Note that this fix is only active on new databases or if the dashboard is deleted then the module "spreadsheet_das
Original PR description
- Go to Dashboards > Configuration > Dashboards - Open the Human Resources section - Open the payroll dashboard - Open the Period filter configuration panel - the field matching period offset of pivot 3 and 4 are inverted. In the Data sheet, the column named "current" (pivot 3) is filtering on previous, and the one called "previous" (pivot 4) is not filtering on anything. Note that this fix is only active on new databases or if the dashboard is deleted then the module "spreadsheet_dashboard_hr_payroll" is updated. Task: 4056412 Forward-Port-Of: odoo/enterprise#66760