Skip to content
Snippets Groups Projects
  1. Sep 08, 2023
    • Richard deMeester's avatar
      [FIX] stock: change UOM on product block - multi company · fad9d559
      Richard deMeester authored
      
      There is code to block the UOM changing if there are done moves.
      
      Because it searches in non-sudo mode, it does NOT currently
      stop you changing the UOM if the product has moves in a different
      company.
      
      closes odoo/odoo#134807
      
      X-original-commit: 42674464
      Signed-off-by: default avatarTiffany Chang (tic) <tic@odoo.com>
      fad9d559
    • moerradi's avatar
      [ADD] account_bacs: Added UK BACS Direct Credit and Direct Debit · 91e4d9a5
      moerradi authored
      
      Implemented support for the BACS payment scheme as per the latest
      technical specifications, enabling the processing of BACS Direct Credits
      and Direct Debits. Included the mandatory requirement of a Service User
      Number (SUN) for businesses conducting transactions via BACS.
      
      closes odoo/odoo#128069
      
      Task-id: 3326945
      Related: odoo/enterprise#43923
      Signed-off-by: default avatarQuentin De Paoli <qdp@odoo.com>
      91e4d9a5
    • moerradi's avatar
      [FIX] account: Resolve foreign key constraint failure on PML deletion · 3e813e4c
      moerradi authored
      - Added ondelete='cascade' to account_payment_method_line's
      field definition.
      - Fixes the foreign key constraint failure during module uninstallation
      by automatically deleting dependent records.
      
      task-3326945
      
      Part-of: odoo/odoo#128069
      3e813e4c
    • Walid's avatar
      [FIX] stock: forecast button color · 95414e8c
      Walid authored
      
      Steps to reproduce:
      - Enable multistep routes (3 steps delivery)
      - Create a new storable product (0 on hand quantity)
      - Confirm an SO with that product
      
      Bug:
      forecast button is correctly red on the SO line but it's green on the
      stock pickings
      
      Fix:
      button should be green if it's possible to reserve quantity red otherwise
      
      opw-3440627
      
      closes odoo/odoo#134841
      
      X-original-commit: 0312c1bdc371e5a841b8d9e620c9fd7a49782b15
      Signed-off-by: default avatarQuentin Wolfs (quwo) <quwo@odoo.com>
      Signed-off-by: default avatarWalid Hanniche (waha) <waha@odoo.com>
      95414e8c
    • tsm-odoo's avatar
      [FIX] mail: fix push to talk key detection · fd84b63c
      tsm-odoo authored
      
      Before this commit, the push to talk key combination was wrongly
      detected. Indeed, it was dependent on which key was pressed first.
      
      Steps to reproduce:
      - Register "ctrl + alt" as the push to talk key
      - Press control then alt, push to talk does not work
      - Press alt then control, push to talk works
      - If you unpress the alt key, the push to talk will stop as expected
      - If you unpress the control key, the push to talk will keep going
      
      This commit fixes the issue.
      
      closes odoo/odoo#134728
      
      X-original-commit: 224c23d9c28421e93ee317eebe9e7da25c6c5872
      Signed-off-by: default avatarThanh Son Dodeur (tso) <tso@odoo.com>
      Signed-off-by: default avatarAlexandre Kühn (aku) <aku@odoo.com>
      fd84b63c
    • aliya's avatar
      [FIX] account: fill the journal code for general journal type · 1b1ee1b0
      aliya authored
      
      Currently, when a journal is created during import, we just use the journal name as the code.
      However, that gets truncated to 5 characters on create, which can conflict with existing journals.
      The import should be as flexible as possible, as it's better to let users import and fix things
      after the import rather than debug the import file.
      - If there is a journal with a shortcode that matches the truncated name of the new journal,
        just use the existing journal (enterprise PR)
      - If the shortcode conflict arises within the imported file
        (so the journals don't exist before the import), keep track of the codes in `vals_list`.
        The `get_next_bank_cash_default_code` is modified to avoid duplicating code.
      
      See also odoo/enterprise#46101
      
      closes odoo/odoo#132715
      
      Signed-off-by: default avatarLaurent Smet (las) <las@odoo.com>
      1b1ee1b0
    • lejeune quentin's avatar
      [FIX] hw_posbox_homepage: Fix odoo service restart in iot · 70a66cfa
      lejeune quentin authored
      
      after using the token to link a database to an iot box, the odoo service
       is not restarted and therefore no box is visible in the database.
      Now we apply the odoo_restart() function regardless of the platform used
      
      closes odoo/odoo#134829
      
      Signed-off-by: default avatarQuentin Lejeune (qle) <qle@odoo.com>
      70a66cfa
    • Nasreddin Boulif (bon)'s avatar
      [FIX] [sale_]loyalty: send gift card mail directly on SO confirmation · cd9b4732
      Nasreddin Boulif (bon) authored
      
      Steps to reproduce:
      
      - Install Loyalty module
      - Go to Website and buy a gift card
      - Checkout and pay the order
      
      Issue:
      
        Only 'Order Confirmation' email is sent directly to the customer,
        gift card email is queued and sent later.
      
      Cause:
      
        `send_email` method is called with `force_send=False` by default,
        which queues the email to be sent later.
      
      Solution:
      
        Add optional parameter `send_force` (default to `False`) to
        `_send_creation_communication` method and call it with
        `send_force=True` when confirming a sale order.
      
      opw-3324386
      
      closes odoo/odoo#133427
      
      Signed-off-by: default avatarNasreddin Boulif (bon) <bon@odoo.com>
      cd9b4732
    • Julien Van Roy's avatar
      [IMP] l10n_mx: add IEPS taxes & review existing · 3982de16
      Julien Van Roy authored
      
      Add IEPS taxes and tax groups. Make sure the IEPS taxes are
      `include_base_amount` and have a lower sequence than the IVA taxes.
      
      Unify the names of the taxes and their labels on invoice.
      
      Resequence the taxes to group them by nature.
      
      task-3100679
      
      closes odoo/odoo#134595
      
      X-original-commit: 734e18eb
      Related: odoo/enterprise#47121
      Signed-off-by: default avatarLaurent Smet (las) <las@odoo.com>
      Signed-off-by: default avatarJulien Van Roy (juvr) <juvr@odoo.com>
      3982de16
    • Aaron Bohy's avatar
      [FIX] web: form: no "oh snap" dialog after view button clicked · 4d2bc125
      Aaron Bohy authored
      
      Have a form view with a view button. Make some changes in the form
      s.t. the create/write rpc will return an error. Before this commit,
      the "oh snap" dialog was displayed, providing 2 choices to the
      user: stay here (basically, close the error dialog and do nothing
      else) or discard (discard changes, and continue the flow). In this
      case, the flow is to do the "call_button" as we clicked on a view
      button. It means that if the user clicked on discard, we still
      call the method/action, even though the record was invalid (and
      maybe not even existing if it was a new record). This can cause
      other issues afterwards.
      
      The "oh snap" dialog was designed for navigation flows (e.g. menu,
      breadcrumbs...), when the user tries to leave the form view. It
      doesn't fit very well with flows involving the current record that
      couldn't been saved.
      
      This commit thus prevents the "oh snap" dialog from being displayed
      if the save preceeding a call_button fails. The error returned by
      the save is simply displayed in a basic dialog that can only be
      closed.
      
      opw~3395109
      
      closes odoo/odoo#134783
      
      Signed-off-by: default avatarGéry Debongnie <ged@odoo.com>
      4d2bc125
    • Robin Lejeune (role)'s avatar
      [FIX] website: separate website menu cache for logged in/out users · cfd19012
      Robin Lejeune (role) authored
      
      The website menu is cached for each page, but there is no difference
      between the cache of a logged user or of a public user. If you have a
      page restricted to logged in users in the menu, this can sometimes lead
      to:
      (1) the link appearing in the menu even though the visitor is logged out
      (because the cache was done when logged in), and
      (2) the link not appearing even though the visitor is connected (because
      the cache was done when logged out).
      
      While (1) only leads to a 403 error if one clicks on the menu link, (2)
      is more annoying as it hides a page that should be shown.
      
      This commit therefore also caches the website menu depending on the
      visitor being logged in or not.
      
      Note that the same bug occurs for pages restricted to a specific group.
      In these cases however, there is no technical solution as of now. It
      should be considered as a limitation.
      In such cases, workarounds are possible:
      - Going on the "My account" page (by clicking on the username) will
      always show the page.
      - One could add a snippet on the homepage with a link to the restricted
      page, and conditionally display the snippet only for users of that group
      
      Steps to reproduce the bug:
      1) Connect as admin, create a new page, open its properties and set its
      visibility to 'Signed in', then publish it.
      2) Logout, connect as portal
      3) Logout, connect as admin
      4) Unpublish and republish the page
      5) Logout, reconnect as portal
      6) Go to the homepage: the new page doesn't appear in the menu
      7) Go to 'Contact us': the page reappears in the menu
      
      opw-3445032
      
      closes odoo/odoo#134688
      
      Signed-off-by: default avatarRomain Derie (rde) <rde@odoo.com>
      cfd19012
    • Achraf's avatar
      [FIX] website_sale: Correct comparison_price in product page · cf6c0af4
      Achraf authored
      Linked pr https://github.com/odoo/odoo/pull/133484
      Comparison price was not converted to currency pricelist, now it's done.
      
      Problem https://github.com/odoo/odoo/pull/133484#issuecomment-1705317420
      
      
      
      closes odoo/odoo#134278
      
      Signed-off-by: default avatarAchraf Ben Azzouz (abz) <abz@odoo.com>
      cf6c0af4
    • Walid's avatar
      [FIX] purchase_mrp: split cost in bom line · 8e516dcc
      Walid authored
      
      Steps to reproduce:
      - Create Storable Product "Super Test" with Cost of $1.
      - Create Storable Product "Pack of Super Test" with Cost of $10.
      - Create a Kit BoM that produces 1 "Pack of Super Test" from 10 "Super Test".
      - Ensure product category on both products is set to Automated FIFO Inventory Valuation.
      - Create a PO for 20 "Pack of Super Test" and confirm.
      - Process the Delivery and look at inventory valuation.
      - See that "Super Test" has moved quantity at 200 with Unit Value of 10 each (taken from kit product!).
      
      Bug:
      cost isn't split on the qty of the bom line
      
      Fix:
      take product quantities of the bom into consideration
      
      opw-3453703
      
      closes odoo/odoo#132186
      
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      8e516dcc
    • clesgow's avatar
      [FIX] mrp: compute the right producible qty with same components · b8fda0bd
      clesgow authored
      
      Steps to reproduce:
      - In Manufacturing, create a the following BoM
        - Product: P1
        - Components:
          - 2 x P2
          - 2 x P2
      - Set the quantity in stock for P2 to 2
      - Open the Overview from the BoM
      
      Issue:
      The 'Ready to Produce' column will indicate 1, as it checks line by line
      how much product there is in stock compared to what is required for this
      line.
      To avoid this, we just need to sum the quantities required by products.
      
      closes odoo/odoo#134714
      
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      b8fda0bd
    • Benjamin Hanquin (beha)'s avatar
      [PERF] spreadsheet_account: optimize fetch_debit_credit SQL query · a707f834
      Benjamin Hanquin (beha) authored
      
      Issue:
      Displaying the data on the dashboard accounting can take up to 1 minute
      
      Analysis:
      The spreadsheet_fetch_debit_credit function needs a domain in order to compute the formulas. The domain being set in `_build_spreadsheet_formula_domain` use a like search for account_account.code on account_move_line which is a big table. Thus it does not scale well. There is also a unnecessary complexity on adding an "OR expression" on each one of the account_id code searched for.
      
      Solution:
      It can be optimized by searching for the full exhaustive (like in SQL) codes in account.accoun since it has way less records and thus more scalable. And then use an exact condition (=) which is faster than a like search. Also adding more readable while adding the balance_domain and pnl domain only once in the whole query.
      
      Benchmark:
      
      | Before PR | After PR |
      |:----------:|:---------:|
      | 8s 51 ms | 42 ms code search + 42 ms full query |
      
      Related ticket:
      opw-3328144
      
      Version affected:
      16.0 and above
      
      closes odoo/odoo#134514
      
      Signed-off-by: default avatarLucas Lefèvre (lul) <lul@odoo.com>
      a707f834
    • Habib (ayh)'s avatar
      [IMP] web: trigger fast owl re-render from python · 462fbd7f
      Habib (ayh) authored
      
      Because why not?
      
      We often need to re-render the user interface from python, but limited to call a browser reload (redirect to current URL).
      With this simple client action tag `soft_reload` - we can quickly reload the UI, without a hard refresh.
      
      An example use case: refresh the kanban when an onboarding step is done via a dialog. See `validate` in 'account.setup.bank.manual.config'
      
      closes odoo/odoo#133643
      
      Signed-off-by: default avatarFrancois Georis (fge) <fge@odoo.com>
      462fbd7f
    • Adrien Widart (awt)'s avatar
      [FIX] mrp: prevent from merging other products' SM · af16740e
      Adrien Widart (awt) authored
      To reproduce the issue:
      1. In Settings, enable:
         - Multi-Routes
      2. Unarchive the route MTO
      3. Create three storable product P1, P2, P3:
         - P2:
           - With route MTO
      4. Create and confirm a MO:
         - Product: P1
         - Components:
           - 1 x P2
           - 1 x P3
           - 1 x P3
      5. Set the produced/consumed quantities:
         - For P2, set 1.5
      6. Mark the MO as done
      
      Error: an error message is displayed: "Record does not exist or has
      been deleted."
      
      In `SM._action_done`, we create some extra moves:
      https://github.com/odoo/odoo/blob/e029abe649573350e633999e42ab040c57b8fe4e/addons/stock/models/stock_move.py#L1705-L1710
      Because of the exceed quantity on the first components line, we
      create a new SM (qty 0.5). There is a difference between both SM:
      the `procure_method` (MTO for the initial SM, MTS for the new one).
      Because of that difference, when confirming the new SM, we don't
      provide any `merge_into` (the `else` block):
      https://github.com/odoo/odoo/blob/e029abe649573350e633999e42ab040c57b8fe4e/addons/stock/models/stock_move.py#L1684-L1690
      Confirming the new SM leads to the `_merge_moves` method. In this
      method, because we didn't provide any `merge_into`, we first try to
      get some candidates:
      https://github.com/odoo/odoo/blob/e029abe649573350e633999e42ab040c57b8fe4e/addons/stock/models/stock_move.py#L866-L868
      And at that point, we will provide with all components SMs:
      https://github.com/odoo/odoo/blob/e029abe649573350e633999e42ab040c57b8fe4e/addons/mrp/models/stock_move.py#L494-L497
      
      
      So, we will also provide the two SM of C02. Therefore, the method
      will merge these SMs and unlink the second one. Then, back to the
      extra moves creation in `SM._action_done`, the for loop will iterate
      on the deleted record, hence the error.
      
      OPW-3454899
      
      closes odoo/odoo#134674
      
      X-original-commit: 587a2996
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      Signed-off-by: default avatarAdrien Widart (awt) <awt@odoo.com>
      af16740e
    • Mathieu Walravens's avatar
      [FIX] delivery: speed up _compute_packages using read_group · 15a8cc9e
      Mathieu Walravens authored
      
      Before this commit:
      Packages were computed using a for loop, skipping any picking without
      any packages.
      
      After this commit:
      Packages are computed using a read_group, speeding up the computed
      method for large pickings with hundreds of stock move lines.
      
      opw-3461706
      
      closes odoo/odoo#134581
      
      X-original-commit: 8dcad6e4
      Signed-off-by: default avatarArnold Moyaux (arm) <arm@odoo.com>
      Signed-off-by: default avatarWalravens Mathieu (wama) <wama@odoo.com>
      15a8cc9e
    • hungbui's avatar
      [FIX] pos_loyalty: Fix missing program's order count when fetching data · 3b12f989
      hungbui authored
      
      before this commit, POS order can add a reward from loyalty programs
      which have already reached maximum usage by add the loyalty rule's code
      and refresh the browser. It will clear 'total_order_count' in browser
      cache.
      step to remake:
      1. create a promo code loyalty program with maximum usage
      2. create orders (pos order or sale order) with this promo code and paid
      them until the program reaching the limit usage.
      3. create new POS order and add the promo code -> no reward line in POS
      order, then refresh browser, it will add new reward line into order
      
      after this commit, 'total_order_count' allways be fetching from database
      so it is being clear no longer.
      
      closes odoo/odoo#134077
      
      Signed-off-by: default avatarJoseph Caburnay (jcb) <jcb@odoo.com>
      3b12f989
    • Adrien Widart (awt)'s avatar
      [FIX] stock: check SN uniqueness by location · 47cdc122
      Adrien Widart (awt) authored
      
      To reproduce the issue:
      1. In Settings, enable:
         - Storage Locations
         - Package
      2. Create a product P
         - Type: Storable
         - Tracked by SN
      3. Process a receipt with 1 x P, serial S
      4. Return P in a package
      5. Process a new receipt with 1 x P, still S as SN
      
      Error: An error is displayed "The serial number has already been
      assigned [...]". This is incorrect, the user should be able to
      receive that SN.
      
      After step 3, there exists a quant Q1: -1 x P at Supplier Location
      with S. Then, after step 4, a new quant Q2 is created: 1 x P at
      Supplier Location with S and the package. Because the field
      `package_id` is not the same on Q1 and Q2, both quants are not merged.
      
      As a result, step 5, we will update Q1 and have -2 x P at Supplier
      Location with S. This will trigger the constraint, hence the error
      message.
      
      OPW-3390615
      
      closes odoo/odoo#134727
      
      X-original-commit: 3a501855e65b6e82004d67beeecffe7286cc682b
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      Signed-off-by: default avatarAdrien Widart (awt) <awt@odoo.com>
      47cdc122
  2. Sep 07, 2023
    • Arnaud Joset's avatar
      [FIX] base_geolocalize: allow using the functionnality without privileges. · 3bbe8d2b
      Arnaud Joset authored
      Before this commit, simple user could not use the novatim API since https://github.com/odoo/odoo/commit/160e8bfbf72a3e5d7cc8d8cbe7bc4f310f298baa
      
      
      
      closes odoo/odoo#134735
      
      Taskid: 3497580
      X-original-commit: 43763618
      Signed-off-by: default avatarArnaud Joset (arj) <arj@odoo.com>
      3bbe8d2b
    • hmai's avatar
      [FIX] web editor: cursor jumps out of blockquote · 2b2da9b7
      hmai authored
      
      Steps to reproduce:
      
      1. add a paragraph
      2. add a blockquote
      => the cursor will jump in the paragraph
      This commit fixes a bug detected when inserting a blockquote. The cursor
      jumps to nearby paragraph on insert, and other issues.
      
      The cause of the bug is tied to the fact that we rely on a complex behavior
      when inserting paragraph related elements (within the insert command).
      The way to make blockquote behave like the other paragraph related
      elements is simply to add it to the list as done in this commit.
      
      Task-3383441
      
      closes odoo/odoo#134633
      
      X-original-commit: 8195beac
      Signed-off-by: default avatarDavid Monjoie (dmo) <dmo@odoo.com>
      2b2da9b7
    • Pedram (PEBR)'s avatar
      [FIX] point_of_sale: improve order synchronization mechanism · 2e7f7b12
      Pedram (PEBR) authored
      
      This commit introduces improvements to the order synchronization
      mechanism. The changes ensure better error handling and provide a more
      reliable and informative synchronization process.
      
      Key Changes:
      
      1. Enhance `_flush_orders` Method
          - The `_flush_orders` method now has additional error handling to
          detect RPC errors during synchronization of multiple orders. If an
          RPC error is detected and multiple orders are being synced, the
          method will attempt to send each order to the server individually.
      
      2. Introduce `_flush_orders_retry` Method
          - This method sends orders to the server one by one and keeps track
          of the synchronization status (successful, RPC error, or other
          errors).
          - It sets the synchronization status to `'connected'`, `'error'`,
          or `'disconnected'` based on the outcome of individual order
          synchronization attempts.
      
      3. Improve Error Handling
          - Enhanced error handling mechanisms to differentiate between
          various types of errors.
          - Synchronization status reflects the type of error encountered.
      
      opw-3389388
      
      closes odoo/odoo#134333
      
      X-original-commit: 57074c34e90cdbf1db5b06fc8ccd6ae2318191fc
      Signed-off-by: default avatarJoseph Caburnay (jcb) <jcb@odoo.com>
      Signed-off-by: default avatarPedram Bi Ria (pebr) <pebr@odoo.com>
      2e7f7b12
    • Nshimiyimana Séna's avatar
      [FIX] account: include 'quantity' in '_compute_all_tax' dependencies · 2aafff6a
      Nshimiyimana Séna authored
      
      Summary
      -------
      This commit addresses an issue where fixed taxes were not calculated
      correctly when applied to a line with a price of 0.
      
      Steps to reproduce
      ------------------
      1. Create a fixed tax with an amount of 5.
      2. Create an invoice with a line having zero price and apply the fixed
         tax.
      3. Save the invoice. You should have a total of 5.
      4. Change the quantity of the invoice line, to something like 2.
      5. Save the invoice.
      
      We expect the total to be 10, but we get 5.
      
      opw-3212536
      
      closes odoo/odoo#134153
      
      Signed-off-by: default avatarWilliam André (wan) <wan@odoo.com>
      2aafff6a
    • Touati Djamel (otd)'s avatar
      [FIX] mrp: ignore verification for tracked product with 0 to consume qty · 35ca0d94
      Touati Djamel (otd) authored
      
      Steps to reproduce the bug:
      - Create a storable product “P1” with BoM:
          - Add a tracked component
          - Add another component (no tracked)
      - Create a MO to produce 1 unit of the product "P1":
          - Confirm
          - Unlock the MO
          - Set the "to consume" quantity of the tracked component to 0.
      
      - Try to validate the MO
      
      Problem:
      A user error is triggered: “You need to supply Lot/Serial Number for
      products:”
      
      Solution:
      If the quantity to consume is 0, ignore the serial number verification
      for this move.
      
      opw-3471256
      
      closes odoo/odoo#134567
      
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      35ca0d94
    • lejeune quentin's avatar
      [FIX] point_of_sale: Remove timesyncd service from iot · 3857462d
      lejeune quentin authored
      
      With the new version of raspios the timesyncd service is not
      correctly stopped during a shutdown or a reboot.
      Here 'timedatectl set-ntp true' enables and starts
      the first existing network synchronization service
      
      closes odoo/odoo#134628
      
      Signed-off-by: default avatarQuentin Lejeune (qle) <qle@odoo.com>
      3857462d
    • Hugo Santos's avatar
      [CLA] corporate/factorlibre - Add contributor · feb22b43
      Hugo Santos authored
      
      closes odoo/odoo#134469
      
      Signed-off-by: default avatarMartin Trigaux (mat) <mat@odoo.com>
      feb22b43
    • yhu-odoo's avatar
      [FIX] mrp: wrong workorder state in tests · a2574b45
      yhu-odoo authored
      As a good pratice, in compute method, we assign a default value before
      we do the actual calculation to avoid issues like no value is assigned
      for fields with required=True. For example `reservation_state`:
      https://github.com/odoo/odoo/blob/7ebc8cc5771d069b32722d493dd0ae5341e54c96/addons/mrp/models/mrp_production.py#L572
      However, since workorder state is depends on this field:
      https://github.com/odoo/odoo/blob/7ebc8cc5771d069b32722d493dd0ae5341e54c96/addons/mrp/models/mrp_workorder.py#L158-L159
      
      
      For some reason, this unexpected false value can lead to some transit
      wrong state in tests (it happens when you run the test, but correct
      state show when you put a breakpoint and step into each state
      computation).
      To solve it, we remove this default value assignment. It should be safe
      since this field is not required.
      
      closes odoo/odoo#134264
      
      Related: odoo/enterprise#46875
      Signed-off-by: default avatarSteve Van Essche <svs@odoo.com>
      a2574b45
    • Gauthier Wala (gawa)'s avatar
      [IMP] l10n_pl_{jpk/sale_stock}: Add fields necessary for JPK · 82e85c14
      Gauthier Wala (gawa) authored
      
      For the JPK and the EDI, a lot of additional informations are needed.
      We provide them in community, so it's available later for EDI.
      
      The delivery date is needed in Poland, and we compute it if
      sale_stock is installed. It will be done later for all localizations,
      but not in stable, so we will merge it with the other ones later.
      
      closes odoo/odoo#115225
      
      Related: odoo/enterprise#38166
      Signed-off-by: default avatarOlivier Colson (oco) <oco@odoo.com>
      82e85c14
    • Gauthier Wala (gawa)'s avatar
      [FIX] l10n_pl: tax report and tax changes for JPK · f41aa416
      Gauthier Wala (gawa) authored
      Some taxes and tax report lines are needed for the export of JPK
      (and EDI that will be done later)
      
      Part-of: odoo/odoo#115225
      f41aa416
    • Maruan Aguerdouh (magm)'s avatar
      [FIX] website_sale: add to cart modal properly displayed on list view · 643141dd
      Maruan Aguerdouh (magm) authored
      
      Made the modal for add to cart to be the same when in Grid view and list
      view. We achieve this by modifying the css inside
      `#products_grid.o_wsale_layout_list`.
      
      opw-3235969
      
      closes odoo/odoo#133439
      
      Signed-off-by: default avatarAntoine Vandevenne (anv) <anv@odoo.com>
      643141dd
    • Nicolas Bayet's avatar
      [FIX] web_editor: strengthen collab stale detection & recovery · 37836c0a
      Nicolas Bayet authored
      
      Before this commit, the stale document detection was imprecise and
      incomplete.
      
      The stale document could happen in different scenario:
      1)  Client B save when client A is disconnected (therefore client A
          should be notified that the document is stale upon reconnection):
      
          - For that scenario, the code had a heuristic to detect if the
          internet connection disconnected and reconnected but was imprecise
          as the browser api is not 100% reliable on all browser and
          platforms. That made the code under-checking or over-checking with
          the server.
      
      2)  The user has not yet focused on the element and before this
          commit, the stale document was not detected.
      
      3) If there is a partition in the peer to peer network and a member of
         another partition that save, all other partition will not be aware
         that they are working on a stale document.
      
      4) The stale document happen before 2 peers could be fully connected.
      
      For any of those scenarios, if a stale document was not detected and
      the user tried to save changes, only then, a popup would inform that
      the version was stale. And if the user closed the tab thinking the
      document would automatically save, the change would not be saved
      (without warning).
      
      This commit:
      1) improve detection of stale document
      To detect the document this commit add a message in the odoo bus.bus
      for the channel of the record for each write. That will ensure the
      message to be received as soon as a user is connected to odoo.
      
      2) improve recovery from stale document
      Before this commit, the recovery was only made from the server.
      
      As a detection is now direct (rather than delayed by the previous
      heuristic), a document could be detected stale before receiving a step
      that would not make it stale. Therefore, we cannot just reset from the
      server as a recovery mechanism.
      
      To recover, this commit first tries to reset from missing steps from
      all peers. If unsuccessful, it will tries to reset from a snapshot. If
      unsuccessful, it will reset from the server.
      
      3) add a mechanism for aborting requests
      To prevent unexpected concurrency behavior, this commit add a mechanism
      to abort requests.
      
      4) a framework for testing the collaboration of the wysiwyg
      As it could be quite tedious and error prone to manually tests
      concurrency issues related to the wysiwyg, this commit add a framework
      for testing the collaboration of the wysiwyg and test the detection
      and recovery of stale document.
      
      task-3217965
      
      closes odoo/odoo#128847
      
      Signed-off-by: default avatarDavid Monjoie (dmo) <dmo@odoo.com>
      37836c0a
    • Nicolas Bayet's avatar
      [FIX] web_editor: move _getNewPtp out of a closure · 115393d5
      Nicolas Bayet authored
      In a subsequent commit, we need to change the content of the method
      `_getNewPtp` and to patch it in tests.
      
      To make that commit more readable by understanding which lines
      changed, this commit moves the creation _getNewPtp to the Wysiwyg
      prototype rather in a closure.
      
      task-3217965
      
      Part-of: odoo/odoo#128847
      115393d5
  3. Sep 06, 2023
Loading