Skip to content
Snippets Groups Projects
  1. Nov 29, 2022
    • Stefan-Calin Crainiciuc (stcc)'s avatar
      [FIX] account: narration css overlap · da18d801
      Stefan-Calin Crainiciuc (stcc) authored
      
      Steps to reproduce:
      
      - Open an invoice
      - Enter a long link without spaces in the terms and conditions field
      - Save
      
      Issue:
      The word doesn't break and spans outside its bounding box, possibly
      overlapping with the subtotal footer on the right.
      
      Solution:
      Add class `text-break` to the narration field.
      
      opw-3050054
      
      closes odoo/odoo#106625
      
      X-original-commit: 1484765c
      Signed-off-by: default avatarGrazioso Andrea (agr) <agr@odoo.com>
      Signed-off-by: default avatarStefan-Calin Crainiciuc (stcc) <stcc@odoo.com>
      da18d801
    • Antoine Guenet's avatar
      [FIX] website: properly revert slider on break unbreakable · be1d93ed
      Antoine Guenet authored
      
      When breaking a page from a Carousel or other slider snippet (eg by
      hitting the backspace key at the beginning of a page), the editor's
      history gets reverted but ends up applying the `active` class to all
      pages. This is due is some way to the `_computeHeights` method of the
      slider snippet, which applied the class to all pages to observe their
      heights, then put them back in place. It seems in the labyrinth of ticks
      the history step somehow started from a place where every page was
      active, so we reverted back to that. The point where these classes were
      applied should have never been observed in the first place since it's
      purely technical. Not observing it fixes the bug.
      
      task-3081259
      
      closes odoo/odoo#106696
      
      Signed-off-by: default avatarDavid Monjoie (dmo) <dmo@odoo.com>
      be1d93ed
    • Jinjiu Liu's avatar
      [FIX] hr_expense: add extra case for unit_amount compute with attachment · 2250b3dc
      Jinjiu Liu authored
      Reproduction:
      1. Install Expense, make sure in the product list of test data, we have
      Expenses(without cost e.g. 0.00) and Daily Allowance(with cost e.g. 100)
      2. Create a new expense with the product Daily Allowance, and attach a
      file to the attachment, save expense
      3. Edit the created expense, change the product to Expenses and save
      4. The UI is not changed and can’t edit the total amount of the expense
      
      Reason: the recomputation of product_has_cost is based on the
      unit_amount. However, when there’s an attachment, the recomputation of
      unit_amount doesn’t consider the case when the product is changed to one
      without standard_price (unit_amount).
      
      Fix: add a condition to make sure when the product is changed from one
      with standard_price to one without standard_price, the unit_amount of
      expense is recomputed correctly
      
      opw-3051726
      
      Related commit: https://github.com/odoo-dev/odoo/commit/918a5f2cc022994ee08bead25dd79072bf3fba87
      
      
      
      closes odoo/odoo#106660
      
      Signed-off-by: default avatarKevin Baptiste <kba@odoo.com>
      2250b3dc
    • Florian Vranckx's avatar
      [REF] web, base: change alias of Markup · 3c215581
      Florian Vranckx authored
      
      Simple refactor in order to make changes to these line trigger the CI/Security
      
      closes odoo/odoo#106309
      
      Signed-off-by: default avatarMartin Trigaux (mat) <mat@odoo.com>
      3c215581
  2. Nov 28, 2022
    • qsm-odoo's avatar
      [FIX] website, *: properly flag website test tours as test tours · 688da98e
      qsm-odoo authored
      *: website_sale_wishlist
      
      Commit [1] and [2] introduced test tours but did not mark them as test
      tours properly, thus showing them to users (who are in debug=tests mode)
      by mistake.
      
      [1]: https://github.com/odoo/odoo/commit/7655bface7f9e9bae8579e14e9a87b4f4801cc33
      [2]: https://github.com/odoo/odoo/commit/a0c33c5f896718d1c03a6a50c981d6d75ce0d169
      
      
      
      closes odoo/odoo#106678
      
      X-original-commit: 11d023f0
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      688da98e
    • Jinjiu Liu's avatar
      [FIX] website_event: 404 when no track on register page · 68cc7471
      Jinjiu Liu authored
      
      Reproduction:
      1. Install eCommerce, Events, in the settings of Events, toggle
      “Tickets” and “Online Ticketing”
      2. Go to Website -> Go to Website -> Event, at the top bar, Customize ->
      Track Visitor, turn it off
      3. Click on the event “Open wood collection”, also turn off “Track
      Visitor”
      4. Click on the register button for this event, also turn off “Track
      Visitor”
      5. Copy the URL of the registration page, open it in an incognito tab.
      Don’t go through from the beginning of the main website
      6. Register a standard free ticket, enter the information, and click
      confirm
      7. The website throws a 404 not found error
      
      Reason: when we turn off “Track Visitor” on the event registration page.
      If we directly access the registration page, the created visitor’s
      access token is not written in the cookies. Thus, when we call
      _get_visitor_from_request after redirecting to
      event_registration_success, the visitor isn’t retrieved and it causes a
      404 not found error. A detailed case study is attached below.
      
      Fix: before the redirection of successful registration, we check if the
      logged visitor_uuid is the same as created visitor’s access token. If
      not, e.g. the visitor_uuid is not logged, we log it in cookies.
      
      opw-2828682
      
      closes odoo/odoo#101635
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      68cc7471
    • Arthur Detroux (ard)'s avatar
      [FIX] web_editor: prevent crash when filtering SVGs elements · 08303459
      Arthur Detroux (ard) authored
      When an SVG element changes and is filtered by the
      `filterMutationRecords` method, the method tries to split its
      className (Since [1]). This is not supported by the browser however,
      because the className property of an SVGElement is not a String.
      Rather, it is an SVGAnimatedString [2].
      
      This commit fixes that by using the getAttribute method instead.
      Ensuring that the attribute returned is always a String.
      
      [1]: https://github.com/odoo/odoo/commit/1c25ddb42393b136cac2a0ee0b9b7280fd803e7d
      [2]: https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimatedString
      
      
      
      opw-3077287
      opw-3074434
      
      closes odoo/odoo#106671
      
      Signed-off-by: default avatarDavid Monjoie (dmo) <dmo@odoo.com>
      08303459
    • Yash Pathak's avatar
      [CLA] update OERP members · ad9dca99
      Yash Pathak authored
      
      closes odoo/odoo#106646
      
      Related: odoo/enterprise#34433
      Signed-off-by: default avatarVictor Feyens (vfe) <vfe@odoo.com>
      ad9dca99
    • Jérôme Hellinckx's avatar
      [FIX] purchase_stock: avoid PO exception propagation to DONE receipts on less received quants · 30096e8a
      Jérôme Hellinckx authored
      
      Before this commit:
      1. Create PO with quantity 10, confirm (creates receipt-1)
      2. Receive 2 quantities on first receipt (receipt-1), backorder (receipt-1 is 'done', creates receipt-2)
      3. Receive 3 quantities on second receipt (receipt-2), backorder (receipt-2 is 'done', creates receipt-3)
      4. Change quantity to 5 in PO
      5. An exception is created on all receipts (1, 2 and 3)
      
      In the scenario above, receipt-1 and receipt-2 are partial receipts that are set to 'done'.
      It is not necessary to create an exception in these receipts when the quantity is changed to less than originally expected in the PO.
      Since the system checks that the new quantity has to be equal or greater than the received quantities, the already received quantities cannot be impacted.
      
      After this commit:
      The exception is only propagated to the receipts that are not done.
      e.g. in the example above, an exception appears only in receipt-3.
      
      task-2648209
      
      resolves #76297
      
      closes odoo/odoo#106597
      
      X-original-commit: d6fad232
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      30096e8a
    • Florent de Labarre's avatar
      [FIX] stock: impossible to search correctly location · 76367ef8
      Florent de Labarre authored
      
      Before this PR Odoo don't pre-search on location.
      
      closes odoo/odoo#106576
      
      X-original-commit: 71a3b5b2
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      76367ef8
    • roen-odoo's avatar
      [FIX] pos_restaurant: correctly save splitted order · 276b2a1f
      roen-odoo authored
      
      Current behavior:
      When splitting the order in a pos_restaurant session, the order was not
      correctly saved in the backend. It resulted in an order that still had
      all the product of the original order and another order with the
      correctly splitted products.
      
      Steps to reproduce:
      - Start a pos_restaurant session.
      - Go to table A and add 3 products to the table.
      - Go back to the floor screen
      - Go back to the table A
      - Split the order in 2
      - Click on payment, and go back to the product screen without paying
      - Click on the ticket button, and click on the order that was splitted,
        it still contains all the products from the original order.
      
      opw-3061569
      
      closes odoo/odoo#106553
      
      X-original-commit: a61c2b88
      Signed-off-by: default avatarTrinh Jacky (trj) <trj@odoo.com>
      276b2a1f
    • Maruan Aguerdouh (magm)'s avatar
      [FIX] resource: showing only company working hours for public holidays · 3bc20647
      Maruan Aguerdouh (magm) authored
      
      Stepts to reproduce:
      
      Go to Time-off app > configuration > Public Holidays.
      Try to create a new holiday and select working hours.
      
      Issue:
      
      It will show up all the working hours available for all companies even
      if we are not in that company at the moment.
      
      Solution:
      
      We need to take into account the company for this field in order to only
      show the working hours available for this specific company. I've added
      to the field the `domain="[('company_id', 'in', [company_id, False])]"`
      in order to follow the same behavior as next versions.
      
      This issue affects 15.0 and saas-15.2
      
      opw-3068827
      
      closes odoo/odoo#106415
      
      Signed-off-by: default avatarYannick Tivisse (yti) <yti@odoo.com>
      3bc20647
    • Thomas Beckers's avatar
      [FIX] account: reduce performance impact when checking CABA moves · d7801835
      Thomas Beckers authored
      
      Commit 7fbb337e introduced performance slowdown when reconciling a
      bank statement line with multiple invoices. This is due to the
      compute function being called a lot of times and each time need to
      trigger a search for CABA moves (even if the company do not use
      cash basis).
      
      This commit aims to not trigger the search if the company do not use
      cash basis and add some domain conditions on indexed fields to speed up
      the search when it's a cash basis company.
      
      opw-3013391
      
      closes odoo/odoo#106402
      
      X-original-commit: 9d6db3af
      Signed-off-by: default avatarJohn Laterre (jol) <jol@odoo.com>
      Co-authored-by: default avatarArnaud-Sibille <arsi@odoo.com>
      d7801835
    • Kevin Baptiste's avatar
      [FIX] hr_(holidays_)attendance: recompute overtime on leaves > 1 day · 116d7cb4
      Kevin Baptiste authored
      
      1/ When approving / refusing a leave spanning multiple days, the
         overtimes were only recomputed for the starting date and not the
         whole period.
      
      2/ Overtimes should be computed whatever the kind of time off that's
         been taken (Absence or Other).
      
      task-3073155
      
      closes odoo/odoo#106298
      
      Signed-off-by: default avatarKevin Baptiste <kba@odoo.com>
      116d7cb4
    • niyasraphy's avatar
      [FIX] hr_work_entry: remove gantt view from view_mode · f602236f
      niyasraphy authored
      
      closes odoo/odoo#105637
      
      Signed-off-by: default avatarYannick Tivisse (yti) <yti@odoo.com>
      f602236f
    • Malay Khamar's avatar
      [FIX] (*_)sale(_*): sale report inheritance. · 9c7bdb95
      Malay Khamar authored
      
      Provide a hook for clean specification of additional fields, without
      relying on risky default dict method parameters.
      
      Use the existing `_group_by_sale` to cleanly add additional
      "group by" information.
      
      Partial backport of 740a507d
      
      closes odoo/odoo#105246
      
      Signed-off-by: default avatarVictor Feyens (vfe) <vfe@odoo.com>
      Co-authored-by: default avatarVictor Feyens <vfe@odoo.com>
      9c7bdb95
    • Ninh Duc Hieu's avatar
      [FIX] sale: text overflow · 2e58bc2f
      Ninh Duc Hieu authored
      
      Currently in Sale/Orders/Sales Teams menu , The Sales Analysis dashboard
      have text overflow bug for large numbers in USD/EUR this bug might be
      rare but in currency like Yuan or VND its common
      
      closes odoo/odoo#104782
      
      Signed-off-by: default avatarVictor Feyens (vfe) <vfe@odoo.com>
      2e58bc2f
    • Arnold Moyaux's avatar
      [FIX] purchase_stock: wrong deadline · 784cefe8
      Arnold Moyaux authored
      
      Usecase to reproduce:
      - Product A with Vendor supplier lead time=1day
      - Product B with same Vendor supplier lead time=4days
      - Launch the replenishment report for both products at the same time
      
      Current Behavior:
      The expected arrival is correct but the order date deadline is today - 3
      days
      
      Wanted Behavior:
      Same but the order date dead line is today
      
      It happens because it does the minimum of expected arrivals - max of
      supplier delays. However the supplier delays are already correctly
      apply on each procurement (correct expected arrival). To know the
      correct order deadline we should instead take the minimum date planned
      with the related supplier delay.
      
      opw-2822588
      
      closes odoo/odoo#90586
      
      X-original-commit: 1d542b91
      Signed-off-by: default avatarArnold Moyaux (arm) <arm@odoo.com>
      784cefe8
  3. Nov 27, 2022
  4. Nov 25, 2022
    • Antoine Dupuis (andu)'s avatar
      [FIX] account: Deferred income wiz - don't reconcile draft entries · e6a2cda1
      Antoine Dupuis (andu) authored
      
      When creating draft deferred entries in a reconcilable account,
      we should not attempt to reconcile them, because only posted entries
      can be reconciled.
      
      closes odoo/odoo#106565
      
      X-original-commit: edaf019e
      Signed-off-by: default avatarWilliam André (wan) <wan@odoo.com>
      e6a2cda1
    • Guillaume (gdi)'s avatar
      [FIX] website: prevent carousel indicators errors · 5a80e5d9
      Guillaume (gdi) authored
      In this commit [1] (merged in 16.0) a bugfix has been made in the
      `removeSlide` function but this one should have been applied on all
      supported versions because the bug it fixes is present on all versions.
      The bug it fixes is the following:
      - Drop a carousel block on a page
      - Remove the *first* slide
      
      => There is no active indicator.
      
      Moreover, the bugfix made in 16.0 [1] introduces another error: when a
      slide is removed from the carousel the indicators are not in a correct
      state anymore.
      
      Following the same steps with the changes of [1]:
      - Drop a carousel block on a page
      - Remove a slide
      
      => Indicators are no longer consistent with the slides so tracebacks
      appear during the carousel slides. The list of indicators must have on
      each element a `data-slide-to` attribute which must reflect the
      position of the slide (starting with 0).
      
      So this commit is to backport the fix from 16.0 [1] to 14.0 and to fix
      the new bug that [1] introduces.
      
      [1]: https://github.com/odoo/odoo/commit/f7055d3dbabfbe471f490bd65c2032f5251f3f37
      
      
      
      task-3040931
      opw-3051615
      
      closes odoo/odoo#106611
      
      X-original-commit: 16405934
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      5a80e5d9
    • Guillaume (gdi)'s avatar
      [FIX] website: scroll to the next visible element · de727635
      Guillaume (gdi) authored
      
      Before this commit, the buttons to scroll to the next element might not
      work if the next element was invisible.
      Steps to reproduce the bug fixed by this commit:
      
      (Note that these steps are only reproducible from 15.0. We decided to
      merge this fix in 14.0 to be custo-friendly)
      
      - Install two languages on a website
      - Drop a cover block (1), with a height of 100% and a scroll down button
      - Drop a new block (2) only visible for language B below the block 1
      - Drop a new block (3) visible for everyone below the block 2
      - Save and go to the site in language A
      - Click on the scroll down button
      
      => No scroll at all while the user expects to scroll to the block
      visible to everyone (3). This commit fixes that by making the user
      scroll down to see the next visible element.
      
      opw-2967706
      
      closes odoo/odoo#106455
      
      X-original-commit: 076d7ac7
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      de727635
    • Nicolas Bayet's avatar
      [FIX] web_editor: check method addNeutralStyle · ce068a31
      Nicolas Bayet authored
      
      Because of css limitation, the child of a parent that define a
      text-decoration cannot "neutralize" that decoration defined by its
      parent with a css property (ie. the text-decoration cannot be
      overridden).
      
      When a block define an inline style or any tag that have a class, the
      method `formatSelection` tries to "neutralize" the style by calling
      `addNeutralStyle`. As it is impossible to "neutralize" the style for
      underline nor strikeThrough, there is no method `addNeutralStyle`
      defined for those properties.
      
      Before this commit the method `formatSelection` was crashing because
      `addNeutralStyle` was not defined.
      
      Task-3002123
      
      closes odoo/odoo#105953
      
      Signed-off-by: default avatarDavid Monjoie (dmo) <dmo@odoo.com>
      ce068a31
    • Jinane Maksoud's avatar
      [FIX] mrp: fix the filter order in _bom_find_domain · 2a73890d
      Jinane Maksoud authored
      
      Only active boms should be returned by the domain even if
      they match a product id.
      
      closes odoo/odoo#106449
      
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      2a73890d
    • Donatas's avatar
      [IMP] website_sale: adds search_product to shop values · 3772da47
      Donatas authored
      
      closes odoo/odoo#106447
      
      Signed-off-by: default avatarWilliam Braeckman (wbr) <wbr@odoo.com>
      3772da47
    • Walid HANNICHE (waha)'s avatar
      [FIX] web: adding toggle to view with studio · 1b09a631
      Walid HANNICHE (waha) authored
      
      Steps to reproduce:
      - edit RFQ model with studio
      - add a toggle widget to the product list
      - activate/deactivate the toggle multiple times on different products
      
      Bug:
      sometimes the element on the widget is undefined when trying to rerender
      
      Fix:
      check the element is defined before trying to render it
      
      opw-3013024
      
      closes odoo/odoo#103186
      
      Signed-off-by: default avatarAaron Bohy (aab) <aab@odoo.com>
      1b09a631
    • Mathieu Duckerts-Antoine's avatar
      [FIX] web: search model: one2many search default labels · 95ef4253
      Mathieu Duckerts-Antoine authored
      
      When a one2many is used as a search default, its label has to be fetch
      via a name_get in order to get a correct display of the facet
      corresponding to that field in the search bar. It turns out that the
      search model did not wait properly the return of the name_gets before to
      start to compute the facets.
      
      closes odoo/odoo#106522
      
      Signed-off-by: default avatarAaron Bohy (aab) <aab@odoo.com>
      95ef4253
    • Julien Van Roy's avatar
      [FIX] {l10n_}account_edi_ubl_cii{_tests}: handle price_include taxes · 9a5ba15c
      Julien Van Roy authored
      
      In Factur-X, there is no way to represent a tax "price_include" because
      every amounts should be tax excluded.
      
      Currently in Factur-X, a line with a tax price_include = True will be
      incorrectly exported. Indeed, the Factur-X.xml is generated by setting the
      GrossPriceProduct as the price_unit. In Factur-X, this amount (and the others
      in the line details) should be tax excluded. Thus, it's wrong to set the
      GrossPriceProduct as the price_unit.
      
      To fix this, the GrossPriceProduct should be the price_unit if no tax
      price_include = True is set, otherwise, the gross price = price_unit/(1+tax/100).
      
      This way, the Factur-X file will be consistent with the norm.
      
      Note that the import of a Factur-X xml will thus try to pick taxes with price_include = False,
      and the price_unit will be tax excluded. If no matching tax with price_include = False is
      retrieved, a tax with price_include = True is searched, if found, the price_unit is
      recomputed accordingly. In both cases, the lines subtotals are the same.
      
      opw-3032382
      
      closes odoo/odoo#106465
      
      X-original-commit: 649e0f2d
      Signed-off-by: default avatarWilliam André (wan) <wan@odoo.com>
      Signed-off-by: default avatarJulien Van Roy <juvr@odoo.com>
      9a5ba15c
    • Mathieu Duckerts-Antoine's avatar
      [FIX] web: fix the error that the name of the line is too long · d4b91b6c
      Mathieu Duckerts-Antoine authored
      
      - Currently the label of the lines is not limited to the number of characters. When the user gives a name that is too long, the graph will not be displayed.
      - This commit limits the number of labels, if exceeded it will display as ...
      
      closes odoo/odoo#106149
      
      X-original-commit: 11dc2cec
      Signed-off-by: default avatarMathieu Duckerts-Antoine <dam@odoo.com>
      d4b91b6c
    • Kevin Baptiste's avatar
      [FIX] hr_holidays: take full day leaves on Day view · 6bc2a933
      Kevin Baptiste authored
      
      The default hours of a time off created from the Day view would be the
      range of hours that was selected in the calendar view, thus resulting in
      leaves of half an hour.
      
      closes odoo/odoo#106513
      
      Signed-off-by: default avatarKevin Baptiste <kba@odoo.com>
      6bc2a933
    • Walid HANNICHE (waha)'s avatar
      [FIX] sale_coupon: move all discounts to the end of the sale_order · 2bb3bef3
      Walid HANNICHE (waha) authored
      update to this PR[1]
      
      BUG:
      some discounts are still displayed on the middle of the order
      
      FIX:
      move all discounts to the end
      
      [1]:https://github.com/odoo/odoo/pull/102700
      
      
      opw-2985632
      
      closes odoo/odoo#106508
      
      X-original-commit: af8cc475
      Signed-off-by: default avatarWilliam Braeckman (wbr) <wbr@odoo.com>
      2bb3bef3
    • Thomas Lefebvre (thle)'s avatar
      [REV] hr_holidays: check time off responsible to choose approvers · 9da57e31
      Thomas Lefebvre (thle) authored
      This reverts commit https://github.com/odoo/odoo/pull/106401/commits/bff333873c77e4879f6b991ed67ed9986f8dbf8e
      
      
      
      It was not a bug.
      Users are automatically added to the Time Off Responsible group when they are added as approvers on an employee
      If the user does not have the access rights it is because they have been manually removed.
      
      opw-3062225
      
      closes odoo/odoo#106505
      
      Signed-off-by: default avatarKevin Baptiste <kba@odoo.com>
      9da57e31
    • Valentin Vallaeys (vava)'s avatar
      [FIX] payment_sips: wrong numerical code for PLN currency · d9856868
      Valentin Vallaeys (vava) authored
      
      closes odoo/odoo#106466
      
      X-original-commit: 94dd698d
      Signed-off-by: default avatarAntoine Vandevenne (anv) <anv@odoo.com>
      Signed-off-by: default avatarVallaeys Valentin (vava) <vava@odoo.com>
      d9856868
    • Loan (lse)'s avatar
      [FIX] pos_adyen: JS error in loop if deleted Adyen payment line · 332ebba5
      Loan (lse) authored
      
      Before this commit:
       If we remove a payment line using an Adyen payment method,
       `pending_adyen_line()` return `undefined`.
       With the `_poll_for_response` still being executed,
       it will pop some JS traceback each call with:
       ```js
       TypeError: Cannot read properties of undefined (reading 'terminalServiceId')
       ```
      
      After this commit:
       No JS traceback loop
      
      OPW-3032391
      
      closes odoo/odoo#106431
      
      X-original-commit: 52a517ca
      Signed-off-by: default avatarQuentin Lejeune (qle) <qle@odoo.com>
      332ebba5
    • Aurélien (avd)'s avatar
      [FIX] res_currency: add order by to _select_companies_rates query · 84dee296
      Aurélien (avd) authored
      
      PG12 introduced an optimization for CTEs that automatically inlines
      CTEs if they are only refered once in the parent query. Prior to that
      CTEs were always materialzed, meaning that PG created a sort of temp
      table on the fly to store the result of the CTE's evaluation.
      
      Whereas this leads to performance improvements in general, in the
      particular case of _select_companies_rates this inlining becomes a
      performance bottleneck. This is because while the currency_rate CTE
      is only refered once in both purchase_report and product_margin,
      the join condition (cr.date_end is null or cr.date_end > ...)
      requires evaluating the CTE's date_end subquery twice. This, combined
      with the fact that in PG12 the planner goes for a Nested Loop JOIN instead
      of a HASH Join in PG10 makes the performances of the whole query
      much worse in PG12 than in PG10.
      
      Adding an ORDER BY (or an OFFSET 0, the resulting plan is the same)
      creates a kind of optimization fence that forces PG to evaluate the
      subquery first using its own plan. This removes the need to rescan the
      subquery each time the Merge JOIN filter has to be applied, which
      is a good strategy in this specific situation.
      
      The same result could be achieved by adding the keyword "MATERIALIZED"
      in the CTE definition. The issue is that this keyword did not exist
      in PG 10 so using it would require to check the PG version at runtime
      from python.
      
      Examples of query timings change before and after PR:
      
      Number of POs | Before PR | After PR
            2000    |     7s    |    345ms
            7000    |     23s   |    1.1s
      
      opw-2930578
      
      closes odoo/odoo#106086
      
      X-original-commit: 8b7a3941
      Signed-off-by: default avatarRaphael Collet <rco@odoo.com>
      84dee296
    • Walid HANNICHE (waha)'s avatar
      [FIX] stock_picking_batch: remove create button · 3bc3631d
      Walid HANNICHE (waha) authored
      
      Bug:
      - enable wave transfers
      - Kanban view should not have a create button
      
      Fix:
      removed the button
      
      opw-2978078
      
      closes odoo/odoo#99970
      
      Signed-off-by: default avatarAdrien Widart <awt@odoo.com>
      3bc3631d
    • William Henrotin's avatar
      [PERF] mrp,stock,purchase: sql improvement · e94937b6
      William Henrotin authored
      
      First correction: force a simple order to `read_group` in order to avoid
      useless joints on table product_template and ir_translation when the
      grouping key is a Many2One.
      
      Second correction: add an index on workorder's `state` field. The
      get_conflicted_workorder_ids() method search for ready workorders that
      are in conflict relate to their planning. The state value is searched to
      many times to not index it
      
      closes odoo/odoo#106436
      
      Task: 2852423
      Signed-off-by: default avatarArnold Moyaux (arm) <arm@odoo.com>
      e94937b6
    • Fernanda Hernández's avatar
      [FIX] pos_restaurant: validate number of guest put by user · 0ff14cc8
      Fernanda Hernández authored
      
      The user could make the mistake to put a large number in the `Guests`
      input in the POS order and this is not validated, even an number more large
      for the capacity of an integer, raising an uncontrolled error:
      
      `psycopg2.errors.NumericValueOutOfRange: integer out of range`
      
      this commit is adding a validation error in order to limit the number of `Guests`
      with the maximum number for an integer:  2**31 - 1
      
      closes odoo/odoo#105393
      
      Signed-off-by: default avatarTrinh Jacky (trj) <trj@odoo.com>
      0ff14cc8
  5. Nov 24, 2022
    • Thomas Lefebvre (thle)'s avatar
      [FIX] hr_holidays: check time off responsible to choose approvers · 0d50121f
      Thomas Lefebvre (thle) authored
      
      Steps to reproduce:
          - install the "hr_holidays" module;
          - remove the "Time Off Responsible" group of a user (activate developer mode);
          Remark: the user must not be an "Administrator" or a "Time Off Officer"
          - for an employee add this user as approvers for time off;
          - with a user which matches the employee, request time off;
          - if the user, whose rights have been removed, has "Handle in Odoo" in his preferences, he will receive a notification;
          - try to approve the demand of employee leave.
      
      Issue:
          The user does not have access rights but he has been chosen as approver.
      
      Cause:
          It is possible to select any user to approve leaves without checking if he has the access rights.
      
      Solution:
          Add a domain to be able to select only users who are in the "Time Off Responsible" group.
      
      opw-3062225
      
      closes odoo/odoo#106401
      
      Signed-off-by: default avatarKevin Baptiste <kba@odoo.com>
      0d50121f
Loading