Wednesday, March 18, 2020
23 changes · master
New functionality added to Odoo
A new testing script helps verify that Odoo modules can be installed, removed, and installed again without breaking the database. This supports more reliable nightly checks and also fixes a related issue that could cause crashes when duplicate cleanup records appeared during module removal.
Original PR description
Add a script to test uninstallation of modules. This script is a kind of standalone tool. It uses odoo as a library but the odoo server is not started at all. In its standard invocation, it tries an install/uninstall/reinstall cycle for each all module found in the specified database. By specifying '-U', it only tries to uninstall the comma separated list of modules following the argument. That way, this tool can be used on the runbot in nightly builds
Enhancements to existing features
The update improves how accounting tax fields and sales terms fields appear on smaller screens. This makes forms easier to read and use on mobile devices, reducing layout issues and improving the user experience for staff working from phones or tablets.
Original PR description
Task : https://www.odoo.com/web#id=2152164&action=333&active_id=1520&model=project.task&view_type=form&menu_id=4720 Pad : https://pad.odoo.com/p/r.031ef2eb3e07960420ef529c44623e02
Resolved issues and error corrections
This update fixes a small typo in the Mail module's resend message flow. It improves the clarity and polish of the wording users may see, with no expected change to functionality.
Miscellaneous changes
culprit commit: 4837a8eeef9bad014bc62f2704868e2464729f4b Fixed missing 'tag_ids' values for account templates when forward ported above commit from v11.0 to current version. Forward-Port-Of: odoo/odoo#47870
Original PR description
culprit commit: 4837a8eeef9bad014bc62f2704868e2464729f4b Fixed missing 'tag_ids' values for account templates when forward ported above commit from v11.0 to current version. Forward-Port-Of: odoo/odoo#47870
Odoo Studio now uses clearer wording for column title settings and no longer adds default titles to new groups. This reduces confusion when users create new grouped columns and helps them understand what text will appear.
Original PR description
Purpose of this commit is to drop the default group titles and renaming the 'title' group property. task: 30454
PURPOSE When you browse a course's content,the category is displayed as a blank page with a pdf icon, rather than going directly to the next content. The purpose of this commit is to displayed the proper next and previous content. SPECIFICATIONS Every time when we were trying to browse a course's content,the category is displayed as a blank page with a pdf icon, rather than going directly to the next content as there was problem with previous and next button, now its working f
Original PR description
PURPOSE When you browse a course's content,the category is displayed as a blank page with a pdf icon, rather than going directly to the next content. The purpose of this commit is to displayed the proper next and previous content. SPECIFICATIONS Every time when we were trying to browse a course's content,the category is displayed as a blank page with a pdf icon, rather than going directly to the next content as there was problem with previous and next button, now its working fine. PR #46824 Task 2201175 Forward-Port-Of: odoo/odoo#46824
part of Task [2213464](https://www.odoo.com/web#id=2213464&action=333&active_id=1691&model=project.task&view_type=form&cids=&menu_id=4720) regex used for translations: ```regex (#: model:account.tax.report.line,name:.*)\nmsgid "[\S]+ ([^(\n]*("\n"[^(\n]*)?)( ?\(.*\))? \((\d+)\)"\nmsgstr "[\S]+ ([^(\n]*("\n"[^(\n]*)?)( ?\(.*\))? \((\d+)\)"\n ``` -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#47403
Original PR description
part of Task [2213464](https://www.odoo.com/web#id=2213464&action=333&active_id=1691&model=project.task&view_type=form&cids=&menu_id=4720)
regex used for translations:
```regex
(#: model:account.tax.report.line,name:.*)\nmsgid "[\S]+ ([^(\n]*("\n"[^(\n]*)?)( ?\(.*\))? \((\d+)\)"\nmsgstr "[\S]+ ([^(\n]*("\n"[^(\n]*)?)( ?\(.*\))? \((\d+)\)"\n
```
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#47403When the backround is set with the media modal, directly get the URL of the IMG element (equivalent to `.getAttribute('src')`) instead of doing `.src` which returns absolute URI. This fix uses jQuery wrapper so it still works if called with object: $({src: 'test.jpg'}).attr('src') === 'test.jpg' note: before 17237ff31 we already used `.attr('src')`. opw-2215103 Forward-Port-Of: odoo/odoo#47833 Forward-Port-Of: odoo/odoo#47797
Original PR description
When the backround is set with the media modal, directly get the URL of
the IMG element (equivalent to `.getAttribute('src')`) instead of doing
`.src` which returns absolute URI.
This fix uses jQuery wrapper so it still works if called with object:
$({src: 'test.jpg'}).attr('src') === 'test.jpg'
note: before 17237ff31 we already used `.attr('src')`.
opw-2215103
Forward-Port-Of: odoo/odoo#47833
Forward-Port-Of: odoo/odoo#47797When passing a view from `active` `False` to `active` `True`, its xml wasn't being checked, and it could be very well be invalid. e.g. Create a view inheriting from `base.view_partner_form` `active` set to `False` `arch` set to ``` <field name="foo" position="after"> <field name="bar"/> </field> ``` On creation, the `_check_xml` constraint is valid because the view is disabled. Now, write `active` to `True`. Notice no constraint error is raised while the view is invalid.
Original PR description
When passing a view
from `active` `False`
to `active` `True`,
its xml wasn't being checked, and it could be very well be invalid.
e.g.
Create a view inheriting from `base.view_partner_form`
`active` set to `False`
`arch` set to
```
<field name="foo" position="after">
<field name="bar"/>
</field>
```
On creation, the `_check_xml` constraint is valid because the view is disabled.
Now, write `active` to `True`. Notice no constraint error is raised while the view is invalid.
This is particularly critical now that we automatically disable invalid custom views
during upgrades. When the user tries to re-enable the view which has been disabled to see
what was wrong, he doesn't get any error because of this.
Forward-Port-Of: odoo/odoo#47858
Forward-Port-Of: odoo/odoo#46305Previously when we click on transparent option in the web editor text color of the nav links becomes the same hence it was hard to identify active link. In this commit we fixes the above issue so that we can easily identify the active link between all the nav-links. In addition, we have fixed reset button bug. i.e. when we click on the reset button blank value was not getting saved in DB. task-2151408 Forward-Port-Of: odoo/odoo#47718 Forward-Port-Of: odoo/odoo#45351
Original PR description
Previously when we click on transparent option in the web editor text color of the nav links becomes the same hence it was hard to identify active link. In this commit we fixes the above issue so that we can easily identify the active link between all the nav-links. In addition, we have fixed reset button bug. i.e. when we click on the reset button blank value was not getting saved in DB. task-2151408 Forward-Port-Of: odoo/odoo#47718 Forward-Port-Of: odoo/odoo#45351
Before this commit, when a user try to import data with a XLSX file, the file was mistaken by an SVG file. This issue arises because a XLSX file from import isn't encoded in base64, and for testing if the file is an SVG file it will be decoded. base64.b64decode by default (when validate is False), will remove all characters that are in the base-64 alphabet from the input prior to decode. So in our case, when the non encoded XSLX file is force decoded the results starts, unluckily, with '<
Original PR description
Before this commit, when a user try to import data with a XLSX file, the file was mistaken by an SVG file. This issue arises because a XLSX file from import isn't encoded in base64, and for testing…
Before this commit, when a user try to import data with a XLSX file, the file was mistaken by an SVG file. This issue arises because a XLSX file from import isn't encoded in base64, and for testing if the file is an SVG file it will be decoded. base64.b64decode by default (when validate is False), will remove all characters that are in the base-64 alphabet from the input prior to decode. So in our case, when the non encoded XSLX file is force decoded the results starts, unluckily, with '<' and it's mistaken by an XML/SVG file. Note that, the XSLX file is wrongly tested because a XSLX file is just a ZIP file, and all the ZIP files start with PK\x03\x04, and P is the first byte of a base64 encoded XML file. Now, only files that were previously encoded into base64 are decoded to be tested. The validate = True parameter in base64.b64decode will raise a binascii.Error if there are a non-base64-alphabet characters in the input, this will allow us to know if the input was or wasn't base64 prior encoded. As base64.b64decode with validate = False, removed the non-base64-alphabet characters this allows to decode input files compatible with RFC 2045 (MIME). The files compatible with this standard will have a newline character (b'\n') after every 76 bytes of the output, and end with a newline. To keep backwards compatibility, we remove the newlines and the carriage return from the input before the decoding. opw-2194468 closes #36081 closes #31849 closes #33543 Co-authored-by: Xavier Morel <xmo@odoo.com> Forward-Port-Of: odoo/odoo#47805 Forward-Port-Of: odoo/odoo#47382
Due to a typo, dropshipping sequences were created twice. We created a "stock.dropshipping" sequence if no "stock.dropshippping" sequence was found. Forward-Port-Of: odoo/odoo#47877
Original PR description
Due to a typo, dropshipping sequences were created twice. We created a "stock.dropshipping" sequence if no "stock.dropshippping" sequence was found. Forward-Port-Of: odoo/odoo#47877
Forum users can follow tags and will be notified when a new post includes the tag. However the person posting it does not have access to the list of followers, so the notification would fail with an AccessError. The OP would get a 403 page and the post would not be posted. Forward-Port-Of: odoo/odoo#47856
Original PR description
Forum users can follow tags and will be notified when a new post includes the tag. However the person posting it does not have access to the list of followers, so the notification would fail with an AccessError. The OP would get a 403 page and the post would not be posted. Forward-Port-Of: odoo/odoo#47856
Full rights were not granted on technical models for managers leading to issues notably when archiving. Followup of 90bf317c013323ed9f6195d61440e2bd0e09ac2c Task ID 2219806 Forward-Port-Of: odoo/odoo#47899
Original PR description
Full rights were not granted on technical models for managers leading to issues notably when archiving. Followup of 90bf317c013323ed9f6195d61440e2bd0e09ac2c Task ID 2219806 Forward-Port-Of: odoo/odoo#47899
Forward-Port-Of: odoo/odoo#47859 Forward-Port-Of: odoo/odoo#47855
Original PR description
Forward-Port-Of: odoo/odoo#47859 Forward-Port-Of: odoo/odoo#47855
Before this commit: We have an error when we try to validate wizard for departure holiday attest. And values writted in wizard are overridden with compute. After this commit: We replace compute (used only for default value) by default function. Fix a date in template. Forward-Port-Of: odoo/enterprise#9238 Forward-Port-Of: odoo/enterprise#9224
Original PR description
Before this commit: We have an error when we try to validate wizard for departure holiday attest. And values writted in wizard are overridden with compute. After this commit: We replace compute (used only for default value) by default function. Fix a date in template. Forward-Port-Of: odoo/enterprise#9238 Forward-Port-Of: odoo/enterprise#9224
Before this commit, for an incoming call, only the phone number was shown, even if the contact is registered as a contact. The phone number used to search the contact, has the standard for an international call prefix (double zero), and the numbers in the contact uses the '+' as international call prefix. For e.g : 0032412345678 call and a contact using this phone number is searched instead of +32412345678 (which is the value stored in the db). Fine-tunning of 8c03446f57999ed23d9ee9e7
Original PR description
Before this commit, for an incoming call, only the phone number was shown, even if the contact is registered as a contact. The phone number used to search the contact, has the standard for an international call prefix (double zero), and the numbers in the contact uses the '+' as international call prefix. For e.g : 0032412345678 call and a contact using this phone number is searched instead of +32412345678 (which is the value stored in the db). Fine-tunning of 8c03446f57999ed23d9ee9e77797b22af9606063 OPW-2187771 Forward-Port-Of: odoo/enterprise#9330
Task: <a href="https://www.odoo.com/web?debug=1#id=2212790&action=327&model=project.task&view_type=form&cids=2&menu_id=4720">2212790</a> Forward-Port-Of: odoo/enterprise#9268
Original PR description
Task: <a href="https://www.odoo.com/web?debug=1#id=2212790&action=327&model=project.task&view_type=form&cids=2&menu_id=4720">2212790</a> Forward-Port-Of: odoo/enterprise#9268
140 characters is the limit defined by ISO20022; SEPA is more restrictive and sets a limit of 70 characters. Source: https://www.europeanpaymentscouncil.eu/sites/default/files/kb/file/2018-12/EPC130-08%20SDD%20Core%20C2B%20IG%202019%20V1.0.pdf Forward-Port-Of: odoo/enterprise#9310 Forward-Port-Of: odoo/enterprise#9292
Original PR description
140 characters is the limit defined by ISO20022; SEPA is more restrictive and sets a limit of 70 characters. Source: https://www.europeanpaymentscouncil.eu/sites/default/files/kb/file/2018-12/EPC130-08%20SDD%20Core%20C2B%20IG%202019%20V1.0.pdf Forward-Port-Of: odoo/enterprise#9310 Forward-Port-Of: odoo/enterprise#9292
Status : For the moment, the "load more" button skip some lines each time we use it. The splice is not used correctly. For example, on a array of 75, we see the first 30 lines. The splice function cuts the array in two : The first 30 lines on one and last 45 lines in an other. After the cut, we say that an index is at 30 to split on the load more. When we click on "Load more", we check the second array. But, as we use the index at 30 for the splice function, we skip the first 30 lines of the sec
Original PR description
Status : For the moment, the "load more" button skip some lines each time we use it. The splice is not used correctly. For example, on a array of 75, we see the first 30 lines. The splice function cuts the array in two : The first 30 lines on one and last 45 lines in an other. After the cut, we say that an index is at 30 to split on the load more. When we click on "Load more", we check the second array. But, as we use the index at 30 for the splice function, we skip the first 30 lines of the second array (with only 45 lines so we needed to take the first 30 lines) and only show the last 15 lines. Expected : When we click on "load more" button, we need to respect the pagerIndex and not remove elements. Fix : Changing the way we use the splice. Using slice instead of splice. note: enterprise forward port of community odoo/odoo#47803 opw-2171734 Forward-Port-Of: odoo/enterprise#9305
Making modules uninstallable was mainly meant for the IOT/hw_pos modules, not to not let a user click on the install of a module that is still in dependency, but should not be installed on its own. The problem is that when people install/update the correct module, l10n_co_edi stays as uninstallable and l10n_co_edi_ubl_2_1 (which has l10n_co_edi as dependency) as "installing" (you can just cancel the installation, but it won't finish) By reverting this commit, you need to cancel and t
Original PR description
Making modules uninstallable was mainly meant for the IOT/hw_pos modules, not to not let a user click on the install of a module that is still in dependency, but should not be installed on its own. The problem is that when people install/update the correct module, l10n_co_edi stays as uninstallable and l10n_co_edi_ubl_2_1 (which has l10n_co_edi as dependency) as "installing" (you can just cancel the installation, but it won't finish) By reverting this commit, you need to cancel and then reinstall l10n_co_edi_ubl_2_1 and then it will work (although I needed to do it twice because of the module installability updating) This reverts commit d642bd8832d6e3b88ee7136e2fe33357837082f3. Forward-Port-Of: odoo/enterprise#9324
Steps to reproduce the bug: - Create a SEPA direct debit mandate for a customer in the Accounting App. - Create an invoice for that customer. - Upon validation of the invoice, it appears automatically as "paid" or "in payment" according to the settings of the related bank journal. - In the accounting overview, on the related bank journal, you see that there are "X Direct debit payments to collect". - Click to access to the payments to collect. - Select some payments to collect from the
Original PR description
Steps to reproduce the bug: - Create a SEPA direct debit mandate for a customer in the Accounting App. - Create an invoice for that customer. - Upon validation of the invoice, it appears…
Steps to reproduce the bug: - Create a SEPA direct debit mandate for a customer in the Accounting App. - Create an invoice for that customer. - Upon validation of the invoice, it appears automatically as "paid" or "in payment" according to the settings of the related bank journal. - In the accounting overview, on the related bank journal, you see that there are "X Direct debit payments to collect". - Click to access to the payments to collect. - Select some payments to collect from the list view > Action > "Create Batch Payment" - Validate the batch payments - A pop-up window suggesting to download the generated XML file is displayed - Generate the XML file Bug: The length of some nodes exceeded the expected limitation PS: in python2, string is in byte and in python3 string is in unicode In unicode some characters can be encoded in two bytes, that's why the limit was exceeded. opw:2215998 Forward-Port-Of: odoo/enterprise#9299 Forward-Port-Of: odoo/enterprise#9289
Same as 77a2bdc9379ec851afa20171048303fd647673f7 opw-2210531 Forward-Port-Of: odoo/enterprise#9300
Original PR description
Same as 77a2bdc9379ec851afa20171048303fd647673f7 opw-2210531 Forward-Port-Of: odoo/enterprise#9300