Daily updates from Odoo
Navigate
Branch
Friday, August 23, 2019
40 changes
New functionality added to Odoo
IoT Boxes can now store customer credentials and request an official certificate from Odoo when their current certificate is missing or outdated. This enables secure HTTPS access through a dedicated Odoo IoT domain, improving trust and reliability for connected devices.
Original PR description
With this commit we add the possibility to save the db_uuid and enterprise_code on the IoT Box. We check the current SSL certificate and if it is not authenticated or not up to date we send a request to `https://www.odoo.com/odoo-enterprise/iot/x509` with the db_uuid and enterprise_code to get the certificate, key, and domain associated with the client. The IoT Box will be accessible in HTTPS according to the following domain: `https://<ip-with-dashes>.<sub-hash>.odoo-iot.com` `<ip-with-dashes>` being the ip address with dashes `<sub-hash>` being a subdomain assigned by Odoo to a customer Task: 1931770 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
Users can now send SMS reminders directly from customer follow-up reports, with default messages pre-filled from company settings. Follow-up levels can also define when SMS should be used and customize the message, helping teams reach customers through another communication channel.
Original PR description
`account_reports` ====== Purpose ---------- In the follow-up reports, allow to send an SMS text message to remind a partner he has some due payment. Specification -------------- Add a primary button…
`account_reports` ====== Purpose ---------- In the follow-up reports, allow to send an SMS text message to remind a partner he has some due payment. Specification -------------- Add a primary button "Send By SMS" in the follow-up report form view to send and SMS. The button opens the sms composer to send the message. The message should be pre-filled with a default value defined on the user's company. Once the SMS has been sent, the buttons becomes secondary and the button "Done" appears. The SMS should appear in the chatter. `account_reports_followup` ====== Purpose ---- Allow to define a custom SMS to send to a partner according to the followup level. Specification ------------ On a followup level line: - Add a Boolean field: set to True if an SMS should be sent - Add a Char field for the SMS body. Allow to use pseudo-template variable, similar to the email pseudo-template. If SMS is selected on the followup report line, the "Send By SMS" should be primary and secondary otherwise. Some refactoring ======== To easily integrate SMS support and minimize the diff, some refactoring was done on the frontend side: 1. Event Bindings Currently, buttons event handlers in the followup view are attached using jQuery. Instead, the Odoo style event binding should be used instead. The syntax is shorter and declarative, hence less error prone. 2. Template Redefined The template `CustomerStatements.buttons` from `account_reports` was not used in `account_reports_followup` and completely redefined to add a button (template `CustomerStatements.buttonsWithLevels`). Extending the first template is the correct way to add a button. It is shorter, does not require to re-attach event handlers and allows to remove the `renderButtons` override. 3. Button class In `account_reports_followup`, buttons like "Send By Email", "Print Letter", etc are set to primary if the current followup line uses email, letter, etc, and secondary otherwise. The logic to add or remove the classes was repeated several times Now, it is factorised with a helper function. This helper function will be reused in the future to send SMS text messages.
This update adds certificate credentials to the setup token sent to an IoT Box. It helps the device load a real certificate during onboarding, improving secure and reliable connection setup.
Original PR description
We add to the token the credential to use it to load real certificate on IoT Box Task: 1931770
Enhancements to existing features
Product attribute values now keep a direct link to the product attribute line they belong to. This improves maintainability, performance, and data consistency, while preparing the system for more flexible product attribute setups in the future.
Original PR description
`product.template.attribute.value` now retain to which `product.template.attribute.line` they belong to. This allows the inverse relation (o2m) to work out of the box instead of relying on a compute. This is easier to maintain, faster, better for data integrity, and a necessary step towards allowing multiple lines with the same attribute. Part of task-1912579
The activity menu now respects Documents app access rights before showing the “Request a Document” option. This keeps the interface cleaner and avoids presenting actions to people who are not allowed to use them.
Original PR description
Currently, everyone can see the "Request a Document" call to action in the systray under the activities icon. But this should take access rights into account. If one is not a user or an admin of the Documents app, he should not see the "Request a Document" feature in the systray. Task- https://www.odoo.com/web?#id=2034580&action=327&model=project.task&view_type=form&menu_id=4720 Pad- https://pad.odoo.com/p/r.201fd81fd4e99d0deb6bf406d4f24ff5 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update renames internal labels used in sales variant templates to match the naming style used elsewhere in the system. It does not change business workflows or visible features, but it makes future sales-related development easier to review and maintain.
Original PR description
To follow the naming convention used in the rest of the code. - `variant_id` (which made no sense in this case) -> `ptal` - `value_id` -> `ptav` Split commit to make the diff of a following PR easier to read. Part of task-1912579
Sales and accounting users can now generate ready-to-send payment links directly from sales orders and invoices, with the reference and amount filled in automatically. This makes it easier to request online payments while also adding safeguards so customer payment details are handled securely.
Original PR description
**Added custom payment link** - Added action 'Generate a payment link' in dropdown menu - Reference id is prefilled. - Based on change in amount, new link is generated Task 1938635
This update fixes an error that could occur when viewing project reports. It also aligns field service and project task boards more closely and adds a small configuration hook so timesheet tabs can be shown or hidden more precisely.
Original PR description
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
Scrap orders are easier to manage: managers can delete them, references are assigned only when confirmed, and fields such as lot and manufacturing order are shown only when relevant. This reduces clutter and helps ensure scrapping uses the correct destination location.
Original PR description
Task : https://www.odoo.com/web?#id=1959647&action=327&model=project.task&view_type=form&menu_id=4720 Pad : https://pad.odoo.com/p/r.c11eddca69ea9713e7ae09d14dc2df62 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves the reliability of Odoo's automated web tests by better isolating browser sessions, reducing Chrome-related instability, and improving diagnostics when Chrome crashes or cannot be reached. It helps reduce noisy build failures and makes test results more trustworthy for development teams.
Original PR description
* add a delete_cookie method to ensure session cookie is removed * add various disable switches * log google-chrome crashes
Survey cards have been redesigned to show key performance information directly in the kanban view, including response counts, average scores, and certification success details. Less-used action buttons were moved or removed to make each card easier to scan and more focused on survey results.
Original PR description
In order to display some stats on survey's card (in the kanban view), the survey's card has been reorganized: We remove all the button present in the bottom of the card, button concerned are: • analyze answers • test • share • schedule activity We recreate the button "share" in the dropdown menu of the card. We add at the bottom of the card the next information: • the number of answers • the average of the answers • the number of certified people TASK-ID : 2045617
Editable list views now keep column widths steadier as users add, edit, remove, or toggle fields. This improves readability and reduces visual flicker, especially in accounting and inventory screens with editable tables.
Original PR description
This PR improves the display of editable of list views. Instead of always hardcoding column widths depending of the field types, we let the browser compute them as much as possible, i.e. as soon as there are records, and we then freeze the widths s.t. it doesn't flicker when switching a row in edition. However, we keep the fixed widths heuristic when there is no record to display, as in this case the browser doesn't have enough information to compute the widths. In the latter case, we also tweaked the heuristic s.t. all field types having a relative width now have the same width factor (i.e. the available space is uniformly shared between them). Task 2011587
The Documents shortcut for requesting a document is now hidden from employees who do not have access to the Documents app. This keeps the activity menu cleaner and prevents users from seeing an option they cannot use.
Original PR description
Currently everyone can see the "Request a Document" call to action in the systray under the activities icon. But this should take the access rights into account. If one is not a user or an admin of the Documents app, he/she should not see the "Request a Document" feature in the systray. Task- https://www.odoo.com/web?#id=2034580&action=327&model=project.task&view_type=form&menu_id=4720 Pad- https://pad.odoo.com/p/r.201fd81fd4e99d0deb6bf406d4f24ff5
Project teams can now use field service capabilities such as worksheets, timers, product additions, and quotation creation directly from project tasks. The update also improves task planning, clearer labels, helpdesk-to-field-service task conversion, and fixes timer and view issues for a smoother daily workflow.
Original PR description
Field Service introduced several new features: worksheets, timesheet timer, adding products, new quotes from tasks... These options were initially meant for FSM type projects only, but could also make sense in other contexts. Therefore, this PR extends these features to all projects and adapt the task flow accordingly. It provides several improvements to the FSM and Project applications such as : - various renaming of fields. - making some project fields required - altering demo data - technical improvements - add worksheets, timesheet timer, products addition and the new quotation creation features on the Project's task form view. You can find more details in the related commits. Task-2052287 & Task-2000719
Subscription alerts can now send SMS messages in addition to existing notification options. This helps teams reach customers or responsible contacts faster when a subscription needs attention, improving responsiveness and reducing missed follow-ups.
Original PR description
Add the ability to send an sms when a subscription alert is triggered.
Resolved issues and error corrections
This fix ensures pending database changes are properly applied when using savepoints. It reduces the risk of inconsistent data handling during internal operations, improving overall system stability.
This fixes account bank statement creation so it no longer attempts to rewrite the linked journal type when nothing needs to change. It reduces avoidable validation conflicts, especially for localizations with stricter journal rules, and makes statement creation more reliable.
Original PR description
### Description of the issue/feature this PR addresses: Do not try to write the journal's type field every time we try to create an account.bank.statement record. ### Current behavior before PR: As it is, is trying to write the journal type field every time we create an account.bank.statement record, even when the value we try to write is the same already assigned in journal. We found out this behavior thanks to a constraint we add to the account.journal model's in l10n_ar module that take into account the 'type' field- ### Desired behavior after PR is merged: With this new change we are not trying to overwrite the journal's type field. only using it from account.bank.statement. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change lowers the severity of a specific automated test message from warning to informational. It helps prevent internal merge automation from treating harmless test cleanup messages as failures, improving development workflow stability without affecting users.
Original PR description
When an HttpCase browser_js test is unable to join a request thread, a warning is logged. To avoid mergebot failures, this commit changes the warning to a log info. This problem was introduced by the refactor in this commit: 3ca788f55
This fixes an issue in inventory calculations where empty or missing values could be handled incorrectly. The change helps ensure stock inventory information is computed reliably, reducing the risk of inaccurate inventory results.
Original PR description
task-2058684
This change improves how inventory value is tracked when FIFO costing and landed costs create rounding edge cases. It helps prevent tiny valuation discrepancies, especially for receipts with uneven unit costs such as splitting a total cost across multiple units.
Original PR description
Reintroduce remaining_value on the valuation layer. We thought we could get rid of it and only use unit_cost but with tricky receipt value such as 10 for three units it works indeed better. Increment remaining_value when applying a landed cost, don't use this field anywhere else than _run_fifo. It's a shame we have to edit in place the value of a layer while we were able to keep them as they were everywhere else... There still an imprecision sometimes due to the representation of float and their way through currency.round (see test_rounding_2) so we also call currency.round on the computed field value_svl to get a real 0 value. task-2057877
This fix prevents Odoo from trying to set a translation source value before a record has been saved. It helps avoid unnecessary errors during record creation, making data entry and automated creation flows more reliable.
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update helps the IoT driver handle socket connection errors more safely. It reduces the risk of disruptions when the system tries to open a new socket and the operating system reports a problem.
Original PR description
With this commit we catch OS Error when want use a new socket 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
This fix restores reliable editing of restaurant table maps in Point of Sale. Users can create, duplicate, move, and resize tables without errors or interruptions from background order-count updates.
Original PR description
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
Fixed an issue that could cause errors when creating invoices from repair orders. The repair order reference is now preserved in the invoice view without incorrectly overwriting invoice naming, helping staff complete billing reliably.
Original PR description
Tracebacks caused by invalid values in invoice_line_vals. Since accountpocalypse, 'number' became 'name', and the invoice creation process in repair was forcing the repair name as invoice name. To keep the visibility of the information that a repair order was the source of the invoice, a field was added in the form view. TaskID: 2057443
This fix changes the customer-facing display text color to white so it remains readable on the point-of-sale screen. It improves the checkout display experience for customers with a small visual correction.
Original PR description
We replace the font color to white of customer display 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
This fixes an accounting issue by removing a company ownership field that was not useful and did not work correctly. The change helps avoid confusing or unreliable information in accounting views and records.
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes several issues in Odoo's data update process so automated field recalculations work consistently, even when user access rights or multiple working contexts are involved. It also ensures business rules are checked for stored calculated fields, reducing the risk of incorrect data being saved.
Original PR description
These commit solve the following problems: - Processing recomputation triggers sometimes fails because of access errors; this is due to fields being inverted on records that cannot be read by the current user. - Unexpected recomputations may occur if a field is protected in one environment, but triggered in another environment. - Python constraints are not checked on computed fields.
Users can now see pricelist options consistently when the pricelist feature is enabled. This fixes access rules that were still tied to an older sales setting, helping sales, purchase, point of sale, website, and repair workflows use pricing features as expected.
Original PR description
Since https://github.com/odoo/odoo/commit/e88fe6f380ed5682f2cedad16ba13ca43a3828c2, the group to have access to pricelists is `group_product_pricelist`, not `group_sale_pricelist` anymore. `group_sale_pricelist` is now a technical group enabling access to advanced pricelist rules (percentage/discount). -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix improves the import process so errors point to the correct line and avoid blank messages. It also handles new user imports more reliably when customer or supplier ranking data is not yet available, reducing failed test imports.
Original PR description
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
This fixes an error in the Expenses app that could occur when opening or using a tax-related field. The correction restores the expected filter behavior so users can continue entering expense information without a traceback.
Original PR description
Back2basics changed the context in the views and actions from `type_tax_use` into `default_type_tax_use`, but also changed the one used in the domain of a field which caused a traceback 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
This fix improves how Odoo saves certain empty or linked field values, reducing the chance of invalid data being stored. It helps prevent errors in areas such as surveys and online sales when forms or imports include blank relationship values.
This fix restores the expected default behavior for account move line lists so users can see expanded line details immediately. It corrects a regression where prior changes accidentally removed the settings that controlled this view behavior.
Original PR description
The commit c429c0e0bd1208694623d5567682c43f9f0e51b7 removed context keys that were used to expand the view The the commit 98a55917a602c0c47093b4270ebc4e8b416ecf32 fixed that The the commit 9bc4a19d74185a066b7ac870b02fd1836c4392b6 reintroduced it (prob. bad rebase) This commit re fixes that. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an error that could prevent forum post forms from opening when a tag had a color set. Removing an outdated view reference restores normal access to forum posts and avoids disruption for website forum managers.
Original PR description
Description of the issue/feature this PR addresses: Remove the no longer existing field from the view definition Current behavior before PR: There is a traceback if you set a tag with a color on it:  You can reproduce it on the latest Odoo master builds by going to Website > Forum > Posts and opening the post "How to configure alerts for employee contract expiration" Desired behavior after PR is merged: There is no longer a traceback and the form view opens: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix improves how salary contract changes are handled when an operation needs to be cancelled. It helps prevent inconsistent saved data, reducing the chance of errors for HR teams using salary package features.
This fixes an issue where quality control checks and points could behave incorrectly when certain values were empty or unset. It helps keep quality workflows reliable and prevents incorrect results caused by missing data.
Original PR description
on check and point task-2058733
The manufacturing cost analysis report now uses the correct valued quantity when calculating and displaying costs. This helps businesses rely on the report for more accurate production cost insights and decision-making.
Original PR description
**Task** https://www.odoo.com/web#id=2056356&action=327&model=project.task&view_type=form&menu_id=4720 **Pad** https://pad.odoo.com/p/r.628b49b63b5ba1adae71521cdd76039b **Description** Cost analysis report was showing the wrong quantity. Fixed that.
Amazon orders synchronized into Odoo no longer automatically create invoices, preventing Fulfilled by Merchant orders from being split into separate invoices when they include both services and delivery-based products. The update also cleans up the product page by hiding Amazon offer shortcuts when none exist and clarifies setup wording for Amazon account registration.
Original PR description
Prior to this commit, an invoice was forcibly generated as soon as an order was synchronized from Amazon. This had for consequence to split the invoicing of Fulfilled by Merchant orders in two invoices if the order contained a service product and another product invoicable on delivery. This commit also hides the stat button of Amazon Offers on products' forms if there is no offer for these product. In addition, the term 'Enter your Amazon account' is replaced by 'Register your Amazon Account' in helper texts to emphasize the fact that accounts are created on Amazon Seller Central before being integrated in Odoo. Task ID : 2056945
This update fixes cases where pricelist fields were hidden or mislabeled in rental, stock rental, and subscription product screens. Users can now see the right pricing options when pricelists are enabled, reducing confusion during sales setup.
Original PR description
Closes https://github.com/odoo/odoo/issues/35886
The timesheet app project picker now only lists projects where timesheets are allowed. This prevents users from accidentally creating activity lists for projects that are not meant to track timesheets.
Original PR description
Current behavior: In an awesome timesheet app, project selection shows projects whether the setting 'allow timesheets' is enabled or disabled. So, after selecting a project with 'disabled timesheets', it allows to create an activity list. After this commit: In an awesome timesheet app, project selection will show only projects of 'allow timesheets' setting. task - 1942867 Description of the issue/feature this PR addresses: projects with 'allow timesheet' disabled are listed while they should not Current behavior before PR: projects with 'allow timesheet' disabled are listed with an activity Desired behavior after PR is merged: projects with only 'allow timesheet' enabled are shown in the project selection. Issue: https://www.odoo.com/web?debug=1#id=1942867&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.ff21bb7b3046f8b239c91bbfdc829ae7
The trial balance report now avoids applying account hierarchy grouping twice when users enable both hierarchy and subtotals. This prevents confusing duplicate nesting and helps finance teams read the report correctly.
Original PR description
In the next case: 1. Assign a group for each account. 2. Get the trial balance 3. Use the option to get the report with hierarchy and Subtotals This returns bad the view, because of the method ``_create_hierarchy`` two times, when [are created the lines](https://github.com/odoo/enterprise/blob/master/account_reports/models/account_report_coa.py#L135) and when render the view (in [get_html()](https://github.com/odoo/enterprise/blob/master/account_reports/models/account_report.py#L1200) method)  With this fix, the hierarchy method will be called only in the get_html() and now the report is render correctly 