Daily updates from Odoo
Navigate
Branch
Thursday, October 17, 2019
35 changes
Enhancements to existing features
This change separates timesheets from project-only work so employees can record time more flexibly, including against analytic accounts. It also reorganizes how timesheet billing connects to sales and projects, laying groundwork for future time-selling features without changing the current user experience.
Original PR description
https://www.odoo.com/web?debug#id=1923949&action=333&active_id=965&model=project.task&view_type=form&menu_id=4720
Users configuring file upload fields can now restrict the types of files that appear in the upload picker, such as images, PDFs, or specific extensions. This improves data quality and reduces accidental selection of unsupported files across attachment, image, and PDF-related widgets.
Original PR description
Purpose ======= We want to add an option on the widgets - many2many_binary, - binary, - image This option specifies what file extensions the user can pick from the file input dialog box. Examples…
Purpose
=======
We want to add an option on the widgets
- many2many_binary,
- binary,
- image
This option specifies what file extensions the user can pick from the file input dialog box.
Examples
========
```xml
<field widget="many2many_binary" options="{'accepted_file_extensions': 'image/*'}"/>
<field widget="many2many_binary" options="{'accepted_file_extensions': '.png,.jpeg'}"/>
<field widget="many2many_binary" options="{'accepted_file_extensions': 'application/pdf'}"/>
<field widget="image" options="{'accepted_file_extensions': '.png,.jpeg'}"/>
<field widget="image"/> <!-- default value is "image/*" -->
<field widget="binary" options="{'accepted_file_extensions': '.pdf,.svg'}"/>
```
How
===
Add an option (accepted_file_extensions) in the template ``HiddenInputFile`` (the widget many2many_binary is using this template)
So, we can also use this new option in others widgets using ``HiddenInputFile``
In the many2many_binary, read the ``nodeOptions`` and set the widget attribute ``accepted_file_extensions``
We also have to fix some other widget, because an property ``image_only`` was already existing in the template ``HiddenInputFile``
(we just need to replace ``image_only=True`` to ``accepted_file_extensions='image/*'``
The widget ``FieldPdfViewer`` (pdf_viewer) now use the new option to filtrate PDF
(instead of removing the <input/> and adding <input accept='.pdf'/>).
Tests
=====
We also test if the option is correctly set on the <input/>
- binary
- image
- many2many_binary
Impacted widgets
===============
- many2many_binary
- image: this widget use ``options="{accepted_file_extensions='image/*'}"`` instead of ``image_only=True``
- tablet_image: same as ``image``
Task #2082815This update improves the form view experience for base automation, making automation configuration clearer or easier to use. The change is likely a small usability improvement for teams managing automated actions in Odoo.
Original PR description
task : https://www.odoo.com/web#id=2082503&action=327&model=project.task&view_type=form&menu_id=4720 Pad link : https://pad.odoo.com/p/r.30015b26b76505fcbdf24f23372a1eb5 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds automated checks for the grid view to confirm that dates, time zones, read-only cells, and displayed grid data behave correctly. It helps reduce the risk of future changes breaking planning or reporting screens that rely on grid layouts.
Original PR description
**Added python test cases to ensure that methods are returning good values to the webclient.** - Tested grid domain for date and datetime. - Tested grid domain for different timezone. - Tested read grid method. - Tested freeze cell (readonly field). Task Link:- https://www.odoo.com/web?#id=1997665&action=327&model=project.task&view_type=form&menu_id=4720 Pad Link:- https://pad.odoo.com/p/r.02d1500158ccde69b7391b43b338172b
Resolved issues and error corrections
The Chinese small business accounting setup is updated to better match the 2017 accounting standards for small and medium-sized enterprises. This improves compliance and makes account names available in translation files for clearer use in localized environments.
Original PR description
…es COA Steps to reproduce the bug: - Modify some account according to 'Accounting Standards for 2017 Small and Medium-sized Enterprises' - Add account translation into .po file Signed-off-by: Colinliz <lizheng02@inspur.com> 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 master branch version has been updated from the previous 13 alpha label to 14 alpha. This keeps the product version aligned with the latest release cycle and avoids confusion for teams tracking upcoming Odoo versions.
Original PR description
@KangOl @odony looks like you usually do that alongside the new version release but that was missed / forgotten this time around: while 13.0 was version-bumped on October 2nd (9d0f172f29085a6b164313bf20178270b9572cc2) master is still versioned as 13a1.
The Apps Updates screen now displays with a single scrollbar instead of two. This removes a small visual and navigation annoyance, making the update page easier to use.
Original PR description
Description of the issue/feature this PR addresses: Task: https://www.odoo.com/web#id=2082253&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.9f98210747c1770f3cf6a962abee8520 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
Automated tests for manufacturing work orders now include the required start action when using the tablet view. This keeps test coverage aligned with real user flows and helps prevent false failures or missed issues in manufacturing workflows.
Original PR description
Some tests were missing a call to button_start which is mandatory when using the tablet view but not done explicitely when using the form of the tablet view. related to rev e0ec89c76e038a5bc1eeb595c628209e75402658
Documentation and clarification updates
The corporate contributor agreement record for Inspur was updated to include Jack and Jerry, with Jerry's email corrected. This keeps contributor authorization records current for legal and compliance tracking.
Original PR description
modif inspur ccla to add Jack and Jerry , Sorry , i push the commit again to add Jerry's correct email @lap-odoo @mart-e
The corporate contributor agreement record for Inspur was updated to include Jack Sun and Jerry Pan. This keeps Odoo's contributor authorization documentation current for legal and compliance tracking.
Original PR description
modif the inspur.md to add Jack Sun and Jerry Pan @lap-odoo
Miscellaneous changes
Users sometimes define custom models on SQL views e.g. @nseinlet In such a case, Odoo should not attempt to create foreign keys as it just cannot work on views. This could prevent the migration of a database with such a custom model using a view when it attempted to fix the missing foreign keys when updating the modules. Forward-Port-Of: odoo/odoo#38951
Original PR description
Users sometimes define custom models on SQL views e.g. @nseinlet In such a case, Odoo should not attempt to create foreign keys as it just cannot work on views. This could prevent the migration of a database with such a custom model using a view when it attempted to fix the missing foreign keys when updating the modules. Forward-Port-Of: odoo/odoo#38951
Description of the issue/feature this PR addresses: convert dynamic URL to an actually working URL Fixes https://github.com/odoo/odoo/issues/38765 co-authorship @khishigbat Current behavior before PR: As the URL href is just `a href` and not `t-attf-href` it will never be correctly encoded, causing a non-working URL Desired behavior after PR is merged: The URL is dynamically built and does indeed link to the actual blog post. -- I confirm I have signed the CLA and read the PR g
Original PR description
Description of the issue/feature this PR addresses: convert dynamic URL to an actually working URL Fixes https://github.com/odoo/odoo/issues/38765 co-authorship @khishigbat Current behavior before PR: As the URL href is just `a href` and not `t-attf-href` it will never be correctly encoded, causing a non-working URL Desired behavior after PR is merged: The URL is dynamically built and does indeed link to the actual blog post. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38961
- Buy anything with de POS and generate a receipt. Before this commit: The currency symbol is missing everywhere. After this commit: The currency symbol is present next to any price. OPW: 2083186 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38464
Original PR description
- Buy anything with de POS and generate a receipt. Before this commit: The currency symbol is missing everywhere. After this commit: The currency symbol is present next to any price. OPW: 2083186 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38464
Before this commit, the account_render_report tour assumed that account_accountant was installed on any enterprise database. Now, the account_accountant steps are only inserted in the tour when the module is installed. Enterprise PR: https://github.com/odoo/enterprise/pull/6208 Forward-Port-Of: odoo/odoo#38945
Original PR description
Before this commit, the account_render_report tour assumed that account_accountant was installed on any enterprise database. Now, the account_accountant steps are only inserted in the tour when the module is installed. Enterprise PR: https://github.com/odoo/enterprise/pull/6208 Forward-Port-Of: odoo/odoo#38945
Forward-Port-Of: odoo/odoo#38503
Original PR description
Forward-Port-Of: odoo/odoo#38503
Description of the issue/feature this PR addresses: Use the correct function to create answers before starting the survey. Current behavior before PR: We can't start survey as the answers were not created (empty answers) Desired behavior after PR is merged: We can use survey in recruitment process. close #38690 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38779
Original PR description
Description of the issue/feature this PR addresses: Use the correct function to create answers before starting the survey. Current behavior before PR: We can't start survey as the answers were not created (empty answers) Desired behavior after PR is merged: We can use survey in recruitment process. close #38690 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38779
### Description of the issue/feature this PR addresses: A normal field `l10n_latam_document_type_id` is written by a computed method `_compute_l10n_latam_documents`. This is causing that the normal field value set by the user is always been overwritten with the default value written by the compute method ### Current behavior before PR: 1. Create an invoice that use documents 2. Choose a different document type than the default one 3. Refresh the view 4. The default document type is c
Original PR description
### Description of the issue/feature this PR addresses: A normal field `l10n_latam_document_type_id` is written by a computed method `_compute_l10n_latam_documents`. This is causing that the normal field value set by the user is always been overwritten with the default value written by the compute method ### Current behavior before PR: 1. Create an invoice that use documents 2. Choose a different document type than the default one 3. Refresh the view 4. The default document type is chosen again ### Desired behavior after PR is merged: The manually selected document type is not overwritten. IMPORTANT: the `l10n_latam_available_document_type_ids` computed field is changed from a m2m to a o2m to be able to use it on the new onchange -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38311
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38952
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 Forward-Port-Of: odoo/odoo#38952
Marking a workorder as done or cancelling it did not change the workcenter calendar on which the workorder was planned. This could block uselessly time slot for further production This commit remove the calendar event in case of cancellation and set the actual finished date as planned finished date when validating a workorder. Task : 2082442 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confir
Original PR description
Marking a workorder as done or cancelling it did not change the workcenter calendar on which the workorder was planned. This could block uselessly time slot for further production This commit remove the calendar event in case of cancellation and set the actual finished date as planned finished date when validating a workorder. Task : 2082442 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38275
In 12.0, the function onchange_default defined in odoo/models.py was triggered on model 'account.invoice' for the fields type, company_id, partner_id In 13.0, as the model 'account.invoice' has been removed by 'account.move', the same logic must be applied on this model. opw:2086812 Forward-Port-Of: odoo/odoo#38849
Original PR description
In 12.0, the function onchange_default defined in odoo/models.py was triggered on model 'account.invoice' for the fields type, company_id, partner_id In 13.0, as the model 'account.invoice' has been removed by 'account.move', the same logic must be applied on this model. opw:2086812 Forward-Port-Of: odoo/odoo#38849
Description of the issue/feature this PR addresses: `check_company` is intended for [relational fields](https://github.com/odoo/odoo/blob/a7a16b48504cfb944aa70c0258051ca2931a1c6c/odoo/fields.py#L2222). -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38908
Original PR description
Description of the issue/feature this PR addresses: `check_company` is intended for [relational fields](https://github.com/odoo/odoo/blob/a7a16b48504cfb944aa70c0258051ca2931a1c6c/odoo/fields.py#L2222). -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38908
Steps to reproduce the bug: - Create a portal user U - Try to update the details of U from portal Bug: A server error was raised because the country_id was set as a character. opw:2082450 Forward-Port-Of: odoo/odoo#38795
Original PR description
Steps to reproduce the bug: - Create a portal user U - Try to update the details of U from portal Bug: A server error was raised because the country_id was set as a character. opw:2082450 Forward-Port-Of: odoo/odoo#38795
Steps to reproduce the bug: - Create a RFQ - Add a line with a product - Add a line with a note and save - Duplicate the RFQ Bug: A traceback was raised because the function _select_seller was called on a line with no product. opw:2085977 Forward-Port-Of: odoo/odoo#38784
Original PR description
Steps to reproduce the bug: - Create a RFQ - Add a line with a product - Add a line with a note and save - Duplicate the RFQ Bug: A traceback was raised because the function _select_seller was called on a line with no product. opw:2085977 Forward-Port-Of: odoo/odoo#38784
In a list view, create a custom filter involving a date or datetime field Before this commit, the domain that was sent to the server contained the date or datetime as the pure string representation that Moment.js constructs that is a ISO compliant one, containing info on timezone After this commit, the format is the one of the server, in UTC and NOT ISO compliant. Also, the format for date is different from datetime OPW 2085936 OPW 2085951 Description of the issue/feature this P
Original PR description
In a list view, create a custom filter involving a date or datetime field Before this commit, the domain that was sent to the server contained the date or datetime as the pure string representation that Moment.js constructs that is a ISO compliant one, containing info on timezone After this commit, the format is the one of the server, in UTC and NOT ISO compliant. Also, the format for date is different from datetime OPW 2085936 OPW 2085951 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38898 Forward-Port-Of: odoo/odoo#38705
Forward-Port-Of: odoo/odoo#38272
Original PR description
Forward-Port-Of: odoo/odoo#38272
SMS reminders are not timezoned closes #38243 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38400
Original PR description
SMS reminders are not timezoned closes #38243 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38400
[FIX] web: Correctly aggregate values in exported parent groups -------------------- When exporting a grouped list view with some nested groups, the aggregate value of parent groups are not correct. It always sums aggregated values of children whether the group operator is 'sum' or not (could be 'max', 'avg', ...). This behavior is wrong and can even lead to a crash if the aggregated field is a date field (e.g. with group_operator='max'). (Try two sum two dates...) To avoid the crash
Original PR description
[FIX] web: Correctly aggregate values in exported parent groups -------------------- When exporting a grouped list view with some nested groups, the aggregate value of parent groups are not correct.…
[FIX] web: Correctly aggregate values in exported parent groups -------------------- When exporting a grouped list view with some nested groups, the aggregate value of parent groups are not correct. It always sums aggregated values of children whether the group operator is 'sum' or not (could be 'max', 'avg', ...). This behavior is wrong and can even lead to a crash if the aggregated field is a date field (e.g. with group_operator='max'). (Try two sum two dates...) To avoid the crash a quick fix was merged 85cf47f just before OXP. This fix limited the support of aggregates to only int and float fields. This commit remove this limitation. This commit correctly implements the aggregation for parent group for all field types and all group_operator. This commit also improves the export feature tests. [FIX] base export: Manage False in groupby title -------------------- Before this commit, when we export a list with a groupby on boolean, the groupby title 'False' is replaced by 'Undefined' in xls document. After this commit, with an export and groupby on a boolean, we will have correct title: True and False. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#38373
Usecase to repdroduce: - Create a manufactured product with route manufacture and a RR - Run the scheduler. Orderpoint will prepare procurement values's date as string. Other module could possibly also use string as date and a call to from_string will not break anything if the value is already a date or a datetime. Forward-Port-Of: odoo/odoo#38895
Original PR description
Usecase to repdroduce: - Create a manufactured product with route manufacture and a RR - Run the scheduler. Orderpoint will prepare procurement values's date as string. Other module could possibly also use string as date and a call to from_string will not break anything if the value is already a date or a datetime. Forward-Port-Of: odoo/odoo#38895
Before this commit, the account_render_report tour assumed that account_accountant was installed on any enterprise database. Now, the account_accountant steps are only inserted in the tour when the module is installed. Community PR: https://github.com/odoo/odoo/pull/38945 Forward-Port-Of: odoo/enterprise#6208
Original PR description
Before this commit, the account_render_report tour assumed that account_accountant was installed on any enterprise database. Now, the account_accountant steps are only inserted in the tour when the module is installed. Community PR: https://github.com/odoo/odoo/pull/38945 Forward-Port-Of: odoo/enterprise#6208
Bug === The users in the group ``group_social_user`` cannot create Twitter stream of type - Tweets of - Favorite of because they do not have the rights to create ``social.twitter.account`` Task #2085981 Forward-Port-Of: odoo/enterprise#6197
Original PR description
Bug === The users in the group ``group_social_user`` cannot create Twitter stream of type - Tweets of - Favorite of because they do not have the rights to create ``social.twitter.account`` Task #2085981 Forward-Port-Of: odoo/enterprise#6197
The 'Process' button on workorder open the tablet view but also set the time the production start effectively. As we simulate it only by openning the tablet view in tests, we were missing information on the workorder. This commit call button_start() each time we open the tablet in tests Task : 2082442 Forward-Port-Of: odoo/enterprise#5996
Original PR description
The 'Process' button on workorder open the tablet view but also set the time the production start effectively. As we simulate it only by openning the tablet view in tests, we were missing information on the workorder. This commit call button_start() each time we open the tablet in tests Task : 2082442 Forward-Port-Of: odoo/enterprise#5996
Steps to reproduce the bug: - Go to Sales app and open a SO - Open Studio and create an automation Bug: A cache miss was raised due to the display_name opw:2082497 Forward-Port-Of: odoo/enterprise#6183
Original PR description
Steps to reproduce the bug: - Go to Sales app and open a SO - Open Studio and create an automation Bug: A cache miss was raised due to the display_name opw:2082497 Forward-Port-Of: odoo/enterprise#6183
Forward-Port-Of: odoo/enterprise#6007 Forward-Port-Of: odoo/enterprise#5985
Original PR description
Forward-Port-Of: odoo/enterprise#6007 Forward-Port-Of: odoo/enterprise#5985
Forward-Port-Of: odoo/enterprise#6190 Forward-Port-Of: odoo/enterprise#6163
Original PR description
Forward-Port-Of: odoo/enterprise#6190 Forward-Port-Of: odoo/enterprise#6163
This commit adapts the Facebook comments test to avoid as much as possible to try to fetch images. The test is not impacted by images at all and it creates some 404 requests that can slow down the testing process. related to #6157 Forward-Port-Of: odoo/enterprise#6168
Original PR description
This commit adapts the Facebook comments test to avoid as much as possible to try to fetch images. The test is not impacted by images at all and it creates some 404 requests that can slow down the testing process. related to #6157 Forward-Port-Of: odoo/enterprise#6168