Thursday, February 29, 2024
9 changes · saas-17.1
New functionality added to Odoo
This update introduces direct integration with Starshipit, a leading fulfillment provider specializing in Australia and New Zealand. Users can now automatically receive shipping rates and options through Odoo, streamlining the order fulfillment process for online businesses. This enhancement supports key markets and improves shipping efficiency.
Original PR description
Starshipit is the leading provider of integrated and automated fulfillment solutions for online businesses integrating with the leading carriers used in Australia and New Zealand, such as Australia Post, DHL, Aramex, CouriersPlease, and more This PR will add support to integrate with starshipit directly in Odoo, providing rates and shipping for users who need it. Task ID # 3041982 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#135839
Enhancements to existing features
This update enhances the testing of Odoo's email functionality, specifically focusing on how event attendee emails are sent in batches. The changes include new tests for batch email sending, improved test setup for event scheduling, and added checks for registration emails. These improvements ensure more reliable email delivery and scalability.
Original PR description
PURPOSE Mail: add tests for MailTemplate send_mail Several flows use MailTemplate.send_mail() in batch, notably event email scheduler which sends emails to event attendee in batch. This commit adds…
Resolved issues and error corrections
This update corrects duplicated navbar and mega menu elements, improving website stability and user experience. The changes ensure consistent menu behavior across desktop and mobile views, addressing synchronization problems and preventing unexpected behavior during interactions.
Original PR description
This PR fixes issues linked to the new headers: - fix the duplicated navbar ids - consider Offcanvas instead of Collapse for "burger" menus - fix the header history, as some observed changes were breaking it (needed for the next commit, but should also be backported in earlier versions) - fix duplicated mega menu synchronization issues task-3609531 opw-3730165 Forward-Port-Of: odoo/odoo#146492
PURPOSE
Mail: add tests for MailTemplate send_mail
Several flows use MailTemplate.send_mail() in batch, notably event email
scheduler which sends emails to event attendee in batch. This commit adds
tests around 'send_mail' method of MailTemplate model
* add tests for batch: it is currently not supported hence using a loop but
batch is going to be added soon, allowing to test the batch version works
as intended;
* add query counters, notably for batch mode and when dynamic reports are
involved in templates;
Event: improve mail scheduler tests
Make them easier to improve and modify
* use a dedicated setup (allowing to add specific unit tests on test data);
* move initial asserts into its own unit test (to keep other tests shorter);
* use available mocks for freezetime and sql.now;
Then add tests for registration emails, to check what happens for communication
scheduled right at registration time.
LINKS
Part of Task-3764894: Event: Allow using cron triggers for communication
Part of Task-3764891: Mail: Batch-ize MailTemplate send_mail
Part of Task-3164278: Mail: Batch send: ensure limit, avoid force
Part of Task-3084943: Event: Improve communication scheduler scalability
Forward-Port-Of: odoo/odoo#155717This update resolves a previous issue where users couldn't successfully unsubscribe phone numbers from receiving SMS notifications. The fix ensures users can now properly blacklist numbers and opt out of SMS communications, improving the reliability of the mass mailing system. This was a follow-up to a previous bug fix.
Original PR description
**Description of the issue/feature this PR addresses:** Before this PR: Users encountered errors when attempting to unsubscribe a phone number from receiving SMS. After this PR: Now, issue has been fixed, allowing users to successfully blacklist numbers and opt out of receiving SMS notifications. issue raised from - (https://github.com/odoo/odoo/commit/adfdf5ab33e719a55f65e2d9ff34ff265fe1b579) task-3651401 Forward-Port-Of: odoo/odoo#152638
This update fixes an issue where UBL invoice imports didn't correctly account for line quantities, leading to incorrect tax calculations. The fix ensures that fixed tax amounts are properly adjusted based on the quantity of items, improving the accuracy of imported invoices. A new test case has also been added to verify this functionality.
Original PR description
Fix import of invoices with fixed taxes, discount and quantity > 1. When exporting the UBL xml, we compute the fixed tax amount of the line and create a charge on the line with this amount (e.g. see the test). When importing this xml, we read the charges with code 'AEO' on each lines and use the `amount` and `name` to search the fixed taxes on the database. This issue is that we do not take the quantity of the line into account: if we have a line with quantity = 2, and the fixed tax amount = 1, the xml indicates a charge of 2. When we import the line, the amount of the fixed tax to be searched should be 2 / quantity = 1. In addition, add an test for the export and import of a line with quantity > 1, a discount, a fixed tax and a regular tax. opw-3717306 Forward-Port-Of: odoo/odoo#155468 Forward-Port-Of: odoo/odoo#153639
This update ensures that tax information is correctly displayed on Point of Sale (POS) tickets in India, as required by local regulations. Previously, this crucial detail was missing, creating a compliance issue. This change ensures Odoo POS systems meet Indian tax reporting standards.
Original PR description
In India, it is mandatory to show the tax info This commit solves the issue where tax info was missing on POS ticket 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 update fixes a calculation error in the Point of Sale module. Previously, taxes with multiple distribution lines were incorrectly multiplying the base amount, leading to inaccurate sales totals. This change ensures the base amount is calculated only once, resulting in correct tax calculations and improved sales reporting.
Original PR description
Before this commit, if a tax had multiple distribution lines, the base amount was calculated for each line. This resulted in the base amount being multiplied by the number of distribution lines. This issue has been resolved by ensuring the base amount is counted only once for each tax and line. opw-3696800 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#154783 Forward-Port-Of: odoo/odoo#152823
This update resolves an issue preventing Romanian companies from generating CIUS-RO XML invoices without a country code prefix on their VAT IDs. The fix adjusts how the system handles Romanian tax IDs, ensuring compliance with XML validation rules while allowing for the valid practice of not including the 'RO' prefix. This improves the usability of the CIUS-RO feature for Romanian businesses.
Original PR description
Previously, when exporting CIUS-RO XML and the supplier (company) or customer doesn't have a country code prefix on either their VAT or company ID, an error will be thrown preventing the user from…
Previously, when exporting CIUS-RO XML and the supplier (company) or customer doesn't have a country code prefix on either their VAT or company ID, an error will be thrown preventing the user from generating the XML. But after allowing the XML generating process, the XML is then rejected by the validator because of `BR-CO-09` rule: ```xml <assert id="BR-CO-09" flag="fatal" test="( contains( ' 1A AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH EL ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS XI YE YT ZA ZM ZW ',substring(cbc:CompanyID,1,2) ) )">[BR-CO-09]-The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix ‘EL’.</assert> ``` In Romania however, there are multiple types of "Tax IDs", and it is perfectly valid in Romania to have a Tax ID without RO (country code prefix) in front of them. They are not a subject to paying VAT, and it should still be possible to generate CIUS-RO XML with their tax identifications. This commit aims to fix this behavior by applying some special treatment to Romanian partners when generating the XML: by modiying the TaxScheme ID. The error only raises when the detected ID is 'VAT'. This commit also fixes and clean some of the irrelevant constraints and tests previously written in `l10n_ro_edi`. task-id: 3649426 Forward-Port-Of: odoo/odoo#155252
This update fixes a bug where Kanban progress bars weren't showing the correct aggregated data when grouped by date or many2one fields. The fix ensures that the system accurately calculates and displays the aggregate values, improving the usability of the Kanban view. This also includes a related fix to the testing environment, allowing for more robust testing of this functionality.
Original PR description
Before this commit, in a kanban view grouped by a date(time) field, with progressbars and an aggregate field, after clicking on a bar to filter records, the aggregate value was always 0. This was due…
Before this commit, in a kanban view grouped by a date(time) field, with progressbars and an aggregate field, after clicking on a bar to filter records, the aggregate value was always 0. This was due to a mismatch when trying to find the value of the aggregate in the web_read_group result, as when grouped by a date or datetime field, the key is `fieldname:granularity`, and we were looking for the fieldname only. This commit fixes the issue. It also fixes the mocked version of read_progress_bar in the MockServer, s.t. we can correctly reproduce the scenario in tests, as in the previous version, keys in the returned object weren't computed the same way as in the real read_progress_bar (e.g., "14,Mitchel", instead of "Mitchel"). A similar fix has been done in [1]. This allows us to introduce a test when grouped by many2one, which doesn't work as of 17.0. [1] fd759f18d056844c486a68d0c394df5a03e789f0 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#155701 Forward-Port-Of: odoo/odoo#155524