Skip to content
Snippets Groups Projects
  1. Oct 31, 2022
    • David (dafr)'s avatar
      [FIX] purchase: Add 'price_total' & 'price_tax' to the order lines tree · 70878ed4
      David (dafr) authored
      
      # Description
      The absence of those fields can generate a log note spam & performance issue when updating an order line value.
      
      # HOW TO REPRODUCE
      - Create PO with 40+ order lines (50 recommend) (* SA to reproduce would be nice)
      - Confirm PO (state needs to be "purchase")
      - Update the Ordered Quantity of the first line.
      - Save
      => PO Lines from page 2 and beyond have each created the following log message:
      "The ordered quantity has been updated."
      
      # Explanation
      The purchase.order.line onchange will not save any update on 'price_total' because it is not on the onchangeSpec.
      Then a purchase.order onchange is done, and this one does have 'order_line.price_total' on the onchangeSpec, forcing the onchange method to return the field 'order_line' (aka ALL the order lines) as updated.
      When saving the changes, the JS framework, who does not have the data for the order_lines on the 2nd page, will not correctly filter the fields with real changes, and add the 'product_qty' field (and more) to the "write" call for every order_line not in the 1st page.
      Then the write method, without checking if there is any real change on the product_qty, for each lines that has product_qty in the Write's values, will write in the log note and call a performance intensive method: _create_or_update_picking()
      
      OPW-2982004
      
      closes odoo/odoo#104490
      
      X-original-commit: e99cdd64
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      Signed-off-by: default avatarDavid <dafr@odoo.com>
      70878ed4
    • Florent de Labarre's avatar
      [FIX] point_of_sale : wrong api · 2abeb8cc
      Florent de Labarre authored
      
      Before this PR when you select a pos.payment in custom, it raise.
      It doesn't make sens to use api.model here
      
      closes odoo/odoo#99237
      
      Signed-off-by: default avatarTrinh Jacky (trj) <trj@odoo.com>
      2abeb8cc
  2. Oct 30, 2022
  3. Oct 28, 2022
  4. Oct 27, 2022
    • Touati Djamel (otd)'s avatar
      [FIX] sale_stock, purchase_stock: use product name as `stock.move` name · bf3c398f
      Touati Djamel (otd) authored
      Steps to reproduce the bug:
      - Create a Kit product "Kit 1":
          - Add a BOM with a component “C1”
          - Add a sales description
      - Create another kit product without a sales description "Kit 2":
          - Add a BOM with a component "C2"
      - Make sure you have a qty of “C1” and "C2"
      - Create a SO:
          - Add "Kit 1" and "Kit 2"
          - Add any other storable product
          - Confirm the SO
      - Go to the delivery → validate it
      - Print the delivery slip
      
      Problem:
      The report doesn’t contain the kit product.
      
      Because in the report, the `stock.move.line` are filtered by checking
      the name of their move if it has the same name as the product in
      the bill of material, but like the `stock.move` has the name
      ('description') of the `sale.order.line` instead of the product name,
      the lines are filtered and not displayed:
      https://github.com/odoo/odoo/blob/14.0/addons/mrp/report/report_deliveryslip.xml#L9
      
      
      
      The behavior is the same for purchase orders
      
      opw-2960467
      
      closes odoo/odoo#101953
      
      Signed-off-by: default avatarTiffany Chang <tic@odoo.com>
      bf3c398f
    • Guillaume (guva)'s avatar
      [FIX] account: latest statement on bank journal dashboard · 76d0665a
      Guillaume (guva) authored
      
      Display the latest statement on journal dashboard.
      
      Steps to reproduce:
      
      - Create a bank statement for date X, with a line with date X + 1 day,
        confirm, reconcile and validate
      - Create an other bank statement for date X, with a line with date X,
        confirm, reconcile and validate.
      - Go to Accounting Dashboard
      -> The latest statement is the first we created, instead of the last one
      
      The reason is, the last statement was display depending on the
      statements lines.
      
      With this commit we change the domain to make it valif for bank
      statement in order to search the last statement depending on the
      order declared on account.bank.statement model.
      
      opw-2752699
      
      closes odoo/odoo#91887
      
      Related: odoo/enterprise#33317
      Signed-off-by: default avatarNicolas Viseur (vin) <vin@odoo.com>
      76d0665a
    • Touati Djamel (otd)'s avatar
      [FIX] stock_account: convert qty to product UOM before creating an SVL · 30aaa668
      Touati Djamel (otd) authored
      Steps to reproduce the bug:
      - Create a Storable product “P1”:
          - UOM: unit
          - Update the qty to 100
      - Create an out transfert:
          - Product: P1
          - Qty: 2
          - UOM: dozens
          - Validate the transfert
      - Click on the valuation button
      - an SVL is created with Qty: 24 → 2 pack of 12
      - Go back to the picking:
          - Unlock it
          - change the done qty from 2 to 3
          - Lock the picking
      
      Problem:
      The quantity on the new SVL is not converted to the default UoM set on
      the product.
      
      In the write function of `stock.move.line` we calculate the difference
      between the old and the new qty (3 - 2), then, the
      `_create_correction_svl` is called:
      https://github.com/odoo/odoo/blob/15.0/addons/stock_account/models/stock_move_line.py#L45-L48
      
      without converting the diff qty into the product uom,
      The `_create_out_svl` function is called with the `forced_quantity`
      parameter:
      https://github.com/odoo/odoo/blob/15.0/addons/stock_account/models/stock_move_line.py#L66
      As it is a forced quantity, it will not convert it:
      https://github.com/odoo/odoo/blob/14.0/addons/stock_account/models/stock_move.py#L188
      
      
      
      Solution:
      Convert diff qty in the `_create_correction_svl`, to avoid converting it
      in every function it may call
      
      opw-3041279
      
      closes odoo/odoo#104096
      
      Signed-off-by: default avatarArnold Moyaux (arm) <arm@odoo.com>
      30aaa668
    • Pedro Manuel Calheiros Lima de Sousa (peso)'s avatar
      [FIX] l10n_fi: "brutto" taxes not included in price · b67ea341
      
      Description is the label on invoice : tax rate is enough.
      Align Finland on Odoo's new taxonomy, already available in BE
      G = Goods, S = Services, IG = Investment Goods
      Less active taxes for a smoother onboarding
      
      Steps to reproduce:
      
        - Install finish Finnish Localization(l10n_fi) module,Accounting
        - Verify accounting taxes (brutto: 24%|14%|10%)
         price_include checkbox is deselected
      
      Issue:
      
        Price_include field set to False
      
      Cause:
      
        Field in locale template view not defined, model defaults to False
      
      Solution:
      
        Field defined in tax template data and set to True for locale
      
      opw-2992952
      
      closes odoo/odoo#103725
      
      Signed-off-by: default avatarNicolas Viseur (vin) <vin@odoo.com>
      b67ea341
    • Guillaume (gdi)'s avatar
      [FIX] website_blog: display all the blog posts when filtered · 8198378d
      Guillaume (gdi) authored
      
      Before this commit, following these steps:
      - Go to /blog
      - Activate the option Customize > Top banner - Name / Latest Post
      - Disable the option Customize > Full Width Cover
      - Click on the "guides" tag of the "Buying A Telescope" blog
      
      No blog is displayed. This was because the top banner post is not shown
      when the posts are filtered. Basically, once filtered, a blog post was
      always missing.
      
      Related to opw-2882492
      
      closes odoo/odoo#104203
      
      X-original-commit: aa7f5a00
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      8198378d
    • qsm-odoo's avatar
      [FIX] website_blog: fix link on the top banner of /blog · 82472731
      qsm-odoo authored
      
      Before this commit, following these steps:
      - Go to /blog
      - Activate the option Customize > Top banner - Name / Latest Post
      - Disable the option Customize > Full Width Cover
      
      The URL to which we are redirected when we click on the blog of the
      post presented at the top of the page leads to an error.
      
      Indeed the URL of that link is something like "/blog?blog=blog.blog(2,)"
      because of the template wrongly using the 'blog_url' QueryURL which is
      defined in the case where we are rendering a blog page where no specific
      blog is selected. We define that as `QueryURL('/blog', ['tag'], ...)`
      but then parts of the template used it like this: `blog_url(blog=X)`
      thus generating an URL like "/blog?blog=blog.blog(2,)". Adding "blog" to
      the list of params would not be right as would create "/blog/blog/2"
      which is still wrong as we want "/blog/2". And of course the "/blog"
      prefix in the QueryURL definition is needed in case we only specify a
      tag via `blog_url(tag=X)` (we expect /blog/tag/X). Patching QueryURL or
      making blog_url a custom function instead of a QueryURL instance could
      be a solution but it was judged not stable enough. We'll do that in
      master. Here we only support "/blog?blog=blog.blog(2,)" URLs.
      
      Note that many parts of those templates do not use the `blog_url`
      function and simply build the URL by hand, which is why the bug only
      occurred for a very specific set of blog options.
      
      opw-2882492
      
      X-original-commit: f32992de
      Part-of: odoo/odoo#104203
      Co-authored-by: default avatarGuillaume (gdi) <gdi@odoo.com>
      82472731
  5. Oct 26, 2022
  6. Oct 25, 2022
    • Romain Derie's avatar
      [IMP] website: add possibility to self host google font · fa362f72
      Romain Derie authored
      This is a backport of [1] from Odoo 16
      
      -----------------
      
      Before this commit, the only possibility when adding a google font was
      to use google servers to serve the font.
      
      This was not ideal as some people really want to serve it themselves
      without the need of their visitors to reach google servers.
      That's especially true since recently where it seems like German clients
      are receiving letters about that to tell them it's illegal and this
      should be changed, as it wouldn't respect the GDPR.
      Somehow, it seems related to the fact that google knows you visited a
      website by just downloading the font, because they very well know with
      just your IP who you are exactly.
      
      It's yet unsure if that issue is well-founded or not, but since German
      courts seem to be sanctioning people about this, there is no reason to
      not at least provide a workaround.
      
      What is sure is that it makes a lot of noise and more and more people
      seem to be impacted by this as many opw are getting opened, as well as
      github messages.
      
      Whether it is well-founded or not is thus not really our problem
      anymore, we should just provide a way for our users to protect
      themselves against this "German law problem" (or at least think they are
      protecting, if Odoo thinks that's a non issue or the German court is
      wrong or ambiguous).
      
      Note that a cookies banner to inform users would not be enough for that
      "problem", as the user would already have accessed your website and thus
      the related problematic fonts.
      Another solution which is not something we want (at all) would be to
      serve local system fonts while the user did not consent about google
      fonts, or having a blocking screen page telling people visiting the
      website will fetch google fonts. Obviously those 2 possibilities are a
      no go as it leads to terrible UX.
      
      Finally, note that:
      - in Odoo 16, the default fonts will be the system fonts, meaning there
        won't be any call to google by default, regardless of this pr
      - there is a work in progress to improve the current cookies bar to
        differentiate essential and non essential cookies and to allow user
        to accept only one or both (task-2800976).
      
      Useful links:
      - https://github.com/odoo/odoo/issues/83638#issuecomment-1054470699
        ODO detailed point of view about this
      - https://rewis.io/urteile/urteil/lhm-20-01-2022-3-o-1749320/
        The German law about this
      
      [1]: https://github.com/odoo/odoo/commit/b06ce21eba6388ce34bbffffadcb489f0e8557dd
      
      
      
      Closes #83638
      task-2756486
      opw-2970167
      opw-2960466
      opw-2960555
      opw-2952427
      opw-2800976
      opw-2748647
      (possibly many more)
      
      Courtesy of @bso-odoo for the regex part which was inspired by another
      of his google font fix attempt
      
      closes odoo/odoo#103389
      
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      fa362f72
    • Andrea Grazioso (agr-odoo)'s avatar
      [FIX] website_sale: fiscal position application · c856c2ae
      Andrea Grazioso (agr-odoo) authored
      
      Have the following taxes:
      - Tax A: 15%, included in price
      - Tax B: 21%, included in price
      
      Create a product P with list price 115 and tax A
      
      Have a fiscal positions FPOS configured with:
      - Detect Automatically checked
      - Country: Belgium
      - Map tax on product: A -> B
      
      Open a web shop session as guest, add P to cart
      Go to checkout: Price total will be 115
      Fill address details with Belgium address
      Go to confirmation page
      
      Error:
      Price total will be 100. In the application of fiscal position the wrong
      unit price is used
      
      opw-2973879
      
      closes odoo/odoo#103932
      
      X-original-commit: 17aa4051
      Signed-off-by: default avatarWilliam Braeckman (wbr) <wbr@odoo.com>
      c856c2ae
    • Andro Gvivradze's avatar
      [FIX] website_slides: apply correct domain when viewing ratings · 73be6545
      Andro Gvivradze authored
      
      when you open course ratings view, it may show also
      some project ratings, if project id is same as course id.
      This commit solves the mentioned problem.
      
      Task-2997847
      
      closes odoo/odoo#101244
      
      Signed-off-by: default avatarWarnon Aurélien (awa) <awa@odoo.com>
      73be6545
  7. Oct 24, 2022
    • MerlinGuillaume's avatar
      [FIX] mrp: recursive BoM cost correctly computed · eee68d23
      MerlinGuillaume authored
      On recursive BoM with more than 3 nested levels, the cost of the child
      bom is wrong resulting in a wrong total
      
      Steps to reproduce:
      1. Install Manufacturing
      2. Create products C1 (with cost 5€), P1, P2, P3
      3. Create BoM for 2 units of P1 with 1 unit of C1 as component
      4. Create BoM for 1 unit of P2 with 1 unit of P1 as component
      5. Create BoM for 1 unit of P3 with 1 unit of P2 as component
      6. Go to the BoM of P3 and open 'BoM Structure & Cost'
      7. BoM cost of P3 is 1.25€, it should be 2.5€
      
      Solution:
      The quantity used to compute the price of a child bom should not be
      divided by the child bom quantity
      
      Problem:
      When `_get_price` calls itself (with a child bom), the factor passed is
      wrongly divided by `line.child_bom_id.product_uom_qty` because the
      quantity used to compute the price of a component is already divided by
      `bom.product_qty`
      https://github.com/odoo/odoo/blob/eaf5618dc416a4565e084316595da4a0d8377acc/addons/mrp/report/mrp_report_bom_structure.py#L207
      
      
      
      opw-3007792
      opw-2990445
      
      closes odoo/odoo#103796
      
      Signed-off-by: default avatarAdrien Widart <awt@odoo.com>
      eee68d23
    • Adrien Widart (awt)'s avatar
      [FIX] delivery: add a carrier on a delivery · ca1793d3
      Adrien Widart (awt) authored
      
      It is not possible for a user to add a carrier directly on a picking if
      the invoicing policy of that carrier is set to "Real Cost"
      
      To reproduce the issue:
      1. Enable a carrier C
      2. Setup a shipping method SM:
          - Carrier: C
          - Invoicing Policy: Real Cost
      3. Create and confirm a SO with a product
      4. Edit the related picking P:
          - Carrier: SM
      5. Validate P
      
      Error: a Validation error is raised "The operation cannot be completed
      [...] Model: Sales Order Line (sale.order.line), Field: Description
      (name)"
      
      When validating the delivery, we try to create a new SOL with the
      shipping cost. We then update its description with the carrier name.
      However, since the carrier has been directly added on the picking, the
      sale order does not have that information. We should rather get this
      information from the delivery.
      
      OPW-2862306
      
      closes odoo/odoo#103764
      
      Signed-off-by: default avatarTiffany Chang <tic@odoo.com>
      ca1793d3
    • Renaud Thiry's avatar
      [FIX] mail: remove suggested recipient · 14e0abd1
      Renaud Thiry authored
      
      When creating a recipient from composer_suggested_recipient the user
      is free to modify the partner form however they want.
      
      This can lead to them inputing data which will create a partner
      that does not match the suggested partner data.
      In that case the box acts as if the partner was not created.
      
      This aims to remove the partner in such cases and warn the user.
      
      task #3016112
      
      closes odoo/odoo#103596
      
      Signed-off-by: default avatarAlexandre Kühn (aku) <aku@odoo.com>
      14e0abd1
    • pedrambiria's avatar
      [FIX] pos_restaurant: load the lot/serial number correctly · 0e2ea5ff
      pedrambiria authored
      Before this commit: if you use the lot/serial number for the products, it
      won't load correctly through the UI.
      
      closes odoo/odoo#103815
      
      Issue: https://github.com/odoo/odoo/issues/100888
      
      
      Signed-off-by: default avatarTrinh Jacky (trj) <trj@odoo.com>
      0e2ea5ff
    • Solan Delvenne (sode)'s avatar
      [IMP] snailmail: Modify the CSS to be compatible with all layouts and Pingen v2 · 2509a929
      Solan Delvenne (sode) authored
      
      Necessary improvement to the snailmail invoice layout for snailmail to work since Pingen has deprecated their v1 API with the plan to shut it down at the end of 2022 + their v2 API's validation is stricter.
      
      closes odoo/odoo#103379
      
      Signed-off-by: default avatarFlorian Daloze (fda) <fda@odoo.com>
      2509a929
    • Solan Delvenne (sode)'s avatar
      [IMP] snailmail: Generate a cover page if the "Cover Page" option is turned on · db8e3d29
      Solan Delvenne (sode) authored
      Pingen's v2 API does not offer an endpoint to generate a Cover Page automatically with an API call anymore, thus the need to generate it and append it to the invoice from the client-side beforehand.
      
      Part-of: odoo/odoo#103379
      db8e3d29
    • MerlinGuillaume's avatar
      [FIX] mrp: write one of start or end date on workorder · 35a596db
      MerlinGuillaume authored
      
      When writing a workorder start or end date from its manufacturing order
      (and if the MO is unplanned), an error is thrown
      
      Steps to reproduce:
      1. Install Manufacturing
      2. Go to Settings > Manufacturing > Operations and enable Work Orders
      3. Open an MO with Work Orders
      4. Unplan the MO
      5. Add a Scheduled End Date to one of the Work Orders
      6. Save
      7. An error is thrown
      
      Solution:
      Compute the new duration only if both `start_date` and `end_date` are
      set (and one of `date_planned_start` and `date_planned_finished` is
      passed in values)
      
      Problem:
      When only one of `date_planned_start` or `date_planned_finished` is
      written on an `mrp_workorder` (and the other is not set), the method
      `_calculate_duration_expected` is called but it fails because it passes
      a False value instead of a datetime which will raise the error `'bool'
      object has no attribute 'tzinfo'`
      
      opw-3004280
      
      closes odoo/odoo#101961
      
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      35a596db
    • Krzysztof Magusiak's avatar
      [FIX] tools.image: Update IMAGE_MAX_RESOLUTION · 2ec990c8
      Krzysztof Magusiak authored
      
      New phones go up to 48MP (Samsung Galaxy A22).
      Also the error message was saying 4.5 instead of 45.
      
      opw-3020614, opw-3020502
      
      closes odoo/odoo#103603
      
      Signed-off-by: default avatarXavier Morel (xmo) <xmo@odoo.com>
      2ec990c8
  8. Oct 23, 2022
  9. Oct 21, 2022
    • qsm-odoo's avatar
      [FIX] web_editor, website: restore control over image gallery height · 25285c82
      qsm-odoo authored
      
      This commit restores the possibility to control the height of the
      image gallery snippet. This was indeed possible in <= 11.0 for all
      snippets but it was removed in 12.0 as controlling the height via inner
      paddings seemed enough and better (as responsive). For the image gallery
      snippet however, this was a big regression as the height is forced to
      70% of the current screen height on drop and the images inside are
      displayed depending on that forced height. Trying to control via
      paddings was not leading to the wanted effect.
      
      This restores the possibility in 14.0 as 12.0 and 13.0 are now
      deprecated. This is following a customer issue where not having the
      ability to control the height is actually confusing as the user edits
      its website across different screens and the height is forced to 70%
      height of the screen used at the time of edition. With an height input
      in the panel, the confusion is gone.
      
      Note: this also introduces a `forceStyle` parameter for the
      `selectStyle` option to be able to force the inline style a widget
      controls. Indeed, without it, the system is "smart" and tries not to
      force inline style when it is not needed (if you try to force red on
      something that is naturally red (thanks to a CSS rule for example), it
      won't be forced). Here, this was leading to an issue when trying to set
      the height:
      
      - Current height is 700px
      - There is some code that forces a min-height on all carousel items so
        that they are the same height. As the gallery image dimensions depend
        on the block forced height (this is how the snippet work), the forced
        min-height are related to that forced height (something like 680px).
      - You focus the height input and type 800px
      - The same code forces new min-height on all carousel item (something
        like 780px).
      - You un-focus the height input, the system tries to re-set 800px (which
        is already set)... it ends up removing it as it thinks that setting
        that height is not needed as the snippet is now "naturally" 800px tall
        thanks to the carousel items' min-heights.
      
      opw-2838774
      
      closes odoo/odoo#103694
      
      Signed-off-by: default avatarRomain Derie (rde) <rde@odoo.com>
      25285c82
    • nda-odoo's avatar
      [FIX] purchase: remove unnecessary JOIN in purchase.report · e368f7fb
      nda-odoo authored
      This join is a leftover from https://github.com/odoo/odoo/pull/28248
      
      
      and is not needed anymore since currency_rate is now stored on purchase.order.
      Removing it allows to greatly speedup purchase.report queries.
      
      On a database with 7000 purchase order and 1100 res_currency_rate:
      
      From:
      Planning Time: 4.411 ms
      Execution Time: 19815.754 ms
      
      To:
      Planning Time: 16.914 ms
      Execution Time: 77.433 ms
      
      opw-2973044
      
      closes odoo/odoo#101002
      
      Signed-off-by: default avatarArnold Moyaux (arm) <arm@odoo.com>
      e368f7fb
    • roen-odoo's avatar
      [FIX] point_of_sale: fix traceback in pos_order studio · b616cad6
      roen-odoo authored
      
      Current behavior:
      If you try to edit the form view of pos.order in studio, you get a
      traceback.
      
      Steps to reproduce:
      - Install point_of_sale
      - Go to PoS order
      - Click on studio
      - Click on the button to edit the form view
      - You get a traceback
      
      opw-3008565
      
      closes odoo/odoo#103403
      
      Signed-off-by: default avatarTrinh Jacky (trj) <trj@odoo.com>
      b616cad6
    • Ivan Yelizariev's avatar
      [FIX] web_tour: add sudo for record creation · c96111bf
      Ivan Yelizariev authored
      
      Method `consume` is called at the end of a tour. Tour can be started via debug
      menu by any admin with "Access rights", however the method requires `Settings`
      access level.
      
      Fix it by adding `sudo()`. This issue could be reviewed in master.
      
      STEPS:
      
      * change Administration access level to "Access rights"
      * start tour `sale_quote_tour`
      * follow the tour steps
      
      opw-2965772
      
      closes odoo/odoo#99378
      
      Signed-off-by: default avatarIvan Elizaryev (iel) <iel@odoo.com>
      c96111bf
    • Laurent Smet's avatar
      [FIX] account: Fix 'reconcile' of statement line in foreign currency · 5b36e8e3
      Laurent Smet authored
      
      The liquidity line of a statement line is always expressed in journal currency.
      The counterpart lines (invoice lines most of the time) are expressed in the transaction currency.
      When reconciling the statement line with an invoice line, the current code sums the amounts in foreign currency to detect if there is a rounding issue or not.
      However, the considered amount for the liquidity line is not expressed in the right currency (journal currency instead of the transaction one).
      
      Note: The current test is working even without the fix in 14.0 but is failing on the next version because the code has changed.
      
      co-author: ushyme (sesn) <sesn@odoo.com>
      opw-2991183
      
      closes odoo/odoo#103676
      
      Signed-off-by: default avatarQuentin De Paoli <qdp@odoo.com>
      5b36e8e3
  10. Oct 20, 2022
    • qsm-odoo's avatar
      [FIX] web_editor: prevent crash when colorpickers receive split values · e24988fa
      qsm-odoo authored
      
      Steps to reproduce:
      - Edit
      - Add a snippet with columns
      - Save
      - HTML editor
      - Set up a border on one column of the snippet with different colors for
        the top/right/bottom/left sides
      - Edit
      - Click on the column => crash
      
      This is only an example, but if a colorpicker widget is linked to a
      SnippetOption instance's `selectStyle` method designed to handle the
      "border-color" property of an element, the value received can be split
      if the item uses different colors for its top/right/bottom/left borders.
      For instance, you could receive "red blue" if the item has red top and
      bottom borders and blue left and right borders. In that case, the
      colorpicker widget code would try to add the class "bg-red blue" on its
      preview item which would crash because of the space inside).
      
      After this commit, we simply do not show any color for this case.
      
      opw-2803311
      
      closes odoo/odoo#103654
      
      Signed-off-by: default avatarRomain Derie (rde) <rde@odoo.com>
      e24988fa
Loading