Wednesday, December 11, 2019
6 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.