Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REF] [16.0] sale_product_configurator: disable auto install #80

Draft
wants to merge 123 commits into
base: 16.0
Choose a base branch
from

Commits on Dec 7, 2023

  1. [FIX] sale_project: fix missing space in milestone name and SOL

    Steps to reproduce:
    - Open Project
    - Go to project for which sale order item is created
    - By clicking on three dots, go to Project Updates
    - In right side panel, milestone section, there is no space between milestone
      name and the SOL
    
    Issue:
    - This lack of spacing between milestone name and SOL makes it difficult for
      users to read and understand milestone information.
    
    Cause:
    - The project.update right-side panel was displaying milestone names and SOL
      without a space, causing readability issues for users.
    
    Solution:
    - added a space between the milestone name and SOL.
    
    task-3545942
    
    closes odoo#138384
    
    Related: odoo/enterprise#52227
    Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
    irsa-odoo authored and ppr-odoo committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    8096fdd View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. [FIX] website: prevent default submit

    Steps to reproduce:
    -------------------
    - on ecommerce, activate "Extra Info" feature;
    - go to the extra info form;
    - write something for "Your Reference";
    - press Enter.
    
    Issue:
    ------
    The Bad Request message is displayed.
    
    Cause:
    ------
    Pressing Enter triggers the form's default submit.
    To use the controller of the `/website/form/shop.sale.order` route,
    we need to apply the JS logic of the `s_website_form`
    widget (the `send` function).
    
    Solution:
    ---------
    Add an event for the `submit` which will prevent
    the default behaviour and send the form data.
    
    opw-3591135
    
    closes odoo#145479
    
    X-original-commit: 51cabec
    Signed-off-by: Romain Derie (rde) <rde@odoo.com>
    Signed-off-by: Thomas Lefebvre (thle) <thle@odoo.com>
    thle-odoo committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    e387e7f View commit details
    Browse the repository at this point in the history
  2. [FIX] web_editor: fix snippet name overflows

    If the snippet names are too long (e.g., after being translated), they
    overflow and cause a horizontal scrollbar to appear on the snippet menu.
    
    Steps to reproduce the issue:
    
    - Set 'Finnish' as the language for the connected user in Odoo.
    - Go to Website edit mode.
    - Bug: Some snippet names are too long and overlfow their parent
    elements.
    
    This commit fixes this issue by adding the CSS rule 'ellipsis' to
    snippet names.
    
    task-3584011
    
    closes odoo#145478
    
    X-original-commit: 0ab6400
    Signed-off-by: Romain Derie (rde) <rde@odoo.com>
    Signed-off-by: Benjamin Vray (bvr) <bvr@odoo.com>
    bvr-odoo committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    2fcefb0 View commit details
    Browse the repository at this point in the history
  3. [FIX] point_of_sale: fix firefox customer display

    Current behavior:
    Firefox customer display was not correctly loading the CSS and the display was not correct.
    
    Steps to reproduce:
    - Setup an IoT box with a customer display
    - Open the IoT box customer display in Firefox
    - Link the customer display to a POS
    - Open the POS and add some products to the order
    - The customer display is not correctly displayed
    
    opw-3509606
    
    closes odoo#145538
    
    X-original-commit: b2fa692
    Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
    Signed-off-by: Robin Engels (roen) <roen@odoo.com>
    robinengels committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    d239c78 View commit details
    Browse the repository at this point in the history
  4. [FIX] pos_loyalty: ensure customer name prints without points activity

    Since the update in odoo@d4b366f, the POS loyalty program stopped
    printing customer names on receipts for transactions without points won
    or spent. Originally, printing a loyalty program also included the
    customer's name, which users relied on to print the customer's name
    on receipts.
    
    This commit ensures the customer's name is printed on the receipt,
    regardless of whether any loyalty points were won or spent.
    
    opw-3620536
    
    closes odoo#144521
    
    Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
    pedrambiria committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    5703725 View commit details
    Browse the repository at this point in the history
  5. [FIX] calendar: optimize _compute_meeting

    __Current behavior before commit:__
    `_compute_meeting` computes the meetings linked to the children of the
    partners in `self`. To do so, it first retrieves all children partners
    of `self`, then it loops through all of them to apply the meetings to
    the parents.
    
    This way of doing is inefficient because it is useless to iterate over
    the children that don't have any meetings. Moreover, in each iteration
    we loop again through `all_partners` which makes this function execute
    in O(n²).
    
    This can be particularly annoying if a partner is a big company with
    100k+ children partners. If this company apperas in the res.partner
    kanban view, it will load for several minutes even if no partner has a
    meeting.
    
    __Description of the fix:__
    Loop only through the partners that have a meetings instead of all
    children partners.
    Improve the line that retrieves a partner parent from O(n) to O(1).
    
    Improve `test_meeting_count` to test the case where only the child
    partner has a meeting but the parent has initially none. This test
    improvement is a forward port of [odoo#144575][1].
    
    __Benchmark:__
    
    | len(all_partners) | w/o fix | with fix |
    | ----------------- | ------- | -------- |
    | 10k               | 10 s    | 800 ms   |
    | 150k              | > 3 min | 1.82 s   |
    
    opw-3511371
    
    [1]: odoo#144575
    
    closes odoo#145528
    
    X-original-commit: 347af7f
    Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
    Dj0ulo committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    dc15ac5 View commit details
    Browse the repository at this point in the history
  6. [FIX] point_of_sale: exclude internal reference in loaded products

    Previously, products loaded from the background included the internal
    reference in their displayed name. This behavior was due to the
    'display_default_code' context, which prevents the inclusion of
    'default_code' in the product name, not being utilized within the
    'get_pos_ui_product_product_by_params' function.
    
    opw-3617195
    
    closes odoo#144204
    
    Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
    pedrambiria committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    b6c87e4 View commit details
    Browse the repository at this point in the history
  7. [FIX] l10n_fr_pos_cert: avoid crash on backspace with empty order

    Prior to this commit, pressing the backspace key to remove an orderline
    when no orderline was present resulted in a traceback error.
    
    opw-3622679
    
    closes odoo#144714
    
    Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
    pedrambiria committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    4bebc11 View commit details
    Browse the repository at this point in the history
  8. [FIX] account: speedup _compute_tax_country_id

    Speedup computation of tax_country_id by first filtering
    on record with fiscal_position_id.foreign_vat. Then group records
    without foreign_vat by company_id and call __setitem__ on each group.
    
    In the best case (1 company and no record with foreign_vat) this gives
    a speedup of 7.37s -> 450ms for 1000 records.
    This also speeds up the importing of account_bank_statements.
    
    opw-3576526
    
    closes odoo#144713
    
    X-original-commit: d507a86
    Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
    Aurelienvd committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    c14d4a4 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2023

  1. [FIX] base: fix default currency for Montenegro

    The issue:
    the default currency for Montenegro is LYD (Libyan Dinar) instead of EUR
    
    The fix:
    Set it to EUR
    
    opw-3601783
    
    closes odoo#145650
    
    X-original-commit: 97c57c8
    Signed-off-by: Habib Ayob (ayh) <ayh@odoo.com>
    AMZIL Ayoub committed Dec 9, 2023
    Configuration menu
    Copy the full SHA
    b1a9aeb View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2023

  1. Configuration menu
    Copy the full SHA
    43ba790 View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2023

  1. [FIX] website_sale: add message to translation

    Steps to reproduce:
    - install the e-commerce module
    - in General settings, add and switch French -or any- language
    - Go to website
    - Under e-commerce > product in the menu bar
    - click on any product
    - click on go to website smart button
    - click on edit button to edit the website page
    - choose any block to insert, You can notice the message (DROP BUILDING BLOCKS HERE TO MAKE THEM AVAILABLE ACROSS ALL PRODUCTS) stays in English
    
    Investigation
    - The message is not add to website_sale.pot file, as the message string passed to an attribute not an actual string inside a tag.
    
    opw-3573881
    
    closes odoo#145466
    
    X-original-commit: 144893c
    Signed-off-by: Ali Hassan Youssef (alhy) <alhy@odoo.com>
    AH-Yussef committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    9a595cd View commit details
    Browse the repository at this point in the history
  2. [FIX] web: toggler button must remain visible

    To reproduce
    ============
    - go on any record with list view (for example a Quotation)
    - Check many hidden fields in the list view to show them
    - The dialogue box for checking and unchecking hidden fields moves
    with the horizontal scrollbar, sometimes even going off screen.
    
    Problem
    =======
    the position of the dropdown menu is computed using the position of the toggler
    butoon, so if this button moves the menu moves with it
    
    Solution
    ========
    make the toggler button sticky so it's always visible and the dropdawn menu
    will keep same position.
    
    opw-3589726
    
    closes odoo#144368
    
    Signed-off-by: Bastien Fafchamps (bafa) <bafa@odoo.com>
    abla001 committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    6fb2619 View commit details
    Browse the repository at this point in the history
  3. [FIX] product: Typo in min_quantity and min_qty accuracy

    The accuracy "Product Unit Of Measure" does not exist, it is "Product Unit of Measure"
    
    closes odoo#145191
    
    Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
    SirAionTech committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    8a8a372 View commit details
    Browse the repository at this point in the history
  4. [FIX] microsoft_calendar: allow resetting account with option deletion

    Before this commit, when the microsoft sync was reset with the following options:
    - Delete from the current Microsoft Calendar account
    - Delete from both
    
    An rpc error was encountered:
    
    requests.exceptions.HTTPError: 400 Client Error: Bad Request for url:
    https://graph.microsoft.com/v1.0/me/calendar/events/<event_id>
    
    After this commit, the local events are deleted if necessary and
    the non-recurring events are deleted on microsoft. We keep the
    recurring one to be consistant with
    odoo@29ce2f0
    
    closes odoo#133051
    
    closes odoo#145340
    
    Taskid: 3437386
    Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
    Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
    arj-odoo committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    86d6585 View commit details
    Browse the repository at this point in the history
  5. [PERF] account: Add index on partner_id in AM

    Issue:
    The _predicted_field is still slow after refactor.
    
    Analyze:
    Due to the refactor of the query made in account_move.py
    _predicted_field, an index is needed on partner_id.
    
    Fix:
    Add an index on partner_id Many2One.
    
    Note:
    The previous PR has already been merged
    https://github.com/odoo/enterprise/pull/50911 but without the index it
    is not as fast as expected. This index had been added by
    hand.
    
    Benchmark:
    | # Input data | Before PR | After PR |
    |:-------------:|:----------:|:---------:|
    |   30M                |    22.827 s            |     18.59 ms|
    
    Related task:
    opw-3539632
    
    closes odoo#145675
    
    X-original-commit: a0475f3
    Signed-off-by: William André (wan) <wan@odoo.com>
    Signed-off-by: Benjamin Hanquin (beha) <beha@odoo.com>
    beha-odoo committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    50ecb11 View commit details
    Browse the repository at this point in the history
  6. [FIX] website: fix misaligned elements in headers

    This commit correctly aligns certain header elements when the CTA button
    has a larger vertical padding.
    
    Steps to reproduce the issue:
    
    - Install 'eCommerce' on your website.
    - In Website edit mode, click on the 'THEME' tab.
    - Adjust the vertical padding of buttons to 25px.
    - Click on the header in the page.
    - In the 'STYLE' tab, select the 'Slogan' header.
    - Bug: The 'user' selector is not aligned with the CTA button.
    - In the 'STYLE' tab, select the 'Centered Logo' header.
    - Bug: The 'user' selector and the 'cart' button are not aligned with
    the CTA button.
    
    task-3478334
    
    closes odoo#145678
    
    X-original-commit: d2f6710
    Signed-off-by: Outagant Mehdi (mou) <mou@odoo.com>
    Signed-off-by: Benjamin Vray (bvr) <bvr@odoo.com>
    bvr-odoo committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    97ccef0 View commit details
    Browse the repository at this point in the history
  7. [FIX] website_sale: sale ribbons disappearing

    Current behaviour:
    When removing the ribbon from a product,
    the other ribbons are removed as well.
    
    Steps to reproduce:
    1. Go to website
    2. Go to Shop
    3. Click on Edit (top right)
    4. Add a ribbon to multiple products
    5. Click on Save
    6. Select a product with a ribbon
    7. Remove the ribbon
    8. (other ribbons are gone)
    
    Cause of the issue:
    Reverting fix introduced by odoo@5d13fa5
    t-out was modified into t-field to be considered dirty when modified.
    but when removing a ribbon, t-field is set as empty,
    which overwrites ribbons html value.
    
    opw-3487397
    
    closes odoo#135908
    
    Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
    ande-odoo committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    71bdf1f View commit details
    Browse the repository at this point in the history
  8. [FIX] purchase: Average cost report rounding

    Steps to reproduce:
    - Decimal Accuracy for Product Price > 4 digits
    - Purchase a product using a price (1.2345 in my example)
    - Go to Purchase > Reporting
    - Enable the List View
    - Add the field Average Cost (price_average)
    - This displays as just two decimals
    
    Note:
    can be edited with studio but you can just add the field "price_average"
    to the "purchase_report_view_tree" view xml
    
    Fix:
    round using product price Accuracy
    
    opw-3560792
    
    closes odoo#145646
    
    X-original-commit: d5a3430
    Signed-off-by: William Henrotin (whe) <whe@odoo.com>
    Signed-off-by: Walid Hanniche (waha) <waha@odoo.com>
    HANNICHE-Walid committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    2040a87 View commit details
    Browse the repository at this point in the history
  9. [FIX] im_livechat: fix button translation for feedback

    Before this commit, the "Send" button on the feedback form for livechat was not
    translatable.
    
    This commit follows 8908de0 which fixed
    translations for those templates.
    
    opw-3509309
    
    closes odoo#145648
    
    X-original-commit: 58a20d8
    Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
    adrienmilis committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    3a543f6 View commit details
    Browse the repository at this point in the history
  10. [FIX] point_of_sale: Correct Coins/Bills count in cash control

    Prior to this commit, an issue was identified with the Coins/Bills
    feature during the opening and closing cash control process. The
    counted amount for coins and bills was always incorrectly displayed as
    0, regardless of the actual amount entered.
    
    With this correction, it now accurately displays the counted amount for
    coins and bills, ensuring reliable and precise cash management.
    
    opw-3593300
    
    closes odoo#145676
    
    X-original-commit: 30b5ce3
    Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
    Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
    pedrambiria committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    9f9ec76 View commit details
    Browse the repository at this point in the history
  11. [FIX] hr_timesheet: fix the alignment isssue for the label

    Description of the issue/feature this PR addresses:
    Within the project task form view, in the timesheet notebook, the "Remaining
    Hours on SO" label becomes misaligned when the planned hours are set to 0.
    
    Fix:
    To ensure proper alignment, add a condition for the label.
    
    task:3468392
    
    closes odoo#134078
    
    Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
    gusi-odoo committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    c8b4d2a View commit details
    Browse the repository at this point in the history
  12. [FIX] mail,web: list_activity widget: keep list offset

    Before this commit, interacting with the list_activity widget (e.g.
    mark activity done, schedule activity...) in a list view reloaded
    the list, and the offset was lost. In other words, if the user did
    such an operation without being on the first page of the list, it
    automatically came back to the first page when reloading, which was
    annoying.
    
    With this commit, we keep the offset when reloading, so the list
    remains on the same page.
    
    Note that as of 17.0, the problem doesn't occur as we only reload
    the altered record, instead of the whole list.
    
    OPW 3359567
    
    closes odoo#145792
    
    Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
    aab-odoo committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    ee1c20f View commit details
    Browse the repository at this point in the history
  13. [FIX] core: harden the legacy migrations package matching regex

    Since odoo#122569, we now try to import the migrations sub-package of each module to find upgrade tests.
    However, this badly written regex match the OCA module base_maintenance, which generate a RecursionError.
    It was partially fixed on odoo#136282 but some collateral damages where raised on tests
    
    closes odoo#145800
    
    Signed-off-by: Christophe Simonis (chs) <chs@odoo.com>
    etobella committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    38eacb2 View commit details
    Browse the repository at this point in the history
  14. [FIX] pos_sale: display Internal Reference for loaded orderlines

    Previously, after the changes made in odoo@5a0113a, PoS stopped
    showing the internal ref for products in imported sale orders.
    
    opw-3620141
    
    closes odoo#145649
    
    X-original-commit: 51776fc
    Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
    Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
    pedrambiria committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    f7805aa View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2023

  1. [FIX] account: Fix sequence hole warning

    Lacking a flush to database before the query used to compute
    the gap-in-sequence warning, the gap-in-sequence warning
    would stay active even when the all-users lock-date was set.
    Which is confusing for the user as they can't do anything about it.
    
    This
     - adds the required flushes
     - adds a tooltip explaining the warning in more details
    as it was deemed confusing
     - Adds all the moves that took a sequence number in the query
    
    Task-3613058
    
    closes odoo#144567
    
    Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
    JulienAlardot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    61c9bd6 View commit details
    Browse the repository at this point in the history
  2. [FIX] l10n_ch: Fix account typo

    Fix a typo in an account name.
    
    closes odoo#145807
    
    X-original-commit: 7fd0ff7
    Signed-off-by: de Wouters de Bouchout Jean-Benoît (jbw) <jbw@odoo.com>
    Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
    clbr-odoo committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    ac7f197 View commit details
    Browse the repository at this point in the history
  3. [FIX] l10n_fr: fix "Domestique France" fp for Monaco

    Steps to reproduce:
    - Install l10n_fr
    - Switch to a French Company (i.e. FR Company)
    - Create an invoice for a contact from Monaco with a VAT number
    => The default fiscal position is "Import/Export Hors Europe + DOM-TOM".
    In France, for Monaco, it should be "Domestique - France".
    
    Solution:
    Create a country group with France and Monaco and set it to
    "Domestique - France" fiscal position.
    
    opw-3617761
    
    closes odoo#145829
    
    X-original-commit: f1212b5
    Signed-off-by: William André (wan) <wan@odoo.com>
    Signed-off-by: Anh Thao Pham (pta) <pta@odoo.com>
    kitan191 committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    796e6ee View commit details
    Browse the repository at this point in the history
  4. [FIX] web: kanban: always open dialog if quick create fails

    Before this commit, when the user tried to quick create a record in
    a grouped kanban view (by clicking on the "+" icon of a column, for
    instance), and then clicked on the "Edit" button of the quick
    create, if the name_create rpc failed, the webclient switched to
    the form view and an error was displayed.
    
    The displayed error was about a destroyed component trying to do an
    rpc, namely the kanban controller. This is because it does 2 things
    when the name_create failed: it opened the form view in a dialog
    and it also switched to the form view. The latter was unwanted:
    in case of errors, we don't want to switch to the form view but
    rather to quick create from a dialog.
    
    The error was actually caused by a small mistake: we use the
    record variable to determine if the quick create succeeded and if
    we can switch to the quick created record. However, that same
    variable was already set before, for another purpose.
    
    OPW 3620671
    
    closes odoo#145877
    
    Signed-off-by: Francois Georis (fge) <fge@odoo.com>
    aab-odoo committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    6565502 View commit details
    Browse the repository at this point in the history
  5. [FIX] base: faster fill_assets_path

    After the previous fix introducing a deepcopy, the pregenerate of the
    assets became slower because of the many call to get_manifest (in loop,
    recursively)
    Since the manifest is immutable here and won't go outside of the call,
    we can use the lower level version.
    
    closes odoo#144723
    
    Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
    Xavier-Do committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    d7f21ed View commit details
    Browse the repository at this point in the history
  6. [FIX] l10n_sg: Singapore Tax ID label always applied

    Description of the issue/feature this PR addresses:
    
    When installing the Singaporean loca, the Tax ID label is renamed to
    "GST No.". This is  global change meaning the label is changed for Singaporean
    companies but also for any other company. This should not happen as the rename
    should only be applied when using a Singaporean company and viewing any
    company.
    
    For example :
    - Belgian company viewing Belgian company : GST No.
    - Belgian company viewing Singaporean company : GST No.
    - Singaporean company viewing Belgian company : GST No.
    - Singaporean company viewing Singaporean company : GST No.
    
    Desired behavior after the PR is merged:
    
    This commit changes the way the Tax ID label is changed. The label is not
    changed upon intallation of the Singaporean loca but is actually adapted on
    each opening of a company view so that the tax id label of the company
    being USED is applied instead of the default one.
    
    For example :
    - Belgian company viewing Belgian company : Tax ID
    - Belgian company viewing Singaporean company : Tax ID
    - Singaporean company viewing Belgian company : GST No.
    - Singaporean company viewing Singaporean company : GST No.
    
    task-3530802
    
    closes odoo#137966
    
    Signed-off-by: Quentin De Paoli <qdp@odoo.com>
    Megaaaaaa committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    e459431 View commit details
    Browse the repository at this point in the history
  7. [FIX] account: A traceback occurs because self.ids is empty in the

    context of the creation of a new record
    
    closes odoo#141548
    
    X-original-commit: 2befab3
    Signed-off-by: Quentin De Paoli <qdp@odoo.com>
    royle-vietnam authored and antoine162 committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    c3aea40 View commit details
    Browse the repository at this point in the history
  8. [FIX] point_of_sale: avoid to create new pickings after session closing

    steps to reproduce:
    - configure your POS with anglosaxon accounting and "Update quantities in
    stock" at session closing and enable "Use QR code on ticket"
    - open the POS, sell a storable product and close the session
    - scan the QR code on the ticket to create an invoice
    - check the pickings on the session form view
    
    before this commit:
    - 2 pickings are created, one at session closing and one from the invoice
    
    after this commit:
    - if the session is closed, do not create a new picking
    
    opw-3592418
    
    closes odoo#145473
    
    Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
    nda-odoo committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    a00fe74 View commit details
    Browse the repository at this point in the history
  9. [FIX] mrp: Don't override user domain already defined in production m…

    …odel
    
    The view set a domain with `share = False` but the model search for users with group `group_mrp_user`
    
    closes odoo#145735
    
    X-original-commit: 02011b9
    Signed-off-by: William Henrotin (whe) <whe@odoo.com>
    ypapouin committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    c4855a0 View commit details
    Browse the repository at this point in the history
  10. [FIX] point_of_sale,pos_sale: take all customer note into account

    Current behavior:
    When you add multiple note in a sale order, only the last one was taken
    into account in the POS. Now we show all notes on the ProductScreen and
    on the ReceiptScreen.
    
    Steps to reproduce:
    - Install pos_sale
    - Create a sale order with a product and 2 notes
    - Open the POS and load the sale order
    - Only one note appears under the product
    - Validate the order
    - Only one note appears on the receipt under the product
    
    opw-3551331
    
    closes odoo#145776
    
    X-original-commit: 6854f65
    Signed-off-by: Vlad Stroia (vlst) <vlst@odoo.com>
    Signed-off-by: Robin Engels (roen) <roen@odoo.com>
    robinengels committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    77e2187 View commit details
    Browse the repository at this point in the history
  11. [FIX] project : assign correct stages for copied subtasks in project

    Issue:
    ======
    When copying project with subtasks , the staged of the subtasks will
    always be the first stage in the project.
    
    Steps to reproduce the issue:
    =============================
    - Create a project with 2 staged and a task that have subtask
    - Added the project for that subtask if not set and move it to the
      second stage of the project
    - Create a service with create on order Project and select the created
      project
    - Create a sale order with the created service and confirm it
    - Check the created project
    
    Origin of the issue:
    ====================
    The copy of a task dosn't consider the stage of it's subtasks so they
    will be assigned by default.
    
    opw-3551061
    
    closes odoo#145796
    
    X-original-commit: 9335dc5
    Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
    Signed-off-by: Mahdi Cheikh Rouhou (macr) <macr@odoo.com>
    Mtaylorr committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    a698961 View commit details
    Browse the repository at this point in the history
  12. [FIX] web: set default value on datepicker

    Steps to reproduce:
    -------------------
    
    - go to Project > My Tasks > List view;
    - display the `date_deadline` field;
    - add a value (by selecting the record to enter in edit mode);
    - remove this value;
    
    Issue:
    ------
    It is not possible to remove the date of the deadline.
    
    Cause:
    ------
    The date picker has not a value in this `$input`.
    When we compare the old value (which will be `undefined`) to the new value `false`,
    we don't detect change via `var hasChanged = !oldValue !== !newValue;`.
    
    Solution:
    ---------
    Add a fallback to default value when no old value
    is available to detect a change.
    
    opw-3608969
    
    closes odoo#145850
    
    X-original-commit: c4b6aad
    Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
    thle-odoo committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    77dfcbf View commit details
    Browse the repository at this point in the history
  13. [FIX] base_vat: allow tax IDs starting with 'EU' for non EU countries

    Summary
    -------
    Foreign companies that trade with non-enterprises in the EU may have a
    VATIN starting with "EU" instead of a country code. However, the tax ID
    validation does not account for that.
    
    Steps to reproduce
    ------------------
    * install base_vat and contacts
    * create a Canadian company with a tax with the format EU00000000
    
    => you should be met with a validation error.
    
    opw-3551347
    
    closes odoo#140630
    
    Signed-off-by: Josse Colpaert <jco@odoo.com>
    ushyme committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    6e11c34 View commit details
    Browse the repository at this point in the history
  14. [FIX] mrp, purchase_stock: default route on replenishment

    Usecase to reproduce:
    - Install purchase and mrp
    - On a product set both routes manufacture and buy
    - Create a BoM for the product and define a seller
    - Sell a unit
    - Open the replenishment. Buy or manufacture is set as route
    - Go to the settings and set the route not sellected to the smallest
      sequence
    - Delete the orderpoint and open the replenishment menu again.
    
    Expected behavior:
    The new route with smallest sequence is selected
    
    Current behavior:
    The same rule is selected and the order used by _get_rule and to
    compute the lead time is bypass
    
    It happens because both override of the method are at the same level
    (super of stock) and are call arbitrary one before the other.
    
    In order to fix it uses rule_ids that was computed before calling the
    function and it contains the real rules used to compute the lead time
    
    closes odoo#143836
    
    Signed-off-by: William Henrotin (whe) <whe@odoo.com>
    amoyaux committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    cad38a3 View commit details
    Browse the repository at this point in the history
  15. [FIX] calendar: Mark activity as done with text

    Issue:
    ======
    Marking an activity of calender event as marked with text raises an
    error.
    
    Steps to reproduce the issue:
    =============================
    -Go to any contact and create a meeting with him as an activity in the
    chatter.
    - Mark the actvity as done and add some text as feedback.
    - An error showing that the record is deleted.
    
    The issue already solved here , this commits only add the test.
    
    opw-3623719
    
    closes odoo#145911
    
    X-original-commit: 6281c1f
    Signed-off-by: Mahdi Cheikh Rouhou (macr) <macr@odoo.com>
    Mtaylorr committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    787f2f4 View commit details
    Browse the repository at this point in the history
  16. [IMP] website_sale: Show Customer Account with ecommerce

    If ecommerce was installed, website privacy setting "Customer Account"
    was hidden and replaced with another setting. Now both of these settings
    are shown.
    
    task-3321443
    
    closes odoo#139651
    
    Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
    anko-odoo committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    3258a9c View commit details
    Browse the repository at this point in the history
  17. [FIX] web: avoid search bar overflow

    Overflowing search facets do not wrap making them disappear from view
    when too long. This can happen when searching a single field for
    multiple values (as they are bundled in the same facet).
    The problem is fixed by adding actual breakable spaces around the "or"
    instead of recreating the spacing with margins (which visually looks OK
    but is actually unreadable as every terms are glued together).
    
    Steps to reproduce:
    * Open a view with a search (kanban, list, ...)
    * Add many, many long terms search for the same field
      => BUG the search overflow outside the search bar
    
    opw-3581553
    
    closes odoo#141449
    
    Signed-off-by: Pierre Paridans (app) <app@odoo.com>
    rfr-odoo committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    e744354 View commit details
    Browse the repository at this point in the history
  18. [FIX] sale_timesheet: set is_so_line_edited when clearing so_line

    Versions:
    ---------
    - 16.0+
    
    Steps to reproduce:
    -------------------
    1. In Timesheets, add a new line;
    2. link it to a Sale Order project;
    3. make it non-billable by clearing the Sale Order Item field;
    4. select related project in Project / Configuration / Projects;
    5. in Invoicing tab, add yourself and a Sales Order Item, then save;
    6. go back to Timesheets;
    7. check the Sales Order Item field of the timesheet you created.
    
    Issue:
    ------
    Sales Order Item was changed automatically, this shouldn't happen after
    a manual change.
    
    Cause:
    ------
    The `so_line_field` widget used the `this.changeOnEmpty` attribute to
    check whether `is_so_line_edited` should be set, but this was removed in
    1ecdbfc, hence the field will never be
    set when clearing the `so_field` value.
    
    Solution:
    ---------
    On a field change, compare the previous ID of `so_line` with the new ID,
    and set `is_so_line_edited` to `true` if they're different.
    
    Related:
    --------
    odoo/enterprise#52544
    
    opw-3547725
    
    closes odoo#145821
    
    Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
    lvsz committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    bc1ad08 View commit details
    Browse the repository at this point in the history
  19. [FIX] website_sale_delivery: do not show unavailable carriers

    Carriers with no/invalid/incompatible rules shouldn't be displayed in the checkout process.
    
    Cherry-picked from odoo@5052b9e and added tests.
    
    task-3284612
    opw-3413820
    
    closes odoo#142136
    
    Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
    ltinel authored and AntoineVDV committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    d28a8f6 View commit details
    Browse the repository at this point in the history
  20. [FIX] barcodes: upc_ean_conv always undefined

    Before this commit, for a barcode rule with the UPC-A encoding, the
    condition's checking if we should convert an EAN-13 to an UPC-A was
    always false because the key `upc_ean_conv` was checked on the wrong
    object (`this` instead of `this.nomenclature`.)
    
    task-3472884
    
    closes odoo#145560
    
    X-original-commit: 9b61f50
    Related: odoo/enterprise#52413
    Signed-off-by: William Henrotin (whe) <whe@odoo.com>
    Signed-off-by: Steve Van Essche <svs@odoo.com>
    svs-odoo committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    984104e View commit details
    Browse the repository at this point in the history
  21. [FIX] sale: add term "Tax ID" to pot

    opw-3424419
    
    closes odoo#145948
    
    Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
    ushyme committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    8890fa1 View commit details
    Browse the repository at this point in the history
  22. [FIX] web, project: avoid crash on file upload in portal

    This commit fixes a crash that would happen on file upload in the project
    sharing portal chatter. This crash was caused by the file size check in
    the uploadFiles method of the FileInput component due to the fact that
    the PortalFileInput calls this method once per file instead of once for
    all files. The fix therefore ensures that the file size check will be
    correctly applied in the case of a single file parameter instead of a
    files array.
    
    Steps to reproduce:
    - Access the portal (with the /my route)
    - Go to Projects
    - Open the AGR - S00064 - Sales Order project
    - Open any task in the kanban view
    - Send an attachment in the chatter
    - Before the fix, a traceback occurs on file upload
    
    Crash introduced by odoo@82b4395
    
    opw-3628996
    
    closes odoo#145918
    
    Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
    juliusc2066 committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    9a7ada9 View commit details
    Browse the repository at this point in the history
  23. [FIX] l10n_ch: make isr test independant from default tax

    The ISR tests compute amounts that used to depends on the
    default tax set on products, which is irrelevant.
    We remove this dependency so the test is more robust.
    
    Part-of: odoo#145976
    clbr-odoo committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    9225a98 View commit details
    Browse the repository at this point in the history
  24. [FIX] l10n_ch: activate 2024 taxes, deactivate outdated taxes

    REMINDER: old taxes = {7.7%, 3.7%, 2.5%}; new taxes = {8.1%, 3.8%, 2.6%}
    
    1. We created 2024 taxes in advance and made them inactive by default
    to avoid confusion for our users, while making them available for those
    who needed them. Now that we are about to enter 2024 its time to active
    new taxes by default and deactivate outdated ones.
    
    We are keeping outdated taxes a bit more for clients that are not closing
    their accounting at the end of the year and might need them for upcoming
    months.
    
    2. Remove the activation of new taxes that was made in the module migration
    since now those taxes are already active.
    
    closes odoo#145976
    
    Task-id: 3184792
    Signed-off-by: Josse Colpaert <jco@odoo.com>
    Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
    clbr-odoo committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    bb00669 View commit details
    Browse the repository at this point in the history
  25. [IMP] snailmail: Only resend concerned letter from format error

    Previously, when updating and resending a snailmail through the chatter,
    it would re-send every snailmail letters in the DB with an error.
    
    This behaviour lead to users mistakenly sending dozens of unwanted
    snailmails, expecting to re-send the one they were currently on.
    
    This commit changes that by only sending the relevant letter(s).
    
    closes odoo#145988
    
    Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
    delvsola committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    43a56e8 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2023

  1. [FIX] web: reset expanded fields on import compatibility switch

    Steps to reproduce
    ==================
    
    - Go to users
    - Open the export dialog
    - Expand the Groups field
    - Add the Groups > Groups/Access Controls field
    - Check the import compatibility option
    - Expand the Groups field again
    => `TypeError: this.knownFields[id] is undefined`
    
    Solution
    ========
    
    The expandedFields were not reset. We also need to update the t-key to
    take the compatibility state into account.
    
    opw-3378834
    
    closes odoo#145901
    
    Signed-off-by: Luca Vitali (luvi) <luvi@odoo.com>
    hubvd committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    d2f52ab View commit details
    Browse the repository at this point in the history
  2. [FIX] account: Quantity Reset in Invoice Move Lines on Customer Change

    Issue:
    Invoice move lines' quantities reset to 1 on the second page when the
    customer is changed after pagination.
    
    Steps to Reproduce:
    1. Create an invoice with over 40 move lines (requiring pagination).
    2. Navigate to the second page of move lines and observe quantities.
    3. Change the Partner (e.g., Azure -> My Company).
    4. Save changes.
    5. Notice that quantities on the second page are reset to 1.
    
    Solution:
    Identified the issue as stemming from the `flush_model` method, which is
    called on creation and triggers re-computation. This process calls
    the `compute` method for the quantity field, leading to an erroneous
    reset of quantities to 1.
    Modified the compute method to only reset values to 1 if they are
    initially 0 or False, thereby resolving the issue of unwanted quantity
    reset during pagination when customer details are updated.
    
    opw-3483851
    
    closes odoo#143812
    
    Signed-off-by: de Wouters de Bouchout Jean-Benoît (jbw) <jbw@odoo.com>
    moerradi committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    bb08a62 View commit details
    Browse the repository at this point in the history
  3. [FIX] point_of_sale: сorrect POS inventory valuation

    Issue Description:
    ==================
    Issue: Inability to validate transfers generated from the POS's "ship later" feature.
    
    Steps to Reproduce:
    ===================
    1. Create a new user or configure Marc Demo to have only User access in Sales, Inventory, and POS.
    2. Create a storable product that can be sold in POS, where the product category uses automatic FIFO valuation.
    3. In the POS configuration, enable the "Ship Later" feature.
    4. Log in as the new user (e.g., Marc Demo).
    5. Sell the new product in POS, choose "ship later," and confirm the order.
    6. Go to Inventory and locate the created transfer (reference Shop/000X). You may need to disable all filters to find it.
    7. Attempt to validate the transfer and encounter an access error because the User is not an Accounting or Purchase user.
    
    Proposed Solution:
    ==================
    The solution involves adding sudo privileges to the creation of account moves in the POS. This will allow the validation of transfers generated by the "ship later" feature, even for users who are not designated as Accounting or Purchase users. By implementing sudo, we can ensure that the inventory valuation and account moves are correctly processed, resolving the access issue that arises during transfer validation in the POS system.
    
    opw-3572111
    
    closes odoo#145974
    
    X-original-commit: cf08cbf
    Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
    Signed-off-by: Ilya Rudy (ilru) <ilru@odoo.com>
    ilru-odoo committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    8f17ac2 View commit details
    Browse the repository at this point in the history
  4. [FIX] point_of_sale: ensure the numpad is always left-to-right

    Currently, if you switch to a right-to-left language and open the POS,
    the numpad will look like this:
    3 2 1
    6 5 4
    9 8 7
    
    The numpad should stay the same even in RTL languages:
    1 2 3
    4 5 6
    7 8 9
    
    opw-3623228
    
    closes odoo#145886
    
    Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
    ushyme committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    fb0ece3 View commit details
    Browse the repository at this point in the history
  5. [FIX] web_editor: make loadImageInfo() robust to protocol relative URLs

    Steps to reproduce:
    - Add a "Text-Image" on the website.
    - Replace the image by one of your own.
    - Save.
    - With the html editor, remove the `mimetype` attribute, the
    `data-original-src` attribute and change the `src` of the picture into
    the corresponding protocol-relative one. The `src` then looks like
    "//domain/web/image/...".
    - Save the modifications of the html editor.
    - Enter in edit mode.
    - Click on the image.
    
    -> It is now impossible to change options such as `Filter`, `Width` and
    `Quality`.
    Because the `data-original-src` attribute was removed from the image,
    the system tries to add it back thanks to the `loadImageInfo()` logic.
    Because the `src` attribute of the image is now a protocol relative url,
    `new URL(src)` will raise an error and the logic will use this url as
    argument for the `/web_editor/get_image_info` route. Because the url
    given in argument of the rpc call is not the relative one, the system
    fails to find the original attachment. The `mimetype` attribute is
    therefore not added back on the image, leading to the impossibility to
    change some options.
    
    To solve the problem, this commit modifies a bit [this commit]. In order
    to be robust to absolute, relative and protocol relative URLs, an URL
    object is first created from the image src. The relative URL
    (`.pathname`) of the URL object is then used to retrieve the original
    attachment linked to the image.
    Let's synthesize the different `relativeSrc` obtained with different
    image src. In the following examples, "https://test.com/blog/travel-1"
    will be used as `img.ownerDocument.defaultView.location.href`.
    (the complete URL of the document in which the image is located).
    - `src` is an absolute URL (e.g.
    "https://test.com/web/image/697-d0f2aaf8/shoes.jpg"). In this case,
    `relativeSrc` = "/web/image/697-d0f2aaf8/shoes.jpg".
    - `src` is a relative URL that begins with a slash (e.g.
    "/web/image/697-d0f2aaf8/shoes.jpg"). This URL represents an absolute
    path starting from the root of the domain. In this case, `relativeSrc` =
    "/web/image/697-d0f2aaf8/shoes.jpg".
    - `src` is a relative URL that does not begin with a slash (e.g.
    "web/image/697-d0f2aaf8/shoes.jpg"). The interpretation of this URL
    depends on the current location. In this case, `relativeSrc` =
    "/blog/web/image/697-d0f2aaf8/shoes.jpg".
    - `src` is a protocol relative URL (e.g.
    "//test.com/web/image/697-d0f2aaf8/shoes.jpg"); there is only the
    protocol missing. In this case, `relativeSrc` =
    "/web/image/697-d0f2aaf8/shoes.jpg".
    
    This solution takes the advantage of the second argument of the `URL()`
    constructor which is used if the first parameter is a relative or
    protocol relative URL and which is ignored if the first parameter is an
    absolute URL.
    
    This commit does not only modify [this commit] to handle more types of
    URLs but also:
    - To avoid having to use `.split()`. Indeed, `.pathname` does not
    include query parameters.
    - To avoid having to consider an error raised by `new URL()` as a normal
    flow. Indeed, in [this commit], an error would be intercepted by the
    `catch` if `src` was a relative URL. This was a legitimate flow. The
    problem was that other unwanted types of src (for example protocol
    relative URL) were also raising errors but were silently ignored (as
    intercepted in the `catch`).
    
    [this commit]: odoo@89c1478
    
    task-3623731
    
    closes odoo#144731
    
    Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
    loco-odoo committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    96324fe View commit details
    Browse the repository at this point in the history
  6. [FIX] website: fix toggle redirect compressed layout in page properties

    Before this commit and since [1] when the website builder was moved from
    the "frontend" to the "backend" of Odoo in Odoo 16, the option to enable
    URL redirect when updating a page URL was "compressed":
    - The toggle/switch element has not enough room to be displayed entirely
      if there were too many dependencies
    - The toggle/switch label was split in multiple lines, words could even
      be split in 2.
    
    Step to reproduce:
    - Go to / in the website builder (so the / finds a lot of dependencies)
    - Open page property
    - Change the URL field, you see the redirect url field appear with the
      mentioned issues.
    
    Note:
    - In other languages, the switch label could be even longer, splitting
      the line makes even more sense
    - Removing a class is generally something to be avoided in stable, but
      this type of class should not be xpath'd anyway. And given the
      template structure, it's unlikely someone would have xpath it as it's
      easy to xpath any element without relying on classes.
      One solution would have been to add a new class to cancel the first
      one but it seems overkill in this case.
    
    [1]: odoo@2ef7e78
    
    closes odoo#145729
    
    Signed-off-by: Outagant Mehdi (mou) <mou@odoo.com>
    rdeodoo authored and xO-Tx committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    8c17c48 View commit details
    Browse the repository at this point in the history
  7. [FIX] web_editor: reactivate automaticStep on resize

    [Commit 1] made sure the history worked when resizing elements by
    calling `odooEditor.automaticStepUnactive()`, but applied its
    counterpart `automaticStepActive()` only at the very end of the action,
    leaving some `return` statements on the way that could break the flow.
    
    This commit calls `automaticStepActive` just before leaving the listener
    and moves `automaticStepUnactive` just before the first DOM
    modification. It's both more logical and avoids returns pitfalls.
    
    Note: `automaticStepActive()` makes sure modifications made on the DOM
    through the browser's developer tools are tracked and can be reversed
    with the undo button. Not reactivating it in time means some flows could
    be broken (until another method reactivates it).
    
    [Commit 1]: odoo@423f4bd
    
    Related to task-3576046
    
    closes odoo#146189
    
    X-original-commit: d13b810
    Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
    robinlej authored and qsm-odoo committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    b99cc41 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. [FIX] PoS: payment date should be order date

    The aim of this commit is to correct the date of the payment.
    
    Context:
    When creating a PoS session and a PoS order on date X
    The customer gets its invoice on date Y
    the payment date is printed on the invoice
    
    Before this commit:
    The payment date will always be the date of the invoice
    
    After this commit:
    The payment date will always be the date of the order, the date at which
    is was really paid.
    
    Corner case not taken care of in this commit:
    Claiming the invoice after the `fiscalyear_lock_date`.
    In such a case, the payment date will be set to today (the invoice_date)
    again.
    This should be really rare as setting that lock date in short time frame
    is quite unusual.
    
    closes odoo#145771
    
    Task-id: 3629054
    Signed-off-by: Nicolas Viseur (vin) <vin@odoo.com>
    Levizar committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    732e43d View commit details
    Browse the repository at this point in the history
  2. [FIX] website_event_track: crash in SW's fetch listener on Safari 17.0+

    Before this commit, when browsing the "Events" part of website on Safari
    (both macOS and iOS/ipadOS), the page could be loaded only once and
    returns a "FetchEvent.respondWith received an error: NotSupportedError:
    The operation is not supported." error message on afterward, completely
    blocking access to everything under the `/event` path.
    
    This error is actually thrown from the ServiceWorker's `fetch` event's
    listener, and more specifically, from the storage availablity check.
    
    Since Safari 17.0, the Storage API - and in this case its `estimate()`
    function -  has been enabled in WebKit's builds for Apple platforms (see
    WebKit PR [1]). But even if this feature should be available in Web
    Workers (cf. MDN [2] and the spec [3]), it returns a NotSupportedError
    error when called from the ServiceWorker on Safari 17.0+ (but works fine
    in the global scope).
    
    This commit works around that issue by wrapping this call in a
    try/catch, acting as if not supported when an error happens.
    
    Steps to reproduce (on Safari iOS):
    - Install website_event_track module
    - Navigate to the `/event` page
    - Reload the page
    => Browser level error page "FetchEvent.respondWith received an
    error..."
    
    Note: due to the browser's engine restriction on iOS/ipadOS, this issue
    also affects all browsers on these platforms.
    
    [1]: WebKit/WebKit#10973
    [2]: https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/estimate
    [3]: https://storage.spec.whatwg.org/#ref-for-dom-storagemanager-estimate
    
    opw-3553880
    opw-3570730
    opw-3610167
    opw-3629039
    opw-3547759
    
    closes odoo#146134
    
    X-original-commit: 4502063
    Signed-off-by: Romeo Fragomeli (rfr) <rfr@odoo.com>
    pparidans committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    2219804 View commit details
    Browse the repository at this point in the history
  3. [FIX] account, sale, purchase: fix multi invoice/quotation/purchase p…

    …rinting
    
    The issue:
    having 2 invoices/quotations/purchase orders with different customer, each customer has a different language, the 'Unaxed amount' string will get translated into the first language of the first invoice partner.
    
    The fix:
    recompute the total when the lang context change
    
    opw-3569173
    
    closes odoo#145420
    
    Signed-off-by: Habib Ayob (ayh) <ayh@odoo.com>
    Signed-off-by: William André (wan) <wan@odoo.com>
    AMZIL Ayoub committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    d48a097 View commit details
    Browse the repository at this point in the history
  4. [FIX] website_sale_picking: add missing module_id field

    Before this commit: there was no stat button 'publish' displayed for
    payment provider 'pay in store'.
    
    Reason: The stat button is shown when the module is installed but there
    was no connected module on the 'payment_provider_onsite' record.
    
    With this commit the module_id is added.
    
    closes odoo#146282
    
    Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
    vchu-odoo committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    4480fe7 View commit details
    Browse the repository at this point in the history
  5. [FIX] stock: fix on style of warehouse filter on search panel

    This commit changes the style of warehouse filter on hover and when something is selected so there is evidence that is clickable and if something is selected
    
    closes odoo#144482
    
    Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
    micheledic committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    229fd7e View commit details
    Browse the repository at this point in the history
  6. [FIX] stock: avoid recomputing the schedule_date too early

    Steps to reproduce:
    - Inventory -> Delivery -> New Planned transfer
    - Add two lines with two different products and save
    - Set different scheduled dates for each move
    - Set the earliest move quantity_done to the demand
    - Validate and create a backorder
    
    Issue:
    The done picking scheduled date will be changed to the latest move (that
    is moved to the backorder).
    
    This is due to a recompute of the picking's scheduled_date *before* the
    remaining moves are assigned to the backorder.
    
    Note:
    The order on the `stock.move.line` had to be removed, as it forced a
    recompute of the original picking *before* the assignation of the
    remaining moves to the backorder.
    What happens is :
    - Updating the move will check its move lines
    - To follow the SML order, it will need their pickings
    - To follow the picking order, it will need their scheduled date
    - Their scheduled dates can be out of date (since we already put some
    moves to `done`)
    - This will lead to a recompute of the original picking's scheduled date
    
    Instead, what we do is adapt the changes from odoo#79069, moving
    the order from the model to the reports where it's used.
    
    opw-3346598
    
    closes odoo#143570
    
    X-original-commit: c505d0d
    Related: odoo/enterprise#52795
    Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
    Signed-off-by: William Henrotin (whe) <whe@odoo.com>
    clesgow committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    7458f31 View commit details
    Browse the repository at this point in the history
  7. [FIX] core: avoid 'Registry' object has no attribute '_m2m' error

    If `setup_models` is called concurrently,
    the first one just delete the `registry._m2m`.
    then the latter one tries to access `registry._m2m`.
    An error 'Registry' object has no attribute '_m2m' will be raised
    
    This commit add a lock to the `setup_model` to fix the problem
    
    Part-of: odoo#144510
    HydrionBurst committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    9ae7819 View commit details
    Browse the repository at this point in the history
  8. [FIX] core: KeyError odoo.fields in compute_value

    `field_computed` is decorated with `lazy_property` and will be reset by
    `setup_models` If a request comes, read `field_compute` when `setup_models`
    just clears some fields. The `field_compute` will be cached with fewer fields
    and cause KeyError for the registry in the future.
    
    This commit re-clear lazy_property for registry after fields are modified
    
    Part-of: odoo#144510
    HydrionBurst committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    04e35d7 View commit details
    Browse the repository at this point in the history
  9. [FIX] core: avoid 'Registry' object has no attribute '_m2m' error

    This is because the `env.registry` may not be the latest registry in the
    Registries pool, which happens when new modules are installed by a request and
    fail. In the `setup_model` the `_m2m` is set to the old registry, but models
    will try to read the `_m2m` from the latest registry and raise 'Registry' object
    has no attribute '_m2m' error
    
    This commit fix the issue by resetting the env when necessary
    
    closes odoo#144510
    
    Signed-off-by: Raphael Collet <rco@odoo.com>
    HydrionBurst committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    a433f31 View commit details
    Browse the repository at this point in the history
  10. [FIX] website: prevent editing the record cover

    Steps to reproduce [1]:
    
    - Go to website (blog post page) > Change the layout of the cover
    (Customize > 'Regular' Cover).
    
    - Click on the cover (in edit mode) > You can type anything inside and
    use the text tools (E.g. if you add an image from the toolbar, it will
    be added on all blog posts).
    
    Steps to reproduce [2]:
    
    - Go to website (`/calendar` page) > Unpublish an appointment page.
    
    - Go back to the `/calendar` page > Switch to edit mode > You still can
    edit the "unpublished" tag on the items cover (add text, images,...
    using text tools).
    
    The editor uses some methods (`getContentEditableAreas()`,
    `getReadOnlyAreas()`,...) to check if an area should be marked as
    editable on load, there is already a cover selector used to define a
    record cover as an editable zone, but this selector is targeting the
    whole element, leading to the behaviour described in [1] and [2]. We
    actually just need to set the savable content (usually the record `name`
    and `subtitle` fields) as editable and not the whole element.
    
    The goal of this commit is to fix this behaviour by removing the cover
    along with its descendants from the initial editable zones (especially
    to prevent the scenario in [2], see: $editableSavableZones) and only
    setting the savable fields as editable areas.
    
    opw-3561659
    
    closes odoo#146038
    
    X-original-commit: 02efac5
    Signed-off-by: Romain Derie (rde) <rde@odoo.com>
    Signed-off-by: Outagant Mehdi (mou) <mou@odoo.com>
    xO-Tx committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    333e437 View commit details
    Browse the repository at this point in the history
  11. [FIX] sale_stock: Correct Incoterm text width on invoice

    Adjusted the CSS for Incoterms in the invoice report to ensure proper text
    alignment and prevent layout issues
    
    To reproduce the issue, enable Incoterms in sale settings and conduct a POS
    sale with an associated invoice.
    
    opw-3547086
    
    closes odoo#146293
    
    X-original-commit: 106656d
    Signed-off-by: William André (wan) <wan@odoo.com>
    mattismegevand committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    aca82e7 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. [FIX] calendar: support writing attendee_ids with ids

    Before this commit, attempting to do
    `self.env['calendar.event'].write({'partner_ids': [0, 1, 2]})`
    would give a traceback as the method that updates attendees
    only supports parsing commands, not ids.
    
    This is a problem as that method is called from 'write' and other methods
    with the assumption that partner_ids can only contain commands.
    
    This will not be the case when using a gantt view and grouping
    by partner_ids for example, and cannot be worked around.
    
    task-3452277
    
    closes odoo#146376
    
    X-original-commit: 88e1911
    Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
    Signed-off-by: Renaud Thiry (reth) <reth@odoo.com>
    reth-odoo committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    c852efc View commit details
    Browse the repository at this point in the history
  2. [FIX] calendar: event of done activity must not be deleted

    To reproduce
    ============
    - Create a meeting activity from any document (for example CRM opportunity) with a calendar.
    - It will create a meeting in the calendar.
    - Now, mark as done the activity created and it will delete the meeting from the calendar too.
    
    revert of odoo#144526
    
    opw-3626773
    
    closes odoo#146402
    
    X-original-commit: 0b18329
    Signed-off-by: Abdelouahab Laaroussi (abla) <abla@odoo.com>
    abla001 committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    d830aed View commit details
    Browse the repository at this point in the history
  3. [FIX] l10n_sa_edi: fix tax retention on invoice lines

    Steps to reproduce:
    - Install Accounting and l10n_sa_edi
    - Create a retention tax: (e.g. "Retention Tax 10%")
      * Amount: [a negative amount] (e.g. -10.00%)
      * Is Retention: [checked] (in "Advanced Options" tab)
    - Create an invoice with the following invoice line:
      * Product: [any]
      * Price: 1000
      * Taxes: "Sales Tax 15%" and "Retention Tax 10%"
    - Confirm the invoice
    - Print the invoice
    => On the invoice, there is a "VAT Amount" field that should show
    the amount coming from the taxes that are not Retention taxes as it
    is done in the EDI invoice (XML).
    However, the Retention tax is subtracted.
    
    In our example:
    - Tax amount for "Sales Tax 15%" is 150.00
    - Tax amount for "Retention Tax 10%" is -100.00
    => The "VAT Amount" field of the invoice line is 50.00.
    It should be 150.00 instead.
    
    Solution:
    Compute the "VAT Amount" field as it is done in the EDI invoice.
    
    opw-3568831
    
    closes odoo#146333
    
    X-original-commit: a277ae5
    Signed-off-by: Josse Colpaert <jco@odoo.com>
    Signed-off-by: Anh Thao Pham (pta) <pta@odoo.com>
    kitan191 committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    7f15d8f View commit details
    Browse the repository at this point in the history
  4. [FIX] web_editor: make fa icons work with gradient on apple devices

    Step to reproduce:
    - Go to Website Editor
    - Add a block like Text-Image
    - Change the Font Color for the title to a "Gradient"
    - Add an icon in the title
    -> The icon is not displayed on iphone
    
    Note that it was probably working with commit [1] but not anymore with
    commit [2].
    
    Note also that it only seems to impact Iphone (Chrome/Safari) and MAC
    (Safari only).
    
    [1]: odoo@187acb9
    [2]: odoo@372eeeb
    
    opw-3614325
    
    closes odoo#146400
    
    X-original-commit: 1eda1c4
    Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
    Signed-off-by: Romain Derie (rde) <rde@odoo.com>
    rdeodoo committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    9cb48c3 View commit details
    Browse the repository at this point in the history
  5. [FIX] core: set Content-Security-Policy on static

    The Content-Security-Policy[^1] http header was only set on the response
    generated by controllers but it was missing from the `/<module>/static/`
    route.
    
    It is not strictly necessary to set that header on the responses comming
    from that routes as it is not possible to add new static files or edit
    existing ones via the interface (not even as admin). Only the developers
    and system administrator can access those files.
    
    It is also worth mentionning that using the Odoo internal web server to
    deliver static files is suboptimal. Outside of a dev environment, those
    files will typically be delivered via a web server[^2] and sysadmins
    should configure their web server to set the CSP header on static images.
    
    [^1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
    [^2]: https://www.odoo.com/documentation/master/administration/install/deploy.html#serving-static-files-and-attachments
    
    closes odoo#131700
    
    Related: odoo/documentation#5485
    Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
    Julien00859 committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    55e09d5 View commit details
    Browse the repository at this point in the history
  6. [FIX] web: correctly display domain in field tooltip (debug)

    This commit fixes 2 issues with the domain in field tooltips, in
    debug mode.
    
    1) it only displayed the domain defined on the field in the model,
     not the domain set in attrs in the view, if any.
    
    2) when the domain was the empty array, `domain: ` was displayed.
    
    opw 3455119
    
    closes odoo#146443
    
    Signed-off-by: Francois Georis (fge) <fge@odoo.com>
    aab-odoo committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    f2bb488 View commit details
    Browse the repository at this point in the history
  7. [CLA] oyale

    closes odoo#110220
    
    Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
    oyale committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    eb44303 View commit details
    Browse the repository at this point in the history
  8. [FIX] account: restrict invoice sending to customer and added recipients

    Summary
    -------
    Currently, when you send an invoice, every recipient receives the link
    including the access token. Only the invoice's customer and manually
    added recipients should receive the token.
    
    Steps to reproduce
    ------------------
    * Create and validate an invoice
    * Add a follower `F `to the invoice
    * Click on the Send & Print button, then add a recipient `R` who is not
      the customer associated with the invoice
    * Proceed to send the invoice.
    * Access the emails that were sent
    * Using an incognito or private browsing window, open the `View Invoice`
      link for each of the 3 recipients.
    
    You should see that all the links give access to the invoice.
    What should happen is that only partner `R` and the invoice's customer
    should haveaccess to the invoice.
    `F` should be asked to login.
    
    Cause
    -----
    Issue was introduced by 95c585f
    
    Fix
    ---
    Add a new notification group for partners that were manually added as
    recipients, and give that group access to the invoice.
    
    opw-3385302
    
    closes odoo#146445
    
    X-original-commit: e176bce
    Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
    Signed-off-by: Séna Serge Nshimiyimana (sesn) <sesn@odoo.com>
    ushyme committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    a59d4e7 View commit details
    Browse the repository at this point in the history
  9. [FIX] web: do not center vertically list cells

    Since [1] the content of list cells is vertically centered. In
    list views with text fields containing very long descriptions,
    this makes harder to find the other field values when scanning the
    table. Moreover, it looks weird as the selection checkbox and
    the delete icons are aligned to the top.
    
    Note: this behavior had already been reverted as of saas-16.3.
    
    [1] odoo@59eac00
    
    opw 3617667
    
    closes odoo#146439
    
    Signed-off-by: Pierre Paridans (app) <app@odoo.com>
    aab-odoo committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    793b753 View commit details
    Browse the repository at this point in the history
  10. [FIX] mrp: create split move in draft

    This commit ensures the production backorder moves are created in draft
    state.
    When the default state was 'confirmed', splitting a manufacturing order
    in draft, will create mo in draft with finished product already in
    confirm state. the `_compute_move_finished_ids()` method will try to delete
    a confirmed move and thus raise a UserError
    
    closes odoo#146355
    
    Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
    Whenrow committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    2598932 View commit details
    Browse the repository at this point in the history
  11. [FIX] stock: be able to edit sml in mobile

    Fine tuning of odoo#143380
    
    It only works for stock.move but it should also be the case for
    stock.move.line
    
    closes odoo#144783
    
    Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
    amoyaux committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    6fea37b View commit details
    Browse the repository at this point in the history
  12. [FIX] website: fix border color or button preset preview

    Since [1] when website was moved to backend, with the introduction of
    the iframe, the preset previews are replicating the CSS of the page.
    In [2] the mechanism was adapted to make it faster, but in the new
    replication the `border-color` of buttons was wrongly copied from the
    `background-color` of the buttons.
    
    This commit uses the right variable instead.
    
    [1]: odoo@31cc10b
    [2]: odoo@7f5a9d0
    
    task-3642550
    
    closes odoo#146510
    
    Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
    bso-odoo committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    b696588 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2023

  1. Configuration menu
    Copy the full SHA
    f9f4a9e View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. [FIX] survey: chop down long words in labels

    Create a new live-session survey with a multi-choice question of 4
    choices. In one of the choices write a word of 20+ characters. Start the
    live-session, on the manager side the choices overlap on the screen.
    
    In case a word is longer that the available place, it can overlap on the
    labels of the other columns, making the text very hard to read. This
    work wraps words that are too long for a single line over multiple ones.
    
    Task-3530706
    
    closes odoo#146489
    
    X-original-commit: f085957
    Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
    Julien00859 committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    ee5e0b9 View commit details
    Browse the repository at this point in the history
  2. [FIX] website: broken assets test on multi website

    The `test_01_multi_domain_assets_generation` was introduced in PR [1].
    But afterward, the commit [2] introduced a unique constraint on the
    `domain` field. With this additional constraint, this test broke when
    run with multiple existing websites as it assigns the same domain for
    each of them.
    
    This commit made the dummy domain assigned in this test non-unique,
    which doesn't alter the original meaning of the test but, allows to run
    it with multiple existing websites.
    
    [1]: odoo#118526
    [2]: odoo@507db4e
    
    runbot-20848
    
    closes odoo#145370
    
    Signed-off-by: Romain Derie (rde) <rde@odoo.com>
    pparidans committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    0c522e4 View commit details
    Browse the repository at this point in the history
  3. [FIX] web_editor: link_in_selection style outside editable

    Before this commit, the CSS properties defined by the
    `o_link_in_selection` class could be applied to a link outside the
    editable. In particular, the link preview in the LinkDialog widget would
    display the visual indicator of a link in selection, even though it is
    not editable nor selected (this happens because the link preview
    contains the classes of the original link being edited).
    
    As the styling provided by `.o_link_in_selection` is only meant to be
    applied to links inside the editable, this commit makes sure the CSS
    rule is specific about that.
    
    task-3580546
    
    closes odoo#145386
    
    Signed-off-by: Nicolas Bayet (nby) <nby@odoo.com>
    cammarosano committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    b7664dc View commit details
    Browse the repository at this point in the history
  4. [IMP] sale: allow custom cache keys for solines tax computation

    The new, refactored method `_compute_tax_id` caches the results of `account.fiscal.position.map_tax()` to improve performances; however, this makes it nearly impossible to customize the behavior of this method in case other elements are added to the workflow of taxes computation.
    
    Every sale order line with the same fiscal position, company and product taxes have their taxes mapped in the same manner
    
    This commit adds a hook to allow custom modules to specify additional custom cache keys.
    
    closes odoo#146271
    
    Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
    SilvioC2C committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    041c8c6 View commit details
    Browse the repository at this point in the history
  5. [FIX] web: keydown on list view in a dialog

    Description:
    ===========
    Before this commit, when a line in edit mode in a list view is the last
    tabable element in a dialog, pressing "tab" does not cause a switch to
    the next line in edit mode. It is therefore not possible to navigate
    in this dialog using "tab".
    
    Problem:
    =======
    Currently, the ListRenderer listens to keydown events using few t-on-keydown.synthetic
    in order to know whether to switch the next line to edition.
    For information, the effect of a synthetic is to create a single listener
    on "document" instead of creating a listener for each element. There is
    a conflict with the ui service which listens to all the "tab" keydowns
    in order to check whether or not we are on the last tabable element of
    the current activeElement. If we are, we stop the event and focus on the
    first tabable element. This feature avoids the need to navigate outside
    dialogs by pressing tab.
    In our situation, this has the effect of stopping the keydown event
    before the synthetic can receive it, as the service ui listener is placed
    on the dialog and the synthetic listener on the document.
    
    Solution:
    ========
    Remove the use of synthetic in the ListRenderer.
    No significant loss of performance was observed.
    
    closes odoo#146609
    
    Related: odoo/enterprise#52920
    Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
    FrancoisGe committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    ab049b9 View commit details
    Browse the repository at this point in the history
  6. [FIX] web_editor: fix dropzones with open mega menu

    When we start dragging an element with an open mega menu, the dropzones
    should only appear:
    - inside the mega menu: we therefore should not be able to drop a mega
    menu element outside of it.
    - after the clone of the element, so we can still drop it where we
    started the drag (if it does not come from the mega menu).
    
    This is well the case for normal dropzones but the grid dropzones case
    was forgotten. Some "clone dropzones" are also not added for inner
    contents that are in a grid mode snippet.
    
    Steps to reproduce:
    1)
    - Add a mega menu with the menu editor.
    - In edit mode, drop the "Text-Image" snippet and toggle the grid mode.
    - Open the mega menu and start dragging one of its columns (note that it
    toggles the grid mode).
    => A grid dropzone appeared in the "Text-Image" snippet, outside the
    mega menu.
    
    2)
    - Drop an "Alert" snippet in "Text-Image".
    - Open the mega menu.
    - Start dragging the "Alert" snippet.
    => No dropzone appeared where we started the drag (so after the clone).
    
    This commit fixes these issues. The first issue is solved by properly
    filtering the `selectorGrids` when a modal or a dropdown (so the mega
    menu) is open. They were already filtered for the modal case (see commit
    [1] which was then refactored in [2]) but it should have been done in
    `_activateInsertionZones` at the already dedicated place, instead of
    before the call to this function in `_onDragAndDropStart`. This made the
    siblings and children selectors filtering redundant and this code was
    therefore removed.
    
    The second issue was happening because the "clone dropzone" was only
    added if there was no "closest" grid, instead of only checking the
    parent. This therefore prevented it for inner contents inside grid items
    instead of only for grid items. This commit fixes that. For the case
    where we are dragging a grid item (still with an open mega menu), a grid
    dropzone is added.
    
    [1]: odoo@cc406af
    [2]: odoo@34b534f
    
    task-3594979
    
    closes odoo#145438
    
    Signed-off-by: Robin Lejeune (role) <role@odoo.com>
    sobo-odoo committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    8eebef2 View commit details
    Browse the repository at this point in the history
  7. [FIX] crm,web: expected revenue field is too short

    Current behaviour:
    Expected Revenue field is 8 characters long
    
    Expected behaviour:
    Field is 13 characters long in 17.0
    
    Steps to reproduce:
    1. Go to CRM
    2. Create a new opportunity
    3. Expected Revenue field is 8ch long
    
    Fix:
    Backport of:
    odoo@cdde657
    odoo@b47f73b
    
    opw-3624844
    
    closes odoo#145982
    
    Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
    ande-odoo committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    5b15510 View commit details
    Browse the repository at this point in the history
  8. [FIX] mrp_subcontracting_purchase: fix received_qty with return move

    Method _is_purchase_return had a complex check intended to detect
    subcontract return move. This Check would incorrectly pass for
    subcontract move when the destination location (input) does not belong
    to the customer warehouse.
    
    To fix this issue, we can check the field StockMove.is_subcontract,
    however this field is only available if mrp_subcontracting is installed.
    Furthermore, the check itself make no sens in purchase_stock if the
    module mrp_subcontracting is not install Hence, we can move this check
    to mrp_subcontracting_purchase.
    
    With Purchase & Mrp Subcontracting installed:
    - Create Component C, consumable
    - Create Product P, storable, Set Vendor V under Purchase Tab
    - Create BOM for P, subcontracted with Vendor V, and C as component
    - In the Warehouse, set 2 steps reception
    - Set Input parent location to 'Physical Location'
    - Create PO to vendor V, product P, confirm, receive Product
    => Received Qty for P in PO show 0
    
    OPW-3216011
    
    X-original-commit: 504f503
    Part-of: odoo#146457
    DavidFesquet authored and Whenrow committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    6f5a687 View commit details
    Browse the repository at this point in the history
  9. [FIX] mrp_subcontracting_purchase: verify ressuply + mto flow

    This commit adds a test on the following flow:
    A subcontracted product has its component having the three route
     - ressuply on order
     - buy
     - MTO
    
    Receiving the subcontracted product will create a delivery for the
    component to the subcontractor, then a purchase order to buy it.
    Confirming this very PO should create a receipt stock move linked to
    this delivery.
    
    closes odoo#146457
    
    X-original-commit: 2a2b525
    Signed-off-by: William Henrotin (whe) <whe@odoo.com>
    Whenrow authored and DavidFesquet committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    6485872 View commit details
    Browse the repository at this point in the history
  10. [FIX] hr_holidays: keep company calendar if several employees

    Steps to reproduce:
    -------------------
    - modify the company calendar to get an other value than 8 average hour per day;
    - add this calendar to two employees (A and B);
    - create a type of leave for the current company;
    - create an allocation for the employee A for this type with X hours without saving;
    - add the employee B;
    
    Issue:
    ------
    The number of hours is modified.
    
    Cause:
    ------
    There is an inconsistency between `_compute_number_of_hours_display`
    and `_compute_from_holiday_status_id` methods.
    
    In the `_compute_from_holiday_status_id` the number of hours is determined
    according to order: employee calendar --> company calendar --> constant (8 hours)
    
    In the `_compute_number_of_hours_display` the number of hours directly falls back on
    the constant if we don't find an employee for a type of leave that is employee.
    
    In the case of multiple employees, we will always use this constant,
    whereas we use the company calendar in the other method.
    
    Solution:
    ---------
    Keep the company calendar if you don't have an employee before falling back on a constant.
    
    opw-3617281
    
    closes odoo#145783
    
    Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
    thle-odoo committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    55f24b4 View commit details
    Browse the repository at this point in the history
  11. [FIX] sale_timesheet: Display remaining hours on SO field red if nega…

    …tive
    
    Steps to produce:
    - Go to project application and create a new  task with SO.
    - Select a customer that has prepaid hours product.
    - Check that remaining hours on SO is less than 0.
    - Share that project.
    - Go to front-end.
    
    Issue: The value of 'remaining hours on SO' should be displayed in red
           if the value is negative
    
    Cause: Necessary class was not added to the field
    
    Solution: To resolve this issue added decoration-danger when remaining
              hours so is less than 0.
    
    task-3549489
    
    closes odoo#140682
    
    Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
    shap-odoo authored and xavierbol committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    80306d4 View commit details
    Browse the repository at this point in the history
  12. [FIX] web_editor, website: remove clone button on mega menu block

    Step to reproduce:
    - Create a mega menu
    - Enter edit mode and select it
    - You can duplicate the top level block (but not remove it)
    - If you duplicate it, you end up with a second top level block that you
      can't delete ever, even by deleting inner elements one by one.
    
    Technical details:
    1. The remove button of the mega menu is already hidden thanks to commit
       [1] which used the `forceNoDeleteButton` editor option introduced
       with commit [2].
    2. The table of content snippet also need to hide both the delete and
       clone button. It was done in an "non-ideal" way with commit [3].
    3. The delete button removal for table of content snippet was actually
       improved to use the `forceNoDeleteButton` option of commit [2].
    4. It's also commit [1] which prevent the deletion of the top level
       block when deleting inner elements one by one: when the last one is
       deleted, it regenerates the whole block.
    
    This commit thus simply makes it so `forceNoDeleteButton` also hides the
    clone button.
    A first solution was made by introducing a new `forceNoCloneButton`
    option, but there is good chances that you always want to either hide
    both or show both, so merging those options for now is the simplest
    solution.
    
    It also takes the opportunity to remove the (now) useless code in the
    table of content snippet.
    
    [1]: odoo@97810a9
    [2]: odoo@7ef4843
    [3]: odoo@9fb2dad#diff-ea32a091d6b1a47aeea680fa39bbc9111260cbdaf07e9f388a9d04741806ea8fR128-R129
    
    opw-3604033
    opw-3627319
    
    closes odoo#146715
    
    X-original-commit: 44b0067
    Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
    Signed-off-by: Romain Derie (rde) <rde@odoo.com>
    rdeodoo committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    1867e99 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. [FIX] base_import: wrong date format

    Current behaviour:
    Wrong format used when importing dates
    
    Steps to reproduce:
    1. Change your language to German
    2. Go to Sales > Orders
    3. Export to XLSX
    4. Change to dates to german format (ie: 10.09.2023)
    5. Favorites > import records > Upload file
    6. Click on Test
    7. "does not match format '%Y-%m-%d'"
    
    Cause of the issue:
    Only default formats were taken into account
    because options are empty.
    
    opw-3540715
    
    closes odoo#146716
    
    X-original-commit: bdc006a
    Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
    ande-odoo committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    ad7b165 View commit details
    Browse the repository at this point in the history
  2. [FIX] payment_adyen: not send False information

    If customer did not have address,email and telephone fields,
    "False" would be send to Adyen resulting in these field
    containing False values, which in some cases was falsely
    triggering anti-fraud system.
    
    task-3159378
    
    closes odoo#146724
    
    X-original-commit: ceb8b78
    Signed-off-by: anko-odoo <anko@odoo.com>
    anko-odoo committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    a161314 View commit details
    Browse the repository at this point in the history
  3. [FIX] website_mass_mailing: fix display thanks button on form newsletter

    Steps to reproduce the issue:
    
    - In website edit mode, add newsletter block onto the page.
    - In the options of the snippet, change the template to "form".
    - Click on the "Display Thanks Button" checkbox.
    - => Traceback.
    
    In this commit [1], a button has been added to the options of the
    "Newsletter Block" snippet to allow the user to display the "thanks"
    button in edit mode to be able to edit it.
    
    Later, in another commit [2], a new "Form" template was added to the
    "Newsletter Block" snippet, but the "Display Thanks Button" option was
    not adapted for it.
    
    This commit adapts the "Display Thanks Button" option for the "Form"
    template of the "Newsletter Block" snippet so that it displays the thank
    you message on the page, and the user can also edit it.
    
    [1]: odoo@a9eae10
    [2]: odoo@bd6ef64
    
    task-3610063
    
    closes odoo#145429
    
    Signed-off-by: Guillaume Dieleman (gdi) <gdi@odoo.com>
    bvr-odoo committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    ccf338c View commit details
    Browse the repository at this point in the history
  4. [FIX] delivery: fix cyclic while loop

    Steps to reproduce -->
    1) Have Returns operation return type set to Delivery Order
    2) Create an SO -> Deliver with a shipping carrier
    3) Return the delivery and re-return with the same shipping carrier (need to manually update this field value)
    
    Solution -->
    Keep track of `next_moves` that have been accessed
    
    This PR is basically an extension of odoo#142942
    
    opw-3588205
    
    closes odoo#146590
    
    Signed-off-by: William Henrotin (whe) <whe@odoo.com>
    adda-odoo committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    c4d834f View commit details
    Browse the repository at this point in the history
  5. [FIX] web_editor: move snippets only across visible ones

    Before this commit if invisible elements are in the DOM (e.g.
    device-visibility restricted) the arrows to move snippets (columns,
    sections) did show up and behave as if the neighbour elements were
    visible.
    
    This commit hides arrows that would not visually move the snippet, and
    upon using the move arrow, it also moves the snippet beyond the first
    visible neighbour.
    
    Steps to reproduce as of 16.0:
    - Drop a "Columns" snippet.
    - Make the center column hidden on desktop.
    - Move the first column to the right.
    
    => It did not move and an arrow to move to the left was displayed.
    
    Steps to reproduce before 16.0:
    - Drop three snippets.
    - Make the second snippet conditionally visible.
    - Hide it using the eye icon in the "Invisible Elements" list.
    - Move the first block down.
    
    => It did not move and an arrow to move upwards was displayed.
    
    task-3584947
    
    closes odoo#146667
    
    X-original-commit: d5a83de
    Signed-off-by: Robin Lejeune (role) <role@odoo.com>
    bso-odoo committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    60e2a5b View commit details
    Browse the repository at this point in the history
  6. [FIX] pos_loyalty: display "enter code" correctly

    Current behavior:
    When you only used the "Next order coupons" loyalty program, the "enter
    code" button was not displayed.
    
    Steps to reproduce:
    - Install the pos_loyalty module
    - Archive all the loyalty programs
    - Create a loyalty program with "Next order coupons" as reward
    - Open a PoS session
    
    opw-3608894
    
    closes odoo#146681
    
    Signed-off-by: Adrien Guilliams (adgu) <adgu@odoo.com>
    robinengels committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    6b0b556 View commit details
    Browse the repository at this point in the history
  7. [FIX] hr_contract: prevent copy of contract_id on employee duplicate

    Steps to reproduce issue:
    
    1. Create two companies, **A** and **B**.
    2. Create employee *X* in **A**.
    3. Create a contract, assign it to *X* and change its state to Running.
    4. Duplicate *X* to create employee *Y*
    5. Change *Y*'s company to **B** (bypass warnings and errors).
    6. Try to access Payroll Dashboard.
    7. A Multi-Company access errors is raised
    
    Explanation:
    
    When duplicating *X*, the value from `contract_id` is copied to *Y*.
    After *Y*'s company is changed to **B**, Payroll Dashboard tries to retrieve data from its `contract_id` and, the contract still being related to **A**, a Multi-Company access error occurs.
    
    Suggested fix:
    
    Preventing the value being copied solves the problem. It also lines up with the `contract_ids` not being copied.
    The root issue existing in *v15.0*, the fix will be implemented in that version too.
    
    opw-3623483
    
    closes odoo#146708
    
    X-original-commit: 54f89b9
    Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
    Signed-off-by: Stroobant Paul (stpa) <stpa@odoo.com>
    stpa-odoo committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    703863d View commit details
    Browse the repository at this point in the history
  8. [FIX] hr_{,holidays}_attendance, resource: overtime is wrong for mult…

    …i companies
    
    Steps to Reproduce:
    
    Create 2 companies > Create employee in 1st company > Enable both companies > Create public holidays company-wise> In company 1 create a public holiday for (13/11/2023) > In company 2 create public holidays (13/11/2023) and (29/11/2023).
    
    Then switch to the one company (where the public holiday was created only for (13/11/2023))> Go to attendance > Configuration > Enable the count extra hours feature > Create attendance date (29/11/2023) for ex. 9 hours > Go to employee form > You may see the extra hour of "1 hour" > Because there is no public holiday on 29/11/2023.
    
    Then enable both companies > Create attendance date (29/11/2023) for ex. 9 hours > Go to employee form > You may see the extra hours of "9 hours" > Because there is a public holiday in another company on 29/11/2023.
    
    Bug Source:
    commit 1407052 fixed the fact that public holidays are not taken into account when computing the overtime, but it doesn't cover the multi companies case.
    
    Solution:
    Verify that the public holiday company and the employee company are the same before applying the compute.
    An optimization was also added to avoid searching for public holidays in db by filtering with the
    employee company.
    
    opw-3597287
    
    closes odoo#143381
    
    Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
    RaoufGhrissi committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    7ea6aa3 View commit details
    Browse the repository at this point in the history
  9. [FIX] website: make anchor links work in mobile menu

    A anchor menu in the mobile collapse related to an element in the
    current page doesn't work correctly:
    - The collapse-menu doesn't close
    - If the menu is large enough, on mobile, you actually don't even see
      the page scrolling behind it so it looks like the click did nothing.
    
    This is probably because of the switch from BS4 to BS5.
    In later version, it's even worse, as we are using bootstrap Offcanvas
    instead of collapse, creating another bug:
    - The page doesn't scroll at all
    
    This will be fixed in the forward port.
    
    This commit simply manually closes the collapse before starting  our own
    smooth scrolling.
    It also targets the desktop offcanvas menu (when hamburger layout is
    selected).
    
    opw-3604963
    
    closes odoo#146132
    
    Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
    rdeodoo authored and qsm-odoo committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    db881e6 View commit details
    Browse the repository at this point in the history
  10. [FIX] account: prevent moves from stealing lines

    The balance check doesn't work when a line is being moved from one move
    to another because we never notified the move owning the lines at the
    start that the lines are being modified.
    
    To reproduce using a simple CSV to import:
    ```csv
    "line_ids/id","line_ids/product_id"
    "__export__.account_move_line_9_25fb2fbf","[FURN_7777] Office Chair"
    ```
    
    To reproduce using a simple server action:
    ```python
    self.env['account.move'].create({'line_ids': [(4, 9)]})
    ```
    
    We now notify the original move also, triggering everything that needs
    to be triggered: sync of dynamic lines and the check for the balance.
    
    closes odoo#146529
    
    Signed-off-by: Quentin De Paoli <qdp@odoo.com>
    william-andre committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    41beb0d View commit details
    Browse the repository at this point in the history
  11. [FIX] tests: error when Chrome websocket returns empty message

    Since Chrome 120 (specifically Chromium build 1208985), an empty message
    is received from the CDT at the end of a test run, which obviously
    cannot be parsed as JSON.
    
    This is due to a fix made in Chromium [1] where ChromeDriver didn't send
    the CLOSE frame in response to the CLOSE frame sent by the client. The
    websocket-client library we use to talk with the CDT interprets this
    frame as a empty string when receiving message (cf. in `_core.py` [2]).
    
    As we don't need to interpret more complex low-level messages, this
    commit simply skips the empty message (which was already implicitly done
    in 15.0 [3]).
    
    [1]: https://bugs.chromium.org/p/chromedriver/issues/detail?id=4499
    [2]: https://github.com/websocket-client/websocket-client/blob/69e470fee083cd4d5f42bccaff3a6168bfeee863/websocket/_core.py#L379-L399
    [3]: https://github.com/odoo/odoo/blob/b5b069564c0a0246f3f263804088d40c3990633a/odoo/tests/common.py#L1169
    
    closes odoo#146882
    
    X-original-commit: 28d5a26
    Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
    Signed-off-by: Pierre Paridans (app) <app@odoo.com>
    pparidans committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    807452d View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. [FIX] portal: change _search method to support custom search_in

    The _search method of the portal search panel uses the currently
    selected dropdown item to retrieve the search criteria ; however, when
    using a search criteria that is not displayed in the dropdown menu, the
    replace method causes a traceback, since calling attr on the empty
    jquery selector object returns undefined.
    
    The _search method was changed to use optional chaining before
    accessing the replace method, and to replace the search_in value by an
    empty string in case the result of the expression is undefined.
    
    closes odoo#146507
    
    X-original-commit: 0531765
    Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
    dise-odoo committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    aa33b2b View commit details
    Browse the repository at this point in the history
  2. [FIX] delivery: return label portal download

    Before this commit
    ================
    - Portal users were not able to download the return label via the portal because
    the Access token is not passed.
    
    After this commit
    ================
    - Portal users are able to download return labels via the portal.
    
    task-3245766
    
    closes odoo#146224
    
    X-original-commit: 21279a8
    Signed-off-by: William Henrotin (whe) <whe@odoo.com>
    gman-odoo authored and kir-odoo committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    9a3b294 View commit details
    Browse the repository at this point in the history
  3. [FIX] website_event_crm_questions: escape HTML tags in lead description

    Steps to reproduce:
    
      - Install website_event_crm_questions module
      - Go to events and create a new event
      - Add a question of type `text input`
      - Publish the event and go to it on the website
      - Register to the event with an email containing `@example.com` and
        answer the question.
      - Go to CRM in backend and open the new lead created.
    
    Issue:
    
      Html tags are not escaped in the lead description.
      Same issue with `text_box` type question when having html in answer.
    
    Cause:
    
      The override of `_get_lead_description_registration` is returning
      a string that escape also the `</br>` tags + the `text_box` answer
      is not escaped.
    
    Solution:
    
      Use Markup around strings that contain the `</br>` tags to be not
      escaped + escape `text_box` answers.
    
    opw-3471097
    
    closes odoo#146506
    
    X-original-commit: 53361eb
    Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
    nboulif committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    120046a View commit details
    Browse the repository at this point in the history
  4. [FIX] survey: prevent soft lock with conditional questions

    If multiple questions are conditionally displayed if the user selects an answer
    in another multi-choice question, that answer was added multiple times in the
    list used to filter mandatory questions that have to be answered when displayed.
    This is an issue because the answer was only removed once if the user changes
    his choice resulting in a state where a mandatory question that is hidden stays
    mandatory even though it is not displayed to the user.
    
    How to reproduce:
    - create a new survey with:
          - Question1:
            - multi-choice with one answer
            - 2 answers (A, B)
          - Question2:
            - single line text box
            - mandatory answer
            - conditional display depending on answer B of Question1
          - Question3:
            - single line text box
            - conditional display depending on answer B of Question1
    - start the survey
    - click on answer B then click on answer A
    
    Current behavior:
    - user is not able to submit the survey with answer A selected
    
    Expected behavior:
    - user should be able to submit the survey
    
    task-3630079
    
    closes odoo#146910
    
    X-original-commit: 34b6a7a
    Signed-off-by: Florian Charlier (flch) <flch@odoo.com>
    Signed-off-by: Damien Abeloos (abd) <abd@odoo.com>
    Co-authored-by: Salvo Rapisarda <sdrapisarda@gmail.com>
    Co-authored-by: Damien Abeloos <abd@odoo.com>
    abd-msyukyu-odoo and salvorapi committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    db359d5 View commit details
    Browse the repository at this point in the history
  5. [FIX] sale{_expense,_expense_margin}: Fix re-invoicing of expenses

    This deals with a bug when an expense re-invoiced
    with a 'sale_price' expense_policy and 'delivery' invoice_policy
    
    Current bad behaviour:
    - When re-invoicing another expense matching the first one's
      price_unit and product the quantities aren't updated properly
    - Furthermore, reversing the original move doesn't impact the sale order
    - Resetting the expense sheet to draft neither
    
    New correct behaviour:
    - When re-invoicing another expense matching the first one's
      they aren't grouped together on the same line, allowing to update
      and reverse the lines independently
    - Reversing the original move sets its corresponding sale order line
      quantity and delivered quantity to 0
    - Resetting the expense sheet to draft does the same
    - Resetting the original move does the same
    - Adds clarity to the sale_stock error message, so it's understandable
      from the expense view
    
    task-3458826
    
    Part-of: odoo#146781
    JulienAlardot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    3ed4ec6 View commit details
    Browse the repository at this point in the history
  6. [IMP] sale_stock: Improve quantity error message

    When setting the ordered quantity on a sale order
    under the delivered quantity, if the product used is storable in stocks,
    an error is raised.
    
    This improves the error message so that it's more understandable when
    this happens due to canceling an expense report (move)
     or re-setting it to draft
    
     task-3458826
    
    Part-of: odoo#146781
    JulienAlardot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    78eb93e View commit details
    Browse the repository at this point in the history
  7. [FIX] hr_expense: Product creation default type

    Fix a bug where quick-create of products from the expense form view
    would not use the service detailed_type by default. Allowing bugs
    when sale_stock module is installed as it would be considered
    as a storable product
    
    Also updates the demo data accordingly
    
    task-3458826
    
    closes odoo#146781
    
    Signed-off-by: Habib Ayob (ayh) <ayh@odoo.com>
    Signed-off-by: Julien Alardot (jual) <jual@odoo.com>
    JulienAlardot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    4b925a0 View commit details
    Browse the repository at this point in the history
  8. [FIX] website_sale: broken tour setup on multi websites

    The `test_01_shop_mail_tour` test was modified in commit [1] to make it
    independent of demo data. But the unique constraint on `domain` field
    (cf. commit [2]) make it break when run with 3 or more websites.
    
    This commit made the dummy domain assigned in this test non-unique,
    which doesn't alter the original meaning of the test but, allows to run
    it with multiple existing websites.
    
    Note: this fix is similar to commit [3].
    
    runbot-52417
    
    [1]: odoo@ad6e975
    [2]: odoo@507db4e
    [3]: odoo@0c522e4
    
    closes odoo#146842
    
    Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
    pparidans committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    ec67c8f View commit details
    Browse the repository at this point in the history
  9. [FIX] account, analytic: add analytic distribution, remove precompute

    Related to odoo/enterprise#52648
    we add the analytic distributino to the move vals for
    the exchange diff move.
    We also remove the precompute on the fields, manual backport
    of odoo@b9047fe
    
    opw-3603668
    
    closes odoo#146549
    
    Related: odoo/enterprise#52648
    Signed-off-by: Habib Ayob (ayh) <ayh@odoo.com>
    guva-odoo committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    1280057 View commit details
    Browse the repository at this point in the history
  10. [FIX] stock: always read field for default_order in move.line tree

    Previous PR odoo#143570 moved some move line ordering logic from the
    model to the view to avoid recomputing of these fields since it was
    causing issues with the computes occurring at the wrong time.
    Unfortunately every field used in the `default_order` in the view has to
    be present in the view and since v16 any fields that have a groups
    attribute that isn't met isn't loaded in the view.
    
    Therefore we have to force the `result_package_id` to always be in the
    view even if `stock.group_tracking_lot` is not true (i.e. packages are
    active)
    
    Steps to reproduce:
    - create +save a receipt with a tracked product
    - click on the burger button to open the detailed operations of the
      tracked product
    - add 2 move lines + Confirm
    
    Expected behavior:
    the move lines save
    
    Actual behavior:
    JS traceback due to trying to sort on a field that isn't present in the
    view
    
    closes odoo#146963
    
    Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
    ticodoo committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    79f12ed View commit details
    Browse the repository at this point in the history
  11. [FIX] point_of_sale,l10n_be_pos_sale: invoice settled order

    Current behavior:
    ?In Belgium? when using a EU intracom tax, as we need to report those
    special sales to the government we need to create an invoice as we need
    to report the customer name, VAT number and the country where the goods
    are going to end up
    
    Steps to reproduce:
    - Create an order with a product and a tax (0% EU M)
    - Settle the order in the PoS and pay it (no invoice)
    - Go to the accounting and check the EC Sales List report
    - There is an error shown in the report
    
    opw-3514737
    
    closes odoo#139467
    
    Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
    robinengels committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    c760fbb View commit details
    Browse the repository at this point in the history
  12. [FIX] base: translate partner display_name

    Steps to reproduce:
    - Install Contacts app
    - Go to General Settings and add another language
    - Add a new contact to a parent.
            - Don't add a specific contact name
            - Assign a contact type (delivery address, invoice address, other address)
    - Go to the list or kanban view of the contancts and change the language
    - The type of the contact listed next to the parent name is not translated from English.
    
    Investigation:
    - When the contact name is not set, the `display_name` displayed in both kanban and list views is set by concatinating the parent name with the contact type.
    - The line https://github.com/odoo/odoo/blob/03b7e17faef4075dbbb805bca4e7f40f7fbcc988/odoo/addons/base/models/res_partner.py#L345 in the function `_compute_display_name`, `with_context({})` in particular basically enforce to compute the name in english language regardless of the active language. That actually makes sense as the `display_name` field has `store=True` https://github.com/odoo/odoo/blob/03b7e17faef4075dbbb805bca4e7f40f7fbcc988/odoo/addons/base/models/res_partner.py#L199
    
    Solution:
    - add a computed field that is not stored that gets recomputed on changing the language.
    
    opw-3569171
    
    closes odoo#143514
    
    Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
    AH-Yussef committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    d356abf View commit details
    Browse the repository at this point in the history
  13. [FIX] payment_custom: use correct payment reference

    When the payment reference is set as the customer reference, the warning message of the
    transaction still show the order reference instead.
    
    With this commit, we now ensure the expected reference is shown instead.
    
    opw-3461181
    
    closes odoo#146808
    
    Signed-off-by: Morgane Demesmaeker <edm@odoo.com>
    Demesmaeker committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    501d3dd View commit details
    Browse the repository at this point in the history
  14. [FIX] l10n_ee: add taxes with the new VAT rate

    The VAT rate is increasing from 20% to 22% from January 1st, 2024.
    We need to keep both 20% and 22% taxes until the end 2025 for phasing out period.
    20% taxes will be inactive for new customers.
    
    task-3615036
    
    closes odoo#145324
    
    Related: odoo/enterprise#52921
    Signed-off-by: Josse Colpaert <jco@odoo.com>
    aliya committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    ec25405 View commit details
    Browse the repository at this point in the history
  15. [FIX] crm: handle customer creation on. lead -> oppor. w/ archived lang

    To reproduce:
    
    1. enable 'debug' mode
    2. go to menu "Settings / Translations / Languages" and enable a new
      language (ex: nl_NL)
    3 create a new lead and set that language
      (IMPORTANT: do not set a customer)
    4. go back to menu "Settings / Translations / Languages" and disable the
      language you previously enabled at step 2.
    5. from the lead list view, selection the lead you created at step 3,
       click "Action" and choose "Convert to opportunities"
    6. In the wizard choose for:
       * Conversion Action: Convert to opportunity
       * Customer: Create a new customer
    7. Click button "Convert to opportunity"
    
    This crash with the following error:
    ```
    Traceback (most recent call last):
      File "/data/build/odoo/odoo/http.py", line 654, in _handle_exception
        return super(JsonRequest, self)._handle_exception(exception)
      File "/data/build/odoo/odoo/http.py", line 301, in _handle_exception
        raise exception.with_traceback(None) from new_cause
    ValueError: Wrong value for res.partner.lang: 'nl_NL'
    ```
    
    This commit ensure that when converting a lead to an opportunity, we
    don't crash if language is archived.
    
    OPW-3617359
    
    closes odoo#146615
    
    X-original-commit: 057d2a1
    Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
    Signed-off-by: Xavier Alt (xal) <xal@odoo.com>
    xavieralt committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    5bc48d6 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2023

  1. [FIX] website: sync website homepage url with page url change

    - Create a "/test" page, publish it
    - Set "/test" as homepage url directly on the website (in the settings)
    - Go to that page
    - Open the page properties and change its URL from /test to /else
    
    From there, the website setting (`homepage_url` field) was still set to
    /test and not /else.
    It means that the first "published" menu would then be used to avoid
    serving a 404 as homepage to your visitors.
    
    It is a bit confusing and people probably just expect to change that
    website setting too when changing the page URL.
    
    We had some feedback about similar flows (that couldn't be reproduced or
    where people weren't sure) where people ended up writting on the wrong
    page or losing their content.
    Maybe this will mitigate the issue.
    
    Kind of related: task-3476840
    
    closes odoo#145802
    
    Signed-off-by: Jérémy Kersten <jke@odoo.com>
    rdeodoo committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    374a1b3 View commit details
    Browse the repository at this point in the history
  2. [FIX] web_editor: prevent unexpected placeholder for editable area

    Previously, the code for adding placeholders checked if the content
    inside a block was either an empty string (`''`) or just a single `<br>`
    element. While this logic was intended to provide hints when blocks were
    empty, it had the unintended consequence of adding placeholders in
    situations where it wasn't necessary, such as when removing images from
    a section.
    
    To prevent unexpected placeholders, this commit refines the logic. It
    now adds a placeholder only when the content inside a block consists
    solely of a single `<br>` element, which is a more accurate indicator of
    an empty block.
    
    Additionally, this PR resolves an issue with the `drag and drop a
    building block here` functionality. Previously, when entering edit mode
    and clicking on `drag and drop a building block here,` it moved upward.
    after these changes, it remains fixed in its original position.
    
    task-3380599
    
    closes odoo#146859
    
    X-original-commit: def1eee
    Signed-off-by: Nicolas Bayet (nby) <nby@odoo.com>
    Signed-off-by: Antoine Guenet (age) <age@odoo.com>
    utag-odoo committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    778b06b View commit details
    Browse the repository at this point in the history
  3. [FIX] point_of_sale: prevent order update when customer screen is open

    Previously, the order line quantity would inadvertently update if the
    Customer list screen was opened without clicking the search bar and
    typing numbers. This commit resolves the issue by disabling the event
    handler while a temp screen is open. Also, it enhances usability by
    focusing on the search bar upon opening the Customer list screen.
    
    opw-3634910
    
    closes odoo#146993
    
    Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
    pedrambiria committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    5840e17 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    67a0b34 View commit details
    Browse the repository at this point in the history