Skip to content
Snippets Groups Projects
  1. Nov 03, 2022
    • Yannick Tivisse's avatar
      [FIX] hr_holidays: Allow creating time off in the past · a92e0ad6
      Yannick Tivisse authored
      
      Purpose
      =======
      
      In the case a time off is created:
      - In the past
      - Using support documents
      
      An invalid user error is raised in the interface, because the webclient
      is sending values for the field 'supported_attachment_ids' (Example: [(6, 0, [])])
      which is writing by inverse relationship on the field 'attachment_ids'.
      
      On the other hand, it should be possible for an employee to add attachment
      on the time off after it has begun.
      
      closes odoo/odoo#104803
      
      Taskid: 3032232
      Signed-off-by: default avatarYannick Tivisse (yti) <yti@odoo.com>
      a92e0ad6
    • vishal padhiyar's avatar
      [FIX] web_editor: fix attributes missing from cleanForSave · 5e192a3c
      vishal padhiyar authored
      
      Before this commit:
      
      When we try to add html data in translated email templates then it does not
      remove those extra classes from the html code.
      
      After this commit:
      
      Now those extra classes will remove from the html code.
      
      Task-2985072
      
      closes odoo/odoo#103414
      
      Signed-off-by: default avatarDavid Monjoie (dmo) <dmo@odoo.com>
      5e192a3c
    • Stefan-Calin Crainiciuc (stcc)'s avatar
      [FIX] base: fix batch report outlines traceback · 94465e17
      Stefan-Calin Crainiciuc (stcc) authored
      Steps to reproduce:
      
      Accounting app > Customers > Invoices
      - Create invoice with customer and a couple of products
      - In the terms & conditions tab at the bottom, add 20-30 empty lines
      and then a heading (/h1-3) with some text. This insures that the printed
      report will have more than 1 page.
      - Go back to the Invoices list view
      - Select the invoice + another random one > Print > Invoices
      
      A traceback appears in _post_pdf: Assertion error
      `assert len(outlines_pages) == len(res_ids)`
      
      When printing a PDF file, `wkhtmltopdf` generates a number of `outlines`
      equal to the number of headings (`<h1-6>`) in the printed document.
      When printing multiple documents, the logic requires that each document
      should have all of its headings on one page.
      
      The traceback is raised because one document has headings on more
      than one page.
      
      The information about which `outlines` correspond to which document is
      lost during the pdf creation process, so there is no easy way to reason
      about the length of each document after the pdf is created.
      
      Solution:
      
      If there are more outlines then expected, then the matching fails and
      each part of the PDF will not be saved as attachment, similarly to https://github.com/odoo/odoo/pull/25496
      
      
      
      opw-2882507
      
      closes odoo/odoo#99141
      
      Signed-off-by: default avatarOlivier Dony <odo@odoo.com>
      94465e17
  2. Nov 02, 2022
  3. Oct 31, 2022
    • Florent de Labarre's avatar
      [FIX] point_of_sale : wrong api · 57544f3b
      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#104595
      
      X-original-commit: 2abeb8cc
      Signed-off-by: default avatarTrinh Jacky (trj) <trj@odoo.com>
      57544f3b
    • David (dafr)'s avatar
      [FIX] purchase: Add 'price_total' & 'price_tax' to the order lines tree · 37bebefd
      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#104504
      
      X-original-commit: e99cdd64
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      Signed-off-by: default avatarDavid <dafr@odoo.com>
      37bebefd
    • Guillaume (guva)'s avatar
      [FIX] account: add hook to get payment_mthod_code · 4acb6fb0
      Guillaume (guva) authored
      Related to https://github.com/odoo/enterprise/pull/32020
      
      
      Add a hook to return the account payment method code.
      
      opw-2985984
      
      closes odoo/odoo#101904
      
      Related: odoo/enterprise#32020
      Signed-off-by: default avatarNicolas Viseur (vin) <vin@odoo.com>
      4acb6fb0
  4. Oct 30, 2022
  5. Oct 29, 2022
    • Benoit Socias's avatar
      [FIX] website: break too long table of content generated entries · 1a178914
      Benoit Socias authored
      
      Before this commit if a Table of Content entry was a too long word
      without spaces, it span beyond the width of the menu part of the Table
      of Content block.
      Note that in Chrome, during Edit mode the words are already split
      across several lines because the `contenteditable="true"` of the
      `#wrap` node applies some built-in extra styles (not from user agent
      stylesheet) among which `overflow-wrap: break-word;`.
      
      After this commit long words are split across several lines.
      
      task-2965279
      
      closes odoo/odoo#104516
      
      X-original-commit: ef7174e1
      Signed-off-by: default avatarRomain Derie (rde) <rde@odoo.com>
      1a178914
  6. Oct 28, 2022
    • Dhaval Baraiya's avatar
      [FIX] web_editor: specify a custom color in the text input of the color picker. · f1f3fcef
      Dhaval Baraiya authored
      
      Before this commit:
      
      It's impossible to specify a custom color in the text input of the color picker
      for the selected text.
      
      After this commit:
      
      It's possible to specify a custom color in the text input of the color picker
      for the selected text.
      
      Task-2896109
      
      closes odoo/odoo#98548
      
      Signed-off-by: default avatarDavid Monjoie (dmo) <dmo@odoo.com>
      f1f3fcef
    • Solan Delvenne (sode)'s avatar
      [FIX] snailmail: Fix name not appearing on snailmail cover · 73399fe5
      Solan Delvenne (sode) authored
      
      closes odoo/odoo#104229
      
      X-original-commit: e058add2
      Signed-off-by: default avatarLouis Baudoux (lba) <lba@odoo.com>
      Signed-off-by: default avatarSolan Delvenne (sode) <sode@odoo.com>
      73399fe5
    • damr's avatar
      [FIX] project: fix task navigation in portal project · 09039297
      damr authored
      
      This commit purpose is to fix the navigation in the project portal. When
      a project is shared, the user can access all tasks of the project
      from the project portal page, but when he select one task, he can not navigate from one task to another with
      the previous and next button on the right of the header.
      
      the commit :
      
       * fix the previous and next button of the task page. When a task is
      reached by pressing one of these buttons, the navigation is not
      interrupted and the user can navigate through all the tasks of the
      project without having to go back to the project page
      
      task-3032785
      
      closes odoo/odoo#103736
      
      Signed-off-by: default avatarXavier Bol (xbo) <xbo@odoo.com>
      09039297
    • Romain Derie's avatar
      [FIX] website: correctly find the confirm dialog url input value · 76f8670c
      Romain Derie authored
      The clone page behavior in the page properties and the page manager was
      changed with [1].
      But it was actually not working anymore since [2]  as the input URL
      could not be found, so it was crashing (`this.$ does not exist`).
      
      This commit repair that clone page dialog but it is actually only fixing
      the consequence of the issue and not the root cause as it should.
      
      A deeper fix fixing the root cause will be done at [3].
      In the meantime, this commit will be enough to prevent the issue as we
      have more and more opw about that.
      
      [1]: https://github.com/odoo/odoo/commit/4e340cc5f0c1fe9de17a2b852de4faf65a33926a
      [2]: https://github.com/odoo/odoo/commit/4b8b079a7d9991a8dc481fe71a45185d672135c9
      [3]: https://github.com/odoo/odoo/pull/104220
      
      
      
      Courtesy of daramousk for this fix
      
      opw-3033878
      opw-3043224
      opw-3046485
      opw-3042542
      
      closes odoo/odoo#104403
      
      X-original-commit: 8216341f
      Signed-off-by: default avatarRomain Derie (rde) <rde@odoo.com>
      76f8670c
    • Guillaume (guva)'s avatar
      [FIX] account: latest statement on bank journal dashboard · d7309208
      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#104333
      
      X-original-commit: 76d0665a
      Related: odoo/enterprise#33342
      Signed-off-by: default avatarNicolas Viseur (vin) <vin@odoo.com>
      Signed-off-by: default avatarGuillaume Vanleynseele (guva) <guva@odoo.com>
      d7309208
    • Thomas Lefebvre (thle)'s avatar
      [FIX] website_slides: join & submit button when user already joined · 6d4a7ae5
      Thomas Lefebvre (thle) authored
      Reference PR: https://github.com/odoo/odoo/pull/99481
      
      
      
      Steps to reproduce:
         - create a course with two successive video with quizz;
         - try the course without clicking on the "join course" of the website;
         - on the first video quizz you can "join and submit".
      
      Issue:
      On the second video quizz you again have the "join and submit"
      button and if you try to click on it you have an error message:
      "You have already joined this channel".
      
      Solution:
      There is no "join and submit" button on the second video but
      rather a button "check you answers".
      The first time the join & submit button is clicked the user join
      the course in the backend thanks to the rpc call but the frontend
      and the other slides don't have this information. To solve the
      issue we add on every slides the information so that when they are
      changed to they don't act like if the user had not joined the course.
      
      opw-2971158
      
      closes odoo/odoo#104265
      
      Signed-off-by: default avatarWarnon Aurélien (awa) <awa@odoo.com>
      6d4a7ae5
    • Walid HANNICHE (waha)'s avatar
      [FIX] mrp_account: include time effeciency in bom price · a9708d6c
      Walid HANNICHE (waha) authored
      
      Steps to reproduce:
      - set time effeciency of a workcenter to less than 100
      - on a product page with a BoM using that workcenter
      - for the cost click on compute price from BoM
      
      Bug:
      workcenter effeciency is not taken into consideration
      
      Fix:
      included time_effeciency in computing the expected duration
      addepted tests to take it into consideration aswell
      
      opw-3033672
      
      closes odoo/odoo#104171
      
      X-original-commit: 419e4213
      Signed-off-by: default avatarAdrien Widart <awt@odoo.com>
      Signed-off-by: default avatarWalid Hanniche (waha) <waha@odoo.com>
      a9708d6c
    • Krzysztof Magusiak's avatar
      [FIX] tools.image: Update IMAGE_MAX_RESOLUTION · 7b0e3abe
      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
      
      Close #104424
      
      closes odoo/odoo#103883
      
      X-original-commit: 2ec990c8
      Signed-off-by: default avatarXavier Morel (xmo) <xmo@odoo.com>
      7b0e3abe
    • Hubert Van de Walle (huvw)'s avatar
      [FIX] web: rtl assets in ltr language in debug mode · 39967c6b
      Hubert Van de Walle (huvw) authored
      
      Steps to reproduce:
      
        - Switch to `?debug=assets`
        - Change the user language to Arabic and back to English
        -> The page is still displayed in rtl mode
      
      Cause of the issue:
      
        The css is retrieved like this
      
        ```py
        >>> self.env['ir.attachment'].sudo().search([('url', '=like', '/web/assets/%/web.assets_common.css')])
        ir.attachment(212, 189)
      
        >>> self.env['ir.attachment'].sudo().search([('url', '=like', '/web/assets/%/web.assets_common.css')]).mapped('url')
        ['/web/assets/212-5d47380/rtl/web.assets_common.css', '/web/assets/189-5d47380/web.assets_common.css']
        ```
        Only the second one should be matched.
      
      Solution:
      
        Check for the absence of an extra parameter in the url
      
      opw-2892012
      
      closes odoo/odoo#100882
      
      Signed-off-by: default avatarJulien Castiaux <juc@odoo.com>
      39967c6b
    • rhe-odoo's avatar
      [FIX] l10n_fr_pos_cert: Allow price modification · 66fddcf6
      rhe-odoo authored
      
      Currently, the module l10n_fr_pos_cert (France - VAT Anti-Fraud Certification):
      
      Prevent price modification
      Prevent from inserting negative lines while decreasing quantity
      Hash links between orders
      Print the hash onto the ticket
      
      This commit allows the price modification of the products.
      To be compliant with the law, we track any price modification on the ticket and on the product screen.
      
      closes odoo/odoo#104429
      
      Task-id: 2610576
      Signed-off-by: default avatarMasereel Pierre <pim@odoo.com>
      66fddcf6
    • Guillaume (gdi)'s avatar
      [FIX] website_blog: display all the blog posts when filtered · a525e6d5
      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#104254
      
      X-original-commit: 8198378d
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      a525e6d5
    • qsm-odoo's avatar
      [FIX] website_blog: fix link on the top banner of /blog · 18925a2b
      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: 82472731
      Part-of: odoo/odoo#104254
      Co-authored-by: default avatarGuillaume (gdi) <gdi@odoo.com>
      18925a2b
    • Andrea Grazioso (agr-odoo)'s avatar
      [FIX] website_sale: fiscal position application · b9a12f9c
      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#103943
      
      X-original-commit: 17aa4051
      Signed-off-by: default avatarWilliam Braeckman (wbr) <wbr@odoo.com>
      Signed-off-by: default avatarGrazioso Andrea (agr) <agr@odoo.com>
      b9a12f9c
    • Touati Djamel (otd)'s avatar
      [FIX] sale_stock, purchase_stock: use product name as `stock.move` name · 49fd40f9
      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#104377
      
      X-original-commit: bf3c398f
      Signed-off-by: default avatarTiffany Chang <tic@odoo.com>
      49fd40f9
    • Pedro Manuel Calheiros Lima de Sousa (peso)'s avatar
      [FIX] l10n_fi: "brutto" taxes not included in price · 6b2896b8
      
      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#104308
      
      X-original-commit: b67ea341
      Signed-off-by: default avatarNicolas Viseur (vin) <vin@odoo.com>
      6b2896b8
  7. Oct 27, 2022
    • Sébastien Geelen (sge)'s avatar
      [FIX] web_editor: fix mobile delete backward · 331b9435
      Sébastien Geelen (sge) authored
      
      Unify the mobile and desktop deletebackward route
      to be sure they share all behaviors.
      This ensure we don't have hidden error in the mobile flow
      which will not be visible during desktop testing.
      
      Before this the deleteBackward on mobile was, in some situation,
      triggering a rollback from the editor, which could break
      the link isolation. This behaviors was not present on desktop
      and so dificult to detect during normal testing.
      
      closes odoo/odoo#104189
      
      Signed-off-by: default avatarDavid Monjoie (dmo) <dmo@odoo.com>
      331b9435
    • Sébastien Geelen (sge)'s avatar
      [FIX] web_editor: fix isolated link · 05f5ec88
      Sébastien Geelen (sge) authored
      Sometimes the link isolation was broken when
      the editor rollbacked some browser behavior :
      the content editable was reset on the all editable.
      And thus the cursor was able to get out of the
      isolated link creating issues.
      
      task-2957000
      
      Part-of: odoo/odoo#104189
      05f5ec88
    • Sébastien Geelen (sge)'s avatar
      [FIX] web_editor: fix keyboard event in unit tests · 1d6a8b0d
      Sébastien Geelen (sge) authored
      We change the `deleteBackward` utils to be closer to the a real usage behaviors.
      
      We also avoid listening to mutation during test selection "[]" rendering.
      Those rendering would be registered by the editor and sometimes wrongly
      put the editor in rollback mode.
      
      Part-of: odoo/odoo#104189
      1d6a8b0d
    • Yolann Sabaux's avatar
      [FIX] l10n_es_edi_sii: handling error 1117 - NIF not registered · 415d095c
      Yolann Sabaux authored
      
      Steps to reproduce:
      There is no possibility to reproduce it in test mode
      But the flow would be:
      
      - create a company with a NIF not registered
      - Set up the EDI invoice
      - Create an invoice
      
      Issue:
      When the NIF is not registered, is is possible to use it. It will only create an error `approbado con errores` which is apparently fine
      
      Solution:
      Whenever the server sent us an '1117' error code, we call again the post_invoice with a new context so we are able to send the request with the right information; that is, the correct ID Type whenever a NIF is not registered.
      Indeed, whenever the error code is related to the NIF, is is possible to send again a request without having the invoice defined as "duplicated". It will only go through the process "AceptadoConErrores".
      
      opw-2952108
      
      closes odoo/odoo#103679
      
      Signed-off-by: default avatarJosse Colpaert <jco@odoo.com>
      415d095c
    • Touati Djamel (otd)'s avatar
      [FIX] stock: display the available qty in `stock.quant` form view · d956e719
      Touati Djamel (otd) authored
      
      Steps to reproduce the bug:
      - Create a storable product “P1”
      - update the quantity to 10
      - Go to inventory > configuration > warehouse Management > location
      - Select your location > current stock
      - Search the Product “P1”
      
      Problem:
      In `stock.quant’ list view > the available qty is displayed, but if you
      click on the line, the available qty is not displayed in the form view,
      only the qty counted is displayed
      
      opw-3018469
      
      closes odoo/odoo#103553
      
      Signed-off-by: default avatarSteve Van Essche <svs@odoo.com>
      d956e719
    • qsm-odoo's avatar
      [FIX] website, *: allow to re-edit company team snippet images · 61270ee8
      qsm-odoo authored
      *: website_sale
      
      Since [1], it was not possible to edit a company team snippet image
      anymore as soon as the page was saved once. Indeed that commit added
      o_not_editable/contenteditable="false" on the parent column to make sure
      no text can be added in that column and contenteditable="true" on the
      images so that they are still editable (even though HTML-specs-wise
      adding contenteditable="true" on images probably does not mean much as
      images are self-closing tags, our editor understand that as the ability
      to edit the image anyway). That contenteditable="true" part is however
      removed when leaving edit mode... and was not restored upon entering
      edit mode again.
      
      This fixes the problems with a specific JS patch, we'll review to see if
      better can be done in master.
      
      Funny enough, that bug was actually gone in 15.0... by mistake. A recent
      bug fix actually reintroduced that isolated bug at [2] (by reintroducing
      the fact that images in a non-editable environment are not possible to
      edit). The 3 opened tickets this commit mentions were actually reported
      for 15.0 immediately after that, while the 14.0 being broken about this
      since the beginning apparently did not bother anyone.
      
      Note: as a forward-ported fix, this also takes the opportunity to clean
      a bit what was done at [3]. (calling `_super`, no duplicated code,
      adding comments, ...).
      
      [1]: https://github.com/odoo/odoo/commit/656cac1bf21c7c5a56aa569008aac58436c747fb
      [2]: https://github.com/odoo/odoo/commit/e113bae04a64a8bd341a80736086ab7c25079dd3
      [3]: https://github.com/odoo/odoo/commit/e2f7b8fad76dc816b2f6864340d3740446117cdb
      
      
      
      opw-3031217
      opw-3032482
      opw-3035289
      
      closes odoo/odoo#104193
      
      X-original-commit: e7c8fed8
      Signed-off-by: default avatarRomain Derie (rde) <rde@odoo.com>
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      61270ee8
Loading