Thursday, September 7, 2023
65 changes · master
New functionality added to Odoo
Thai localization now supports PromptPay QR codes on invoices, making it easier for customers in Thailand to pay quickly via supported banking apps. This improves invoice payment convenience and helps businesses streamline payment collection.
Original PR description
Impacted Version: - 17.0 and above This commit improve below features: - Add PromptPay QR code payment for invoice based on below github repository https://github.com/kittinan/thai-qr-payment task-3165449
Sales teams can now offer optional product add-ons as simple checkboxes, with each selected option adding its own extra price. This makes it easier to sell customizable extras without creating separate product variants, while keeping the selected options visible on sales documents.
Original PR description
Currently there is no efficient way to suggest extra-options to customers in PoS or eCommerce. Extra options should be easily selected by customers (or PoS waiters) with checkbox. Each checked option would add an extra-price to the product price and appear on tickets, receipts, invoices, kitchen display, ... This commit introduces a new type of attribute: multi-checkbox. This will not create product variants. A default extra-cost is defined at the attribute level, but it can be changed at the product level. The new attribute is available in Sales, not yet in eCommerce and PoS (will be in a future task). task-3256585
Enhancements to existing features
Accounting now includes validation helpers for structured payment references used in Belgium, Finland, Norway, Sweden, and ISO formats. This improves payment communication accuracy and supports more country-specific banking requirements for SEPA-related workflows.
Original PR description
Add helper functions to check structured communication references for ISO (existing), Belgium, Finland, Norway and Sweden. [task-3284330](https://www.odoo.com/web#id=3284330&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) Related to https://github.com/odoo/enterprise/pull/41629 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
Fixed how Point of Sale order dates are prepared so they use the format expected by the system. This helps prevent issues when retrieving or processing sales tickets, including restaurant orders, caused by incompatible date values.
Original PR description
Before this commit ================== Previously, the order date was being passed in the incorrect format: 'Fri Aug 04 2023 18:37:27 GMT+0530 (India Standard Time)'. Our code requires the format 'yyyy-MM-dd HH:mm:ss'." After this commit ================= Implemented changes to rectify the order date format, ensuring compatibility with 'yyyy-MM-dd HH:mm:ss'. This update includes adjustments to the processing flow to precise handling of order dates. task - 3451384
Code cleanup and technical improvements
Odoo is standardizing how dates are handled by replacing the older Moment library with Luxon. This helps reduce loaded assets and simplifies ongoing maintenance without changing core business workflows.
Original PR description
luxon and moment are both used in the solution, but these two libraries facilitate the manipulation of dates. It was decided to replace all uses of moment with luxon so we can then remove moment.js from the code and lighten the assets. task-3391739 PR Ent : https://github.com/odoo/enterprise/pull/46987
Miscellaneous changes
When a user tries to import the CSV file with a different separator at that time, the values in mapper and rows_to_import are not correctly mapped. So the traceback will be generated. Steps to reproduce: 1. Click on import in the bank statement. 2. Select any CSV file for the bank statement line or can download and import this file https://drive.google.com/file/d/1lnScw4RN6T01pOkyNON8vvb3FQOPiy1O/view?usp=drive_link 3. Select any separator other than a comma. 4. Click on the test or Impor
Original PR description
When a user tries to import the CSV file with a different separator at that time, the values in mapper and rows_to_import are not correctly mapped. So the traceback will be generated. Steps to…
When a user tries to import the CSV file with a different separator at that time, the values in mapper and rows_to_import are not correctly mapped. So the traceback will be generated.
Steps to reproduce:
1. Click on import in the bank statement.
2. Select any CSV file for the bank statement line or can download and import this file https://drive.google.com/file/d/1lnScw4RN6T01pOkyNON8vvb3FQOPiy1O/view?usp=drive_link
3. Select any separator other than a comma.
4. Click on the test or Import button.
5. Error will occur.
Error:
```
File "odoo/http.py", line 2123, in __call__
response = request._serve_db()
File "odoo/http.py", line 1699, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1726, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1927, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 190, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 716, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 30, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 26, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "home/odoo/src/enterprise/saas-16.3/account_bank_statement_import_csv/wizard/account_bank_statement_import_csv.py", line 110, in execute_import
res = super().execute_import(fields, columns, options, dryrun=dryrun)
File "addons/base_import/models/base_import.py", line 1307, in execute_import
input_file_data, import_fields = self._convert_import_data(fields, options)
File "addons/base_import/models/base_import.py", line 1052, in _convert_import_data
data = [
File "addons/base_import/models/base_import.py", line 1052, in <listcomp>
data = [
IndexError: list index out of range
```
To solve this issue, a row's length of the given file is checked with the number of fields.
sentry-4021250095
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#134518
Forward-Port-Of: odoo/odoo#131153Event attendees can now open tickets directly in a responsive web page and download tickets more easily from emails and confirmation pages. The ticket layout is simplified for better printing and clearer attendee details, reducing friction after registration or purchase.
Original PR description
The tickets are reworked, made easier to print and have their structure reworked for qr code addition (in ENT branch). Also they are easier to download as buttons are added to do so. 1. Design…
The tickets are reworked, made easier to print and have their structure reworked for qr code addition (in ENT branch). Also they are easier to download as buttons are added to do so. 1. Design Tickets have their background removed in order to ease their printing. More room is given to details, the design is simplified. New SIMPLIFIED TICKET The confirmation email will now contain a link "See tickets" leading to a new version of the full page ticket, called "simplified". It does not generate / download PDF but rather leads to a rendered qweb html page, with design working properly on different screen sizes. The design is a tweaked version of the full_page ticket template. It allows user to see their ticket directly without needing a pdf viewer. 2. Download Tickets Buttons "Download / See Tickets" Buttons are added in - Email Templates (Ticket and Badge) - The SO confirmation (if payment). All tickets, per event. - The registration confirmation (if no payment). All tickets in the same PDF. They are for the same event. In order to access tickets, a route event/tickets_dl is added in the controller. It takes an event_id, registration_ids and a hash based on those plus the database secret using tools.hmac. The groundtruth hash is obtained for given registration ids in the method _get_tickets_dl_access_hash on event.event. The route is used in all places listed above. The hash must be valid and attendees must exist. No condition on payment is set in tickets_dl as we want the download tickets link to work for non-free tickets as well at the end of the sale process, and as the sale order could not be linked to any invoice at that stage (if automatic invoices is not set in the settings), registrations being 'not paid' at that point. This could be cleaned in further work as different states are to be clarified. The route must be public as it must work even for public users. (from email or as public user registering on front-end) 3. Email Templates In order to have similar mail templates for badge and tickets, Registration Badge content is duplicated from Registration Confirmation and slightly tweaked, replacing existing body. Also, the info of the payment / order moved from full page ticket to the body of the confirmation email. 4. Sending Tickets On Payment In order to ease the process to find tickets when they are linked to the sale order, they are now sent on payment. When an invoice is paid, we check on potential linked sale order lines if there are linked event registrations. If so, a message is posted on the SO record, sent to the associated partner, with pdf attachments: 1 per event, with all tickets. A comment message is used so that the tikets and comment can be found on the portal chatter of the SO as well, for portal users. PR ENT - https://github.com/odoo/enterprise/pull/41164 PR UPG - https://github.com/odoo/upgrade/pull/5007 Task-3061851
The accounting dashboard wording is updated so cash journals use clearer terminology instead of language that could be confused with bank statements. This helps users distinguish cash and bank journal concepts more easily in day-to-day accounting workflows.
Original PR description
To avoid confusion between the concepts of journal cash and bank , I propose a change in terminology for the type of journal cash. 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
Products created or linked through POS combos are now available in the Point of Sale by default, reducing setup steps for staff. The update also prevents combo-related products from being disabled in POS, helping avoid broken combo offers during sales.
Original PR description
Products can be created directly from the `pos.combo` view. Before this PR, such products would not be automatically available in the POS app. This PR makes it so products linked to combos are available in POS by default. We also introduce an additional check that makes it so products associated to combos cannot be disabled in the pos. Task: 3481899 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Live chat sessions embedded on websites now use guest visitor records instead of broader public-user handling. This makes visitor conversations cleaner and more consistent across live chat, mail, CRM live chat, and website live chat flows.
Original PR description
*: mail, test_discuss_full, website_livechat. part of task-3332628 enterprise: https://github.com/odoo/enterprise/pull/45767 upgrade: https://github.com/odoo/upgrade/pull/5049
The website editor now lets users drag and drop content blocks within editable areas, making it easier to place new content between blocks that cannot be edited directly. This improves page editing workflows for cases like separators or template blocks where cursor placement was previously difficult.
Original PR description
- [REF] web_editor,mass_mailing,website: make `closestElement` support `predicate` - [REF] web_editor: prepare absolute containers for the movable node - [IMP] web_editor: drag and drop nodes within the editable PURPOSE The main reason is that when there are two block side by side that are not editable (eg. the `HR` tag, the `/template` block), it is impossible to set the cursor in between to add more content. task-2984709 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now adjust the order of product attributes after adding them to a product. This makes product setup more flexible and helps businesses present product options in the preferred sequence.
Original PR description
Currently the user cannot modify the order as he adds new attribute to the product .In this commit he will be able to do that task-3451377 Desc
Sales and inventory settings now include Shiprocket as a third-party shipping connector. This makes it easier for businesses using Shiprocket to discover and configure shipping integration options from Odoo settings.
Original PR description
Shiprocket added in settings as a third-party shipping connector. task-3071078 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Chat windows can now be scrolled with common keyboard keys such as Page Up, Page Down, Home, and End. This makes conversations easier to navigate and improves accessibility for users who rely on keyboard controls.
Original PR description
Before this PR, it was not possible to scroll a chat window using page down/page up, home or end keys. This is because the thread component that is scrollable cannot became an activeElement. This PR fix this by adding a tabindex="0" on the scrollable element. Task-3468978
This update removes an old helper that was only used by legacy web tests. The affected tests have been moved to the newer WOWL approach, reducing maintenance overhead without changing business-facing behavior.
Original PR description
This util was used in : - owl_dialog_tests - field_one2many_tests - relational_fields_tests - gantt_tests (enterprise) These files are now converted to WOWL. 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
Expense receipts are now easier to read by showing the expense name alongside the filename and improving how receipt previews are positioned. This helps employees and approvers quickly identify and review receipts without visual overlap or hidden titles.
Original PR description
The goal of this PR is to improve the readability of expense receipts on hr_expense and hr_expense_sheet. This PR do the following: - Add the expense name next to the filename - Vertically center the receipt on both model (was previously done in hr_expense but not for the sheet) - Make sure the title doesn't get hidden by the image (was previously done in hr_expense but not for the sheet) Also, to achieve the first point we had to modify the attachment so that we can retrieve easily the information of which line the attachment is attached. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Point of Sale screens now use one shared number pad component instead of several separate versions. This makes the interface more consistent across POS, IoT payment flows, and restaurant preparation displays, while reducing maintenance effort and improving test reliability.
Original PR description
pos*: pos_iot, pos_restaurant_preparation_display
At the moment, the point_of_sale module has 3 different implementations of numpads. This is absurd. In this PR we unify them all into a single numpad component.
One of the reasons why there are multiple numpads is because each requires a slightly different set of buttons. The new `Numpad` component provides a simple API which allows the consumer to specify what the buttons should be.
This is done by proving the `buttons` prop, which has the following type:
```js
buttons: {
type: Array,
element: {
type: Object,
shape: {
value: String,
text: { type: String, optional: true },
class: { type: String, optional: true },
disabled: { type: Boolean, optional: true },
},
},
}
```
In this PR we also provide a simple set of helper functions for the tours and adapt all of the existing tests accordingly.
[Odoo: odoo/132245
](https://github.com/odoo/odoo/pull/132245)Task: 3470346Live chat visitors in the Helpdesk website flow are now treated as guests when interacting with chatbots and support ticket creation. This improves consistency for anonymous website users and helps ensure support conversations can be converted into tickets more reliably.
Original PR description
part of task-3332628 community: https://github.com/odoo/odoo/pull/129770/files
SEPA payment files now recognize structured payment references and place them in the correct section of the file. This improves compatibility with banking standards in supported countries and reduces the risk of payment processing issues caused by incorrectly formatted references.
Original PR description
When creating SEPA files to perform payments, we did not check for structured references and always put the reference in the `Ustrd` field in the SEPA xml file. This change makes sure we check whether the reference of a move is a structured reference (ISO CF, BE, CH, FI, NO or SE), and if so, add the reference in the right `Strd` field along with the correct tags for that type of structured reference. [task-3284330](https://www.odoo.com/web#id=3284330&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) Related to https://github.com/odoo/odoo/pull/122835
Event tickets and foldable badges now include QR codes alongside existing barcodes, making them easier to scan with smartphones. Ticket layouts have been adjusted to fit both codes, and sample tickets now show a default QR code.
Original PR description
As qr codes are simpler to scan on smartphones, they are added alongside the existing barcode on event full page tickets as well as foldable badges. Space on tickets is reworked and redistributed to do so. The example tickets on events are also given a default qr code. The qr code is based on the barcode and represents the same registration number. The route /report/barcode is used to generate the codes. It allows users to access their tickets even if they are not logged in. UPG PR - https://github.com/odoo/upgrade/pull/5007 COM PR - https://github.com/odoo/odoo/pull/120933 Task-3061851
Calendar events that include properties fields can now be opened without causing an error. This improves reliability for users working with customized calendar records in Odoo.
Original PR description
Before this commit, in a calendar view with a properties field, a crash will be display when you click on an event. 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
The self-ordering kiosk now correctly shows the combo page header with steps and product names. This helps customers follow the ordering flow more easily and avoids confusion when selecting combo items.
Original PR description
Previously, header height in pages was managed by `kiosk_template.js` and in the various other components via props. This caused a bug in the `combo.xml` page, as the header with steps and product names was not displayed. Now the height of header, content and footer is managed entirely via the components and never via the template. This corrects the error in question.
Fixed an issue where automated server actions saved the display label of a selection option instead of its actual stored value. This prevents crashes when those actions update records, making automation more reliable for users.
Original PR description
Server actions that 'update the record' have a mechanism to allow users to easily select a selection value if the field they want to update is a selection field (instead of having to type the technical value directly). Before this commit, this mechanism incorrectly stored the selection's name instead of the value (e.g. 'Done' instead of '01_done'), making the write crash when the action was run.
This fixes an issue where Point of Sale could keep loading only products from previously restricted categories even after category restrictions were turned off. Stores using POS will now see the full expected product catalog when restrictions are disabled, reducing missing-product confusion during sales.
Original PR description
The products are not correctly loaded in the POS because of a bug regarding the `Restrict Categories` feature. Steps to reproduce: 1. Create a `pos config` with `Restrict Categories` set to: `categ1` and `categ2` 2. Disable `Restrict Categories` 3. Open the POS and notice that although all the categories are present in the category selector, only the products from `categ1` and `categ2` are loaded. Task: 3497308 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix restores an error-handling behavior that some older web requests still depend on. It helps ensure errors can be recognized as handled, reducing the risk of unnecessary error popups or disrupted workflows for users.
Original PR description
Previously we removed some code related to handling errors in legacy RPC, that would wrap errors in an object and give them an event that could be defaultPrevented to mark the error as handled, but this code is still needed. This commit restores it.
The auto-reconcile wizard now works even when users leave the start date blank. In that case, reconciliation starts from the earliest possible date, preventing unnecessary errors or manual date entry.
Original PR description
…in if not set In the auto-reconcile wizard, user should be able to let from_date empty, in this case we will auto-reconcile since date.min.
QIF bank statement uploads no longer fail when the file uses an encoding other than UTF-8, such as ISO-8859-1. The system now detects the file encoding automatically, making imports more reliable for users receiving statements from different banks or regions.
Original PR description
When uploading a QIF file, the UTF-8 encoding is assumed, which causes a traceback if a different encoding is used (e.g. ISO-8859-1). To solve the above, encoding is automatically detected. X-original-commit: 8f43bc558c16f67e394cb76fc3e4a7ea9128d585
Opening a Knowledge article from an embedded calendar view no longer crashes. This keeps calendar-based Knowledge content accessible and ensures article properties display correctly.
Original PR description
Since PR https://github.com/odoo/odoo/pull/114024, open a knowledge article from an embeded calendar view display a crash. Because the extension knowledge.ArticleItemsCalendarCommonPopover.body should use fieldInfo.name instead of fieldName. FielName is not defined anymore. Since Commit https://github.com/odoo/odoo/commit/29c7b23e22317ae06ec4052dd3edd9e2478e14ab, PropertiesField need the definition field (parent_id) to generate the separator.
This change streamlines how Odoo loads interface templates by replacing older loading functions with a centralized template registry. It should make the platform easier to maintain and reduce complexity across web-based apps, with little direct impact on day-to-day users.
Original PR description
In this commit, the loadXML function has been removed. We use registry with xml_templates to load XML templates for OWL Apps. task-3266441 PR Enterprise : https://github.com/odoo/enterprise/pull/47001
The point of sale app now uses one shared number pad across its screens instead of several separate versions. This makes the checkout interface easier to maintain and helps keep the cashier experience more consistent over time.
Original PR description
At the moment, the point_of_sale module has 3 different implementations of numpads. This is absurd. In this PR we unify them all into a single numpad component. One of the reasons why there are…
At the moment, the point_of_sale module has 3 different implementations of numpads. This is absurd. In this PR we unify them all into a single numpad component.
One of the reasons why there are multiple numpads is because each requires a slightly different set of buttons. The new `Numpad` component provides a simple API which allows the consumer to specify what the buttons should be.
This is done by proving the `buttons` prop, which has the following type:
```js
buttons: {
type: Array,
element: {
type: Object,
shape: {
value: String,
text: { type: String, optional: true },
class: { type: String, optional: true },
disabled: { type: Boolean, optional: true },
},
},
}
```
In this PR we also provide a simple set of helper functions for the tours and adapt all of the existing tests accordingly.
https://github.com/odoo/enterprise/pull/46427
Task: 3470346
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update simplifies an internal part of the appointment page editor so it can identify nearby page elements more flexibly. It is a behind-the-scenes cleanup that should make future appointment editor changes easier and safer without changing the user experience.
Original PR description
To improve the api, make closestElement take a predicate as an argument. task-2984709
This change streamlines how several Odoo app screens load their interface templates. It is an internal cleanup that should make the web platform easier to maintain without changing day-to-day user workflows.
Original PR description
In this commit, the loadXML function has been removed. We use registry with xml_templates to load XML templates for OWL Apps. task-3266441 PR Community : https://github.com/odoo/odoo/pull/134520
The spreadsheet breadcrumb template was reorganized to remove repeated code. This is an internal cleanup that should make future maintenance easier without changing how users interact with spreadsheets.
Original PR description
This PR refactors `spreadsheet_breadcrumbs.xml` to reduce existing code duplicacy. Task ID : 3424046
The barcode product expiry area now uses one shared date-handling library instead of maintaining duplicate date tools. This internal cleanup helps reduce loaded assets and supports easier maintenance without changing user-facing workflows.
Original PR description
luxon and moment are both used in the solution, but these two libraries facilitate the manipulation of dates. It was decided to replace all uses of moment with luxon so we can then remove moment.js from the code and lighten the assets. task-3391739 PR Com : https://github.com/odoo/odoo/pull/134470
When there are multiple tracking numbers in one picking, the tracking button will work correctly. Improve style issue for wizard form --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134517
Original PR description
When there are multiple tracking numbers in one picking, the tracking button will work correctly. Improve style issue for wizard form --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134517
Remove old code that was useful when the form view had 2 modes (edit/readonly) TASK ID: 3272520 Description of the issue/feature this PR addresses: The field Many2one switched to readonly after opening it in a modal and save & close Current behavior before PR: The field Many2one switches to readonly Desired behavior after PR is merged: The field Many2one doesn't switch to readonly --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward
Original PR description
Remove old code that was useful when the form view had 2 modes (edit/readonly) TASK ID: 3272520 Description of the issue/feature this PR addresses: The field Many2one switched to readonly after opening it in a modal and save & close Current behavior before PR: The field Many2one switches to readonly Desired behavior after PR is merged: The field Many2one doesn't switch to readonly --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134496 Forward-Port-Of: odoo/odoo#133426
Purpose ======= Registration Desk promenade. Bunch of QOL improvements to make the handling of events easier. Specification ============= - Modify the attendee search template to have the search in this order: * Participant (search in name, email and company) * Company * Booked by * Selected Answers * Ticket * Event (Just for the multi-event mode) - Make attendee registration status bar clickable to ease the state modification. - Attendee registration kanban
Original PR description
Purpose ======= Registration Desk promenade. Bunch of QOL improvements to make the handling of events easier. Specification ============= - Modify the attendee search template to have the search in…
Purpose ======= Registration Desk promenade. Bunch of QOL improvements to make the handling of events easier. Specification ============= - Modify the attendee search template to have the search in this order: * Participant (search in name, email and company) * Company * Booked by * Selected Answers * Ticket * Event (Just for the multi-event mode) - Make attendee registration status bar clickable to ease the state modification. - Attendee registration kanban view improvements: * Display the company. * Display the answers selected while registering as tags. * Always use the fa-check icon for the card buttons (secondary for confirmed, primary for attended). * Add a button to go backwards (confirmed to unconfirmed, attended to confirmed) to ease the state modification from the kanban view. As we now have 2 buttons, widden their allocated space to make the clicks easier. Task-3469490 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#133045
To reproduce ============ - login as Mitchell Admin - change the email of a portal user, ex: Joel Willis, to the same email as Mitchell Admin. Do this through the Contacts App - always connected as Mitchell Admin, create a sale order and send it by email to client, in chatter the sender will be Joel Willis Problem ======= when setting the author, `_mail_find_partner_from_emails` is called, when searching for users with the given eamil, two results are found and the first one is taken as
Original PR description
To reproduce ============ - login as Mitchell Admin - change the email of a portal user, ex: Joel Willis, to the same email as Mitchell Admin. Do this through the Contacts App - always connected as Mitchell Admin, create a sale order and send it by email to client, in chatter the sender will be Joel Willis Problem ======= when setting the author, `_mail_find_partner_from_emails` is called, when searching for users with the given eamil, two results are found and the first one is taken as author Solution ======== give the priority to the current user when it matches the given conditions opw-3455520 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134538 Forward-Port-Of: odoo/odoo#134389
Switch to using scss variables instead of hardcoded colors to support dark mode in field selector popover. opw-3453065 Forward-Port-Of: odoo/odoo#132889 Forward-Port-Of: odoo/odoo#132626
Original PR description
Switch to using scss variables instead of hardcoded colors to support dark mode in field selector popover. opw-3453065 Forward-Port-Of: odoo/odoo#132889 Forward-Port-Of: odoo/odoo#132626
## Issue When uploading a large custom module via studio for importing, Chrome crashes with an internal SIGKILL and Firefox manages to load, but is really sluggish. ## Steps to reproduce - Install Studio - In the Apps Dashboard > Customizations > Import - Upload a large custom module (50 MiB) - Chrome crashes, while on Firefox the page is sluggish ## Cause In the module `base_import_module`, the `module_file` doesn't have a corresponding `filename`, therefor the name used to be displ
Original PR description
## Issue When uploading a large custom module via studio for importing, Chrome crashes with an internal SIGKILL and Firefox manages to load, but is really sluggish. ## Steps to reproduce - Install…
## Issue When uploading a large custom module via studio for importing, Chrome crashes with an internal SIGKILL and Firefox manages to load, but is really sluggish. ## Steps to reproduce - Install Studio - In the Apps Dashboard > Customizations > Import - Upload a large custom module (50 MiB) - Chrome crashes, while on Firefox the page is sluggish ## Cause In the module `base_import_module`, the `module_file` doesn't have a corresponding `filename`, therefor the name used to be displayed in the wizard is the content of the binary file in base64 encoding... For a module that is of a large size, this is a *gigantic* string that crashes Chrome and slows down the DOM on Firefox. ## Fix Truncate the maximum filename that is displayed in the template to the max length necessary to encode in base64 (0xFF) 255 bytes, as 255 bytes is the maximum filename size on Linux/Windows/MacOS. ## Affected versions 16.0 up to master ## Reference opw-3491998 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134468 Forward-Port-Of: odoo/odoo#134165
task-3429069 Forward-Port-Of: odoo/odoo#128731
Original PR description
task-3429069 Forward-Port-Of: odoo/odoo#128731
This PR fixes the display of remaining days that wasn't correctly displayed when an allocation had no time limit. task-3414291 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#127553
Original PR description
This PR fixes the display of remaining days that wasn't correctly displayed when an allocation had no time limit. task-3414291 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#127553
When user access template at the time of export with deleted field. The traceback will be generated. To reproduce the issue(any model, here- `account.move.line`): - Install `account_accountant` module - Go to Settings > Technical > Database Structure > Fields - Create a new field with model as `Journal Item` and save - Go to Accounting > Miscellaneous > Journal Items - Select any record in list view and click on export and generate a new export template with newly created field - Go t
Original PR description
When user access template at the time of export with deleted field. The traceback will be generated. To reproduce the issue(any model, here- `account.move.line`): - Install `account_accountant`…
When user access template at the time of export with deleted field. The traceback will be generated.
To reproduce the issue(any model, here- `account.move.line`):
- Install `account_accountant` module
- Go to Settings > Technical > Database Structure > Fields
- Create a new field with model as `Journal Item` and save
- Go to Accounting > Miscellaneous > Journal Items
- Select any record in list view and click on export and generate a new export template with newly created field
- Go to `ir.model.fields` and delete that field
- Go to `Journal Items` and select that template while export
Traceback in sentry -
```
KeyError: 'tax_audit'
File "odoo/http.py", line 2123, in __call__
response = request._serve_db()
File "odoo/http.py", line 1699, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1726, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1927, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "addons/website/models/ir_http.py", line 234, in _dispatch
response = super()._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 190, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 716, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/export.py", line 373, in namelist
return [
File "addons/web/controllers/export.py", line 374, in <listcomp>
{'name': field['name'], 'label': fields_data[field['name']]}
```
When a field gets deleted from `ir.model.fields` but it does not get deleted from export template. And selecting that template to export the records will lead to traceback.
https://github.com/odoo/odoo/blob/59669e9943158e51dcbb9ae69ad758df8f7c7976/addons/web/controllers/main.py#L1815-L1818
sentry-4331986723
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#134487
Forward-Port-Of: odoo/odoo#129567Reproduction: 1. Install Event, Sales, Website, Contacts 2. Login as Admin, create a new portal user with name 123, email 123, password 123 3. Go to Contacts, find the created user, add a shipping address, leave the name blank 4. Open another tab login as the portal user, place an order 5. At the Address step, Edit the billing address, change the name from empty to “Test Name”, click next 5. An error is thrown cause the new name is not equal to empty value Fix: this fix resumes the con
Original PR description
Reproduction: 1. Install Event, Sales, Website, Contacts 2. Login as Admin, create a new portal user with name 123, email 123, password 123 3. Go to Contacts, find the created user, add a shipping…
Reproduction: 1. Install Event, Sales, Website, Contacts 2. Login as Admin, create a new portal user with name 123, email 123, password 123 3. Go to Contacts, find the created user, add a shipping address, leave the name blank 4. Open another tab login as the portal user, place an order 5. At the Address step, Edit the billing address, change the name from empty to “Test Name”, click next 5. An error is thrown cause the new name is not equal to empty value Fix: this fix resumes the conditions we have in the previous PR: https://github.com/odoo/odoo/pull/111708 This change will allow the user to add a name for shipping address at checkout, if the name is empty originally. Without the fix, if you change the name of a shipping address, it won’t be able to get through. This is because of how we manage the shipping address, e.g. shipping address is managed as child partners. For shipping address, the check can_edit_vat is always false. See here: https://github.com/odoo/odoo/blob/14.0/addons/portal/models/res_partner.py Another check, e.g. if partner type is delivery, is added to make sure name/email can be changed for delivery address. For internal user, the editing of shipping address is not blocked because of the `share` check. But the same condition is used to ensure the consistency in case we change how the shipping address is managed in the future. Related PR: https://github.com/odoo/odoo/pull/111708 opw-3126325 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134488 Forward-Port-Of: odoo/odoo#128146
When adding a view to the dashboard, we already save the domain. We don't want to save the default filters as they can have an opposite domain as the one selected, meaning no records will be matched when going to the dashboard. --- opw-3385248 Forward-Port-Of: odoo/odoo#134117 Forward-Port-Of: odoo/odoo#132328
Original PR description
When adding a view to the dashboard, we already save the domain. We don't want to save the default filters as they can have an opposite domain as the one selected, meaning no records will be matched when going to the dashboard. --- opw-3385248 Forward-Port-Of: odoo/odoo#134117 Forward-Port-Of: odoo/odoo#132328
Issue: ====== - Display of monetary values in kanban views is wrong in rtl language - Pivot display has multiple erros in rtl language: values are left aligned and they are supposed to be right aligned like in ltr lang, negative numbers has the sign in the wrong place, the (plus/minus) icon placement is wrong (it should be before the title and not after) Steps to reproduce the error: ============================= - Install accounting and rlt language (arabic for example) - Go t
Original PR description
Issue: ====== - Display of monetary values in kanban views is wrong in rtl language - Pivot display has multiple erros in rtl language: values are left aligned and they are supposed to be right…
Issue: ====== - Display of monetary values in kanban views is wrong in rtl language - Pivot display has multiple erros in rtl language: values are left aligned and they are supposed to be right aligned like in ltr lang, negative numbers has the sign in the wrong place, the (plus/minus) icon placement is wrong (it should be before the title and not after) Steps to reproduce the error: ============================= - Install accounting and rlt language (arabic for example) - Go to accounting (display of monetary fields is wrong) - Go to accounting/accounting/journal items/pivot view - Choose residual amount in view (it has some negative values) Solution: ========= Kanban Solution: - I fixed the direction of the display to be ltr always for monetary values and added the class to the appropriate tags. Pivot Solution: - I fixed the direction and text-align style for the values to always display the same like rtl. - displaying the icon and then the title will always give the desired display since the direction will reverse their order itself when it's rtl Before: ======   After: ====   enterprise fix : https://github.com/odoo/enterprise/pull/46675 opw-3295573 Forward-Port-Of: odoo/odoo#134201 Forward-Port-Of: odoo/odoo#132843
Description of the issue/feature this PR addresses: As the `default_remove_location_dest_id` field of the stock.picking.type model is required, it is intended to be set by the user, and so it must be editable rather than readonly. Moreover, for accounting purpose, we want the ability to modify `default_location_dest_id`. Current behavior before PR: The `default_remove_location_dest_id` and `default_location_dest_id` fields of the stock.picking.type model **cannot** be edited. Desired be
Original PR description
Description of the issue/feature this PR addresses: As the `default_remove_location_dest_id` field of the stock.picking.type model is required, it is intended to be set by the user, and so it must be editable rather than readonly. Moreover, for accounting purpose, we want the ability to modify `default_location_dest_id`. Current behavior before PR: The `default_remove_location_dest_id` and `default_location_dest_id` fields of the stock.picking.type model **cannot** be edited. Desired behavior after PR is merged: The `default_remove_location_dest_id` and `default_location_dest_id` fields of the stock.picking.type model **can** be edited. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#132359
RATIONALE Enterprise is adding support of WhatsApp as a mean to communicate with customers. This require some update in community, notably by using a new widget and preparing discuss channels to support whatsapp channels. See sub commits for more details. Task-2377154 (Add WhatsApp Support) Co-authored-by: Akshat Trivedi <aktr@odoo.com> Co-authored-by: Aurélien Warnon <awa@odoo.com> Co-authored-by: Gitashri Mantha <gman@odoo.com> Co-authored-by: Jigar Vaghela <jva@odoo.com> Co
Original PR description
RATIONALE Enterprise is adding support of WhatsApp as a mean to communicate with customers. This require some update in community, notably by using a new widget and preparing discuss channels to…
RATIONALE Enterprise is adding support of WhatsApp as a mean to communicate with customers. This require some update in community, notably by using a new widget and preparing discuss channels to support whatsapp channels. See sub commits for more details. Task-2377154 (Add WhatsApp Support) Co-authored-by: Akshat Trivedi <aktr@odoo.com> Co-authored-by: Aurélien Warnon <awa@odoo.com> Co-authored-by: Gitashri Mantha <gman@odoo.com> Co-authored-by: Jigar Vaghela <jva@odoo.com> Co-authored-by: Kashyap Patel <kasp@odoo.com> Co-authored-by: Khushi Vakil <khva@odoo.com> Co-authored-by: Nishant Jain <niai@odoo.com> Co-authored-by: Prakash Prajapati <ppr@odoo.com> Co-authored-by: Priyanshi patel <prpa@odoo.com> Co-authored-by: Rahul Prajapati <rapr@odoo.com> Co-authored-by: Renaud Thiry <reth@odoo.com> Co-authored-by: Shreya Patel <shpa@odoo.com> Co-authored-by: Stéphane Debauche <std@odoo.com> Co-authored-by: Thibault Delavallee <tde@odoo.com> Co-authored-by: Zeel Patel <zepa@odoo.com> Forward-Port-Of: odoo/odoo#133973 Forward-Port-Of: odoo/odoo#131688
Before this commit, quick search in discuss sidebar (shown when more than 20 conversations) was case-sensitive. For example, when a channel was named "R&D" and user types "r", the channel was not found. This commit fixes the issue by making search case-insensitive. Task-3485254 opw-3445747 Before/after   F
Original PR description
Before this commit, quick search in discuss sidebar (shown when more than 20 conversations) was case-sensitive. For example, when a channel was named "R&D" and user types "r", the channel was not found. This commit fixes the issue by making search case-insensitive. Task-3485254 opw-3445747 Before/after   Forward-Port-Of: odoo/odoo#134406 Forward-Port-Of: odoo/odoo#134367
From an internal feedback, someone reported that the code added: e2ec9e6c86949f5781d03a7dbb1065ef8af3196a might cause an issue in case of several sale order linked to the same invoice line. With this changeset, in this case we will have the same behavior as before, eg: - one sale order line (SOL1) has amount_total 700 - one sale order line (SOL2) has amount_total 1400 if the invoice line linked to both line has price_total: * 700 => amount_to_invoice of: SOL1 will be 0, SOL2 will be 700 *
Original PR description
From an internal feedback, someone reported that the code added: e2ec9e6c86949f5781d03a7dbb1065ef8af3196a might cause an issue in case of several sale order linked to the same invoice line. With this changeset, in this case we will have the same behavior as before, eg: - one sale order line (SOL1) has amount_total 700 - one sale order line (SOL2) has amount_total 1400 if the invoice line linked to both line has price_total: * 700 => amount_to_invoice of: SOL1 will be 0, SOL2 will be 700 * 1400 => amount_to_invoice of: SOL1 will be -700, SOL2 will be 0 * 2100 => amount_to_invoice of: SOL1 will be -1400, SOL2 will be -700 opw-3437237 Forward-Port-Of: odoo/odoo#133354
Trying to print or send an invoice using a foreign currency leads to a traceback while generating the PDF. Steps to reproduce: - Install l10n_ar and step into the AR company; - Create a new invoice using a foreign currency (e.g. USD); - Confirm the invoice; - Try to Send/Print the invoice. This is also the case with l10n_cl. opw-3477108 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134155
Original PR description
Trying to print or send an invoice using a foreign currency leads to a traceback while generating the PDF. Steps to reproduce: - Install l10n_ar and step into the AR company; - Create a new invoice using a foreign currency (e.g. USD); - Confirm the invoice; - Try to Send/Print the invoice. This is also the case with l10n_cl. opw-3477108 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134155
Currently, the default edi mode for peppol is production, even in demo environments. This commit adds the config_parameter in demo data, so that it's created when peppol is presented/tested for demo purposes. Otherwise, the production server is getting spammed with test participants. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134371
Original PR description
Currently, the default edi mode for peppol is production, even in demo environments. This commit adds the config_parameter in demo data, so that it's created when peppol is presented/tested for demo purposes. Otherwise, the production server is getting spammed with test participants. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#134371
In order to fix wrong url recognition, improve the url REGEX by: - Recognize an url with a dot at the end in the string `www.google.be.`. It was not recognized before this commit. - Do not allow a special character after an url that is not separated by "/", "?", or "#". Before this commit, the content `www.google.be!` would have been recognized the url as `www.google.be!` instead of `www.google.be`. - Do not include in the url some character if they appear at the end. The chars are: - .
Original PR description
In order to fix wrong url recognition, improve the url REGEX by: - Recognize an url with a dot at the end in the string `www.google.be.`. It was not recognized before this commit. - Do not allow a special character after an url that is not separated by "/", "?", or "#". Before this commit, the content `www.google.be!` would have been recognized the url as `www.google.be!` instead of `www.google.be`. - Do not include in the url some character if they appear at the end. The chars are: - . - , - } - ) - ] - ' - " task-3373367 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#133528 Forward-Port-Of: odoo/odoo#125217
[FIX] web editor: cursor jumps out of blockquote Steps to reproduce: 1. add a paragraph 2. add a blockquote => the cursor will jump in the paragraph This commit fixes a bug detected when inserting a blockquote. The cursor jumps to nearby paragraph on insert, and other issues. The cause of the bug is tied to the fact that we rely on a complex behavior when inserting paragraph related elements (within the insert command). The way to make blockquote behave like the other paragraph re
Original PR description
[FIX] web editor: cursor jumps out of blockquote Steps to reproduce: 1. add a paragraph 2. add a blockquote => the cursor will jump in the paragraph This commit fixes a bug detected when inserting a blockquote. The cursor jumps to nearby paragraph on insert, and other issues. The cause of the bug is tied to the fact that we rely on a complex behavior when inserting paragraph related elements (within the insert command). The way to make blockquote behave like the other paragraph related elements is simply to add it to the list as done in this commit. Task-3383441 Forward-Port-Of: odoo/odoo#130829
Before this commit, when a message had many link previews, deleting all of them required to delete one by one. This commit improves this aspect by showing a "Delete All" button in the dialog to delete a link previews at once. task-3488054 Forward-Port-Of: odoo/odoo#134712 Forward-Port-Of: odoo/odoo#134489
Original PR description
Before this commit, when a message had many link previews, deleting all of them required to delete one by one. This commit improves this aspect by showing a "Delete All" button in the dialog to delete a link previews at once. task-3488054 Forward-Port-Of: odoo/odoo#134712 Forward-Port-Of: odoo/odoo#134489
### Summary Fixes an issue where importing a FEC file containing lines with a defined `Idevise` but missing `Montantdevise` results in journal items with zero debit and credit. ### Setup * install `l10n_fr_fec_import` * switch to a French company ### Steps to reproduce * Import a FEC file with lines as described above. * go to the journal items and find the imported lines You should see that they incorrectly show a debit and credit of 0. ### Cause When `Idevise` is defined but
Original PR description
### Summary Fixes an issue where importing a FEC file containing lines with a defined `Idevise` but missing `Montantdevise` results in journal items with zero debit and credit. ### Setup * install `l10n_fr_fec_import` * switch to a French company ### Steps to reproduce * Import a FEC file with lines as described above. * go to the journal items and find the imported lines You should see that they incorrectly show a debit and credit of 0. ### Cause When `Idevise` is defined but `Montantdevise` is missing, the system assigns to the line an `amount_currency` value of `0.0`. This triggers the `_inverse_amount_currency` method, which sets the balance, and subsequently the debit and credit, to zero. opw-3383380 opw-3388205 [fecExample.txt](https://github.com/odoo/enterprise/files/12509954/fecExample.txt) Forward-Port-Of: odoo/enterprise#47047 Forward-Port-Of: odoo/enterprise#46695
The bank reconciliation widget styling has been improved to make it easier to use: - Labels and amounts have been horizontally aligned between titles and statement lines. - The statement line amount has the default styling of clickable elements, so that it is easily discoverable. - The font size of the statement title and amount has been increased to make it easier to see where a new statement starts. [task-3438349](https://www.odoo.com/web#id=3438349&cids=1&menu_id=4720&action=333&activ
Original PR description
The bank reconciliation widget styling has been improved to make it easier to use: - Labels and amounts have been horizontally aligned between titles and statement lines. - The statement line amount has the default styling of clickable elements, so that it is easily discoverable. - The font size of the statement title and amount has been increased to make it easier to see where a new statement starts. [task-3438349](https://www.odoo.com/web#id=3438349&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#46935
This module allows integration with the Shiprocket platform for third-party shipping Integration level includes different shipping methods, pricing, creating shipments, printing labels, and tracking. supports multiple couriers in one shipping method. task-3071078 Forward-Port-Of: odoo/enterprise#46988 Forward-Port-Of: odoo/enterprise#45409
Original PR description
This module allows integration with the Shiprocket platform for third-party shipping Integration level includes different shipping methods, pricing, creating shipments, printing labels, and tracking. supports multiple couriers in one shipping method. task-3071078 Forward-Port-Of: odoo/enterprise#46988 Forward-Port-Of: odoo/enterprise#45409
RATIONALE WhatsApp is commonly used as a communication mechanism in a lot of countries and a lot of businesses. Integrating it in Odoo is necessary to keep in touch with the way people communicate nowaday. SPECIFICATIONS WhatsApp offers an API to send and receive messages. A new button is available in Discuss to send WhatsApp messages. Customers answers are routed back to Odoo with some configuration. Due to some limitations it is implemented using 'discuss.channel' channels to
Original PR description
RATIONALE WhatsApp is commonly used as a communication mechanism in a lot of countries and a lot of businesses. Integrating it in Odoo is necessary to keep in touch with the way people communicate…
RATIONALE
WhatsApp is commonly used as a communication mechanism in a lot of countries
and a lot of businesses. Integrating it in Odoo is necessary to keep in touch
with the way people communicate nowaday.
SPECIFICATIONS
WhatsApp offers an API to send and receive messages. A new button is available
in Discuss to send WhatsApp messages. Customers answers are routed back to
Odoo with some configuration.
Due to some limitations it is implemented using 'discuss.channel' channels to
communicate between responsible (sales persons, ...) and customers. It is not
possible to discuss on records like Inbox / email as no context is provided.
Communication is done using two means: templates, validated on WhatsApp side
and free communication. Various rules exist to limit spam and unwanted message
sending, that are more or less implemented in this PR.
TECHNICAL SPECIFICATIONS
WhatsApp template
- Send Whatsapp from any document by creating a WhatsApp template for that
document;
- We can only send a template if the user replies then we can do a normal
message for 24 hours of the last message from the user;
- it has fields that are required by https://developers.facebook.com/docs/whatsapp/cloud-api/guides/send-message-templates
- select a model where this applied;
- if a document PDF need to be attached then select the report id;
- for dynamic values, you can use a User name, User mobile, Free text, Field
of model;
- Send for approval after creating it OR if it is already created in WhatsApp
then use sync from WhatsApp phone;
- If we send a message from the list view it will be sent by scheduled action
WhatsApp Phone Configuration
- Add a new model where we add all configuration details
- Also, add allowed companies and notify users to send notification
- sync templates from WhatsApp in one click
Receive message
- if we send any templates in the past 15 days then we create a new mail
channel with the last template message document (In this case we also
post one message in the document that the new channel is created)
- else we create a channel with notify user set in WhatsApp phone configuration
- We support text, documents, images, audio, video, location
Reaction to messages
- right now we only support received Reaction
Send messages
- Whatsapp is only allowed to send messages if there is any message from the
user in the past 24 hours so we block type in channel if there is no replay
from the user in the past 24 hours
- We can send text, documents, images, audio and video
Blacklist by Whatsapp user
- Use phone blacklist to block user
- If the user sends text like "STOP", "UNSUBSCRIBE" and "STOP PROMOTIONS"
(support translation)
- blacklist so now from odoo we can't send a message to that user until the
user sends another message or anyone manually change in Blacklist
- this is used because if we do not stop the message if the user does not
need it then if that user is reported the same to WhatsApp that WhatsApp number may be blocked
- opt-out required for maintained good quality https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates
Bridge modules are added for account, delivery, payment and sale
* add method overrides to use WA templates and whitelist fields to use
in dynamic statements;
* add starting template;
Add WhatsApp as a communication mean next to mail, sms or push notifications
in events.
Integrate in POS configuration.
As with automatic mailing, we can now automate sending of SO in eCommerce
using WhatsApp.
Task-2377154 (Add WhatsApp Support)
Co-authored-by: Akshat Trivedi <aktr@odoo.com>
Co-authored-by: Aurélien Warnon <awa@odoo.com>
Co-authored-by: Gitashri Mantha <gman@odoo.com>
Co-authored-by: Jigar Vaghela <jva@odoo.com>
Co-authored-by: Kashyap Patel <kasp@odoo.com>
Co-authored-by: Khushi Vakil <khva@odoo.com>
Co-authored-by: Nishant Jain <niai@odoo.com>
Co-authored-by: Prakash Prajapati <ppr@odoo.com>
Co-authored-by: Priyanshi patel <prpa@odoo.com>
Co-authored-by: Rahul Prajapati <rapr@odoo.com>
Co-authored-by: Renaud Thiry <reth@odoo.com>
Co-authored-by: Shreya Patel <shpa@odoo.com>
Co-authored-by: Stéphane Debauche <std@odoo.com>
Co-authored-by: Thibault Delavallee <tde@odoo.com>
Co-authored-by: Zeel Patel <zepa@odoo.com>
Forward-Port-Of: odoo/enterprise#46704
Forward-Port-Of: odoo/enterprise#45601Issue: ===== - Numbers in reports are not correctly formatted. - debug icon is not correctly placed Steps to reproduce the issue: ============================= - Install accounting - Activate debug mode - Change language to Arabic - Go to accoutning and see General Ledger repord and Profil and Loss report Solution: ========= - Fixed the display for the numbers - Made the display for the debug icon depend on the direction Related community fix: https://github.com/odoo/odoo/pul
Original PR description
Issue: ===== - Numbers in reports are not correctly formatted. - debug icon is not correctly placed Steps to reproduce the issue: ============================= - Install accounting - Activate debug mode - Change language to Arabic - Go to accoutning and see General Ledger repord and Profil and Loss report Solution: ========= - Fixed the display for the numbers - Made the display for the debug icon depend on the direction Related community fix: https://github.com/odoo/odoo/pull/132843 opw-3295573 Forward-Port-Of: odoo/enterprise#46834 Forward-Port-Of: odoo/enterprise#46675
It is a legal requirement in Ecuador to have the destination address on the invoice pdf file. This PR adds the address in the Partner section of the invoice, thus the code that removes the partner address above remains to maintain the requested layout. task-3455666 opw-3461120 Forward-Port-Of: odoo/enterprise#46356
Original PR description
It is a legal requirement in Ecuador to have the destination address on the invoice pdf file. This PR adds the address in the Partner section of the invoice, thus the code that removes the partner address above remains to maintain the requested layout. task-3455666 opw-3461120 Forward-Port-Of: odoo/enterprise#46356
In this PR, user will now be able : - To sign a vehicle that already has a driver but was put on as a default vehicle in the generate simulation link wizard - Have the correct default vehicle in that order (1. Vehicle for which he's the current driver 2. Vehicle for which he's the future driver 3. Empty) - task-3487657 Forward-Port-Of: odoo/enterprise#46713
Original PR description
In this PR, user will now be able : - To sign a vehicle that already has a driver but was put on as a default vehicle in the generate simulation link wizard - Have the correct default vehicle in that order (1. Vehicle for which he's the current driver 2. Vehicle for which he's the future driver 3. Empty) - task-3487657 Forward-Port-Of: odoo/enterprise#46713
Forward-Port-Of: odoo/enterprise#46983
Original PR description
Forward-Port-Of: odoo/enterprise#46983
When uploading a QIF file, the UTF-8 encoding is assumed, which causes a traceback if a different encoding is used (e.g. ISO-8859-1). To solve the above, encoding is automatically detected. OPW #2838318 Forward-Port-Of: odoo/enterprise#28566 Forward-Port-Of: odoo/enterprise#25916
Original PR description
When uploading a QIF file, the UTF-8 encoding is assumed, which causes a traceback if a different encoding is used (e.g. ISO-8859-1). To solve the above, encoding is automatically detected. OPW #2838318 Forward-Port-Of: odoo/enterprise#28566 Forward-Port-Of: odoo/enterprise#25916
Before this PR when clicking on sla policy tooltip icon it redirects to getting started documentation instead of sla policy documentation. In this PR we have fix that issue by redirecting to sla policy documentation task-3420151 Forward-Port-Of: odoo/enterprise#46885 Forward-Port-Of: odoo/enterprise#44258
Original PR description
Before this PR when clicking on sla policy tooltip icon it redirects to getting started documentation instead of sla policy documentation. In this PR we have fix that issue by redirecting to sla policy documentation task-3420151 Forward-Port-Of: odoo/enterprise#46885 Forward-Port-Of: odoo/enterprise#44258