Wednesday, December 11, 2019
12 changes · master
Enhancements to existing features
The website cover snippet was simplified so editors can manage its content as one cohesive block. Redundant styling and button alignment options were removed because the editor already handles those choices, making the editing experience clearer and more consistent.
Original PR description
This commit improves the cover snippet: it makes all of the content into a single block to make editing more natural, removes title typography as as this feature will be handled by the editor in the future, and button alignment, which can already be done using the text-alignment feature of the editor. Task-ID: 2152184
The Mass Mailing campaign screens now use clearer SMS wording and show the actual Mail or SMS subject, making campaigns easier to identify. UTM campaign sample records were moved to demo data so standard installations stay cleaner while demo environments keep useful examples.
Original PR description
- In the campaign form view, when you click on "SMS", the filter has changed ``My Mailing`` -> ``My SMS Marketing`` - In the campaign form view, display the Mail/SMS subject instead of the SMS name - In UTM, move the campaign from the data to the demo data Task #2082296
This update adds stable names to page sections across several Odoo apps, making future customizations easier and less fragile. It reduces the risk that upgrades or layout changes will break extensions that target specific pages.
Original PR description
Description of the issue/feature this PR addresses: Since quite some `<page>` elements in Odoo don't have a name or ID they're rather hard to xpath into. This commit gives every page a name so that you can `xpath` safely into a page and all underlying elements. Current behavior before PR: Rather unsafe `xpath` expressions such as `<xpath expr=//page[3]></xpath>` Desired behavior after PR is merged: Safer `xpath` expressions as we can access them by name. For example `<xpath expr=//page[@name='internal_notes']"></xpath>`. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
FIFO product costs now reflect the next item expected to be sold, making inventory valuation more accurate. Sales margins are also recalculated when deliveries are validated, so profitability reports better reflect the real cost of delivered goods.
Original PR description
Improve standard price computation for FIFO product =================================================== Before ------ If a product is FIFO, the standard price is the unit cost of the last released.…
Improve standard price computation for FIFO product
===================================================
Before
------
If a product is FIFO, the standard price is the unit cost of the last released.
```
+ 1 product @ 10€
+ 1 product @ 15€
- 1 product
-> Actual standard price is 10€
```
After
-----
If a product is FIFO, the standard price of the ``product.product`` is the
unit cost of the next product which will be released
```
+ 1 product @ 10€
+ 1 product @ 15€
- 1 product
-> Actual standard price is 15€
```
Improve the margin computation
==============================
Before
------
The margin stay unchanged after the validation of the delivery.
After
-----
The margin is updated when the delivery is validated.
To compute the margin for FIFO products, we use the value in the stock valuation layer as ``standard_price``.
```
e.g.:
IN 1 product @ 10
IN 2 product @ 20
SO 4 products @ 40
After delivery validation (after stock move creation), the margin is
(40 * 4 - 10 - 20 - 20 - 20)
```
Task #2038418The campaign form view now uses an icon that better matches the style used in Social Marketing. This creates a more consistent visual experience across marketing tools without changing functionality.
Original PR description
Change the icon in the campaign form view, to be consistent with the icons in social Task #2082296
The eBay integration now synchronizes based on recent orders instead of checking each product individually. This reduces unnecessary API calls, helps avoid eBay rate limits for larger stores, and keeps product information updated through order activity.
Original PR description
…move product-based synchronisation The order-based synchronisation is the right way to use the eBay API. It only queries the API for the recent orders, and updates products accordingly. The old synchronisation was making queries for each product, which was explicitly discouraged by the API, and went against rate limits for stores with hundreds of products. Start from commit d36a1bf76bd for more details.
Resolved issues and error corrections
This fix prevents the web client from reacting to page navigation changes before its initial user information has finished loading. It improves startup reliability and avoids a timing issue that caused automated click-through testing to fail.
Original PR description
Before this commit, after the introduction of OWL, for some reason, maybe because the session is ready earlier or later, the webclient is opening the first app sightly earlier than before, making it too early. The click_all failed actually because, in the initialization of the webclient, * it does a read on read user, protected by a drop_previous * it tries to start the first applictaion, when this happens, the hash changes ==> because the hash changes, it tries to open an application, with is also protected by the same drop previous, this discarding the result of the read and preventing the then callbacks of the read to happen. After this commit, the handler that listen to the hash changes is added after the read is done. 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
Miscellaneous changes
Use the event ticket price and not the product price for event SO lines. [Task ID - 2154652](https://www.odoo.com/web?#id=2154652&action=333&active_id=1725&model=project.task&view_type=form&menu_id=4720) -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#41725 Forward-Port-Of: odoo/odoo#41708
Original PR description
Use the event ticket price and not the product price for event SO lines. [Task ID - 2154652](https://www.odoo.com/web?#id=2154652&action=333&active_id=1725&model=project.task&view_type=form&menu_id=4720) -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#41725 Forward-Port-Of: odoo/odoo#41708
Before this commit, the `url_code` field value was stored in the cookie instead of the `code` field. Step to reproduce: - Add `fi_FI` as main lang on website - Visit frontend and change lang to `Suomi`, it won't change This behavior was only related to the language switcher. It did not affect dispatching (if correct lang in url) and nearest lang finder. Fixes #41522 Forward-Port-Of: odoo/odoo#41717
Original PR description
Before this commit, the `url_code` field value was stored in the cookie instead of the `code` field. Step to reproduce: - Add `fi_FI` as main lang on website - Visit frontend and change lang to `Suomi`, it won't change This behavior was only related to the language switcher. It did not affect dispatching (if correct lang in url) and nearest lang finder. Fixes #41522 Forward-Port-Of: odoo/odoo#41717
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#41675
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#41675
Currently, empty strings and False have different meaning when assigning a Char or Text field with ORM methods. So avoid setting empty string on `default_code`. opw-2151849 Forward-Port-Of: odoo/odoo#41662
Original PR description
Currently, empty strings and False have different meaning when assigning a Char or Text field with ORM methods. So avoid setting empty string on `default_code`. opw-2151849 Forward-Port-Of: odoo/odoo#41662
Steps to reproduce the bug: - Let's consider a customer C with the status 'In Need of Action' at the first followup level FFL - Let's consider that FFL has the option 'Auto Execute' - Go to the scheduled action 'Account Report Followup; Execute followup' and run it manually Bug: C was still in the status 'In Need of Action' opw:2144992 Forward-Port-Of: odoo/enterprise#7187
Original PR description
Steps to reproduce the bug: - Let's consider a customer C with the status 'In Need of Action' at the first followup level FFL - Let's consider that FFL has the option 'Auto Execute' - Go to the scheduled action 'Account Report Followup; Execute followup' and run it manually Bug: C was still in the status 'In Need of Action' opw:2144992 Forward-Port-Of: odoo/enterprise#7187