Skip to content
Snippets Groups Projects
  1. May 25, 2021
    • Nicolas Lempereur's avatar
      [FIX] mail,test_mass_mailing: unblacklist with mass mailing · 8ffd8224
      Nicolas Lempereur authored
      
      The optimization 2ccf0bd0 does not take into account that to
      "unblacklist" a user, you have the archive the mail.blacklist record so
      only mail.blacklist active records need to be taken into account.
      
      Added test without the fix fails with:
      
          AssertionError: 2 != 1 : Blacklisted ignored email number incorrect,
          should be equals to 1
      
      opw-2536304
      
      closes odoo/odoo#71125
      
      Signed-off-by: default avatarNicolas Lempereur (nle) <nle@odoo.com>
      8ffd8224
    • Alvaro Fuentes's avatar
      [FIX] core: fix filtered_domain for hierarchical terms · e7a5ba95
      Alvaro Fuentes authored
      The method filtered_domain() is broken for domains with hierarchical
      terms ('child_of'/'parent_of').
      
      To see *one* of the ways the implementation is broken, let `A` be a
      model with `parent_id` pointing to `A`, and `a1` a record of model `A`
      without parent (`a1.parent_id` is `False`), then this fails:
      
          assert a1 in a1.filtered_domain([("parent_id", "child_of", a1.id)])
      
      The reason it fails is that on
      https://github.com/odoo/odoo/blob/f5519586d214a9b34ad24683a7f97c47802a3bad/odoo/models.py#L5377-L5380
      `data` is empty since `a1` has no parent, thus
      https://github.com/odoo/odoo/blob/f5519586d214a9b34ad24683a7f97c47802a3bad/odoo/models.py#L5403-L5404
      
      
      fails, therefore the result of `filtered_domain` is empty.
      
      Note: the implementation of the hierarchical operators is full of quirks
      that are hard to emulate otherwise than by reusing the original code.
      As a consequence, the current implementation may be broken in more than
      one way.
      
      Let's see another way the implementation is broken: let `B` be a model
      without a `parent_id` field and with a `friend_id` field pointing
      to `B`, and let `b1` be a record of model `B`.  Then
      
          b1.filtered_domain([("friend_id", "child_of", b1.id)])
      
      throws an exception of the form shown below:
      
          ValueError: Invalid field 'parent_id' in leaf "<osv.ExtendedLeaf: ('parent_id', 'child_of', 1) ...
      
      Meanwhile the following code is still valid and returs b1:
      
          B.search([("friend_id", "child_of", b1.id)])
      
      closes odoo/odoo#71214
      
      Signed-off-by: default avatarRaphael Collet (rco) <rco@openerp.com>
      e7a5ba95
  2. May 23, 2021
  3. Feb 15, 2021
    • Jigar Vaghela's avatar
      [FIX] l10n_in: decrease a value of B2CS and HSN in case of refund · 93d64e2e
      Jigar Vaghela authored
      
      Before this commit:
      
        B2CS is not decreased in case of refund but it's shown in CDNUR but CDNUR has a condition that only shows a refund of B2CL.
        HSN value is not decreased in case of refund
      
      After this commit:
      
        Refund is decreased from B2CS and not show that in CDNUR
        HSN value is decreased in case of refund
      
      B2CS = Business to Consumers Small
      B2CL = Business to Consumers Large (invoice value is more than Rs.2.5 lakhs)
      CDNUR = Credit/Debit Notes for Unregistered
      HSN = Harmonized System of Nomenclature(hsn code per product)
      
      closes odoo/odoo#65578
      
      Opw: 2446769
      Related: odoo/enterprise#16154
      Signed-off-by: default avatarJosse Colpaert <jco@openerp.com>
      93d64e2e
  4. May 21, 2021
    • Guewen Baconnier's avatar
      [FIX] stock: fix check of package all in move lines · 3317249d
      Guewen Baconnier authored
      
      The `groupby` function is used to builds groups of(product, lot) keys
      and their corresponding move lines / quants. `groupby` groups
      *consecutive* keys, which is why the input is sorted by the keys.
      
      `sorted` on recordsets keys will not sort as we would expect in this
      particular situation, as the comparison operators on records act as
      Set Comparison operators on the record ids, i.e. to compare the sets
      superset/subset relationships:
      
      ```
      >>> env["product.product"].browse(1) < env["product.product"].browse(2)
      False
      >>> env["product.product"].browse(1) < env["product.product"].browse([1, 2])
      True
      ```
      
      Example of sorted on stock.move.line records, where the product id 7313
      is both in the slots 4 and 12 instead of being consecutive:
      
      ```
      >>> [l.product_id.id for l in sorted(lines, key=itemgetter('product_id'))]
      [7436, 7437, 7352, 7423, 7313, 7351, 7423, 7424, 7320, 7398, 7312, 7352, 7313, 7436, 7437, 7442, 7443, 7320, 7423, 7424, 7318, 7396, 7368, 7355, 7316]
      ```
      
      Now when we group by id the 2 ids 7313 are correctly placed together in
      slots 1 and 2:
      
      ```
      >>> [l.product_id.id for l in sorted(lines, key=attrgetter('product_id.id'))]
      [7312, 7313, 7313, 7316, 7318, 7320, 7320, 7351, 7352, 7352, 7355, 7368, 7396, 7398, 7423, 7423, 7423, 7424, 7424, 7436, 7436, 7437, 7437, 7442, 7443]
      ```
      
      This commit aims to sort by "id" of the related records, to ensure the
      same (product, lot) couples are consecutive.
      
      closes odoo/odoo#63541
      
      Signed-off-by: default avatarArnold Moyaux <amoyaux@users.noreply.github.com>
      3317249d
  5. May 20, 2021
  6. Apr 12, 2021
    • Tiffany Chang (tic)'s avatar
      [FIX] mrp: require consumption qty for MOs · 8e169e4c
      Tiffany Chang (tic) authored
      
      Previous to this commit, there is a check to prevent MOs from having
      no components, but there is no check to make sure any of the components
      were actually consumed. This lead to a situation where you can have a
      completed MO that has a state of "Cancelled" due to all quantity_done=0
      moves being cancelled by stock_move.action_done() even though the MO is
      "Done".
      
      Steps to reproduce:
      1. Create a MO for a product with a BOM with no components
      2. Add a component with 0 to Consume
      3. Complete (Validate/Mark as Done) the MO
      
      Expected result: cannot validate the MO
      
      Actual Result: MO is completed but state = Cancelled
      
      Also fixes an out-of-date test that incorrectly fails due to its
      component usage not being properly updated.
      
      Task: 2463893
      ENT PR (fixes test only): odoo/enterprise#16601
      
      closes odoo/odoo#66663
      
      Signed-off-by: default avatarArnold Moyaux <amoyaux@users.noreply.github.com>
      8e169e4c
  7. May 20, 2021
    • nie's avatar
      [FIX] event_sale: ticket price with pricelist · e92282f7
      nie authored
      Steps:
      - Install Events
      - Go to Events / Configuration / Settings
      - Enable Tickets
      - Go to Sales / Configuration / Settings
      - Enable Multiple Sales Prices per Product
      - Go to Sales / Products
      - Edit Event Registration
        - Sales tab
          - Pricing
            - Pricelist: Public Pricelist (USD)
            - Price: $6
      - Go to Sales
      - Create a new quotation
        - Pricelist: Public Pricelist (USD)
        - Product: Event Registration
        - Event: Design Fair
        - Ticket: VIP
      
      Bug:
      The pricelist is not taken into account. Unit price should be $900 but
      is $1500.
      
      Explanation:
      The original issue comes from this commit: https://github.com/odoo/odoo/commit/379f1490c93dc599a74add2d678c18fbba1efa62
      The advertised amount was not the one showing up in the cart. This is
      because the pricelist was not taken into account anymore when entering
      the payment process.
      
      Using `price_reduce` instead of `price` enables all kinds of discounts
      on the final price.
      However, `price_reduce` relies on the context to find the current
      pricelist.
      This commit adds the context needed to compute the price of the tickets.
      This context is the same as the one in the sales module since pricelists
      are working fine there: https://github.com/odoo/odoo/blob/b208570ce8399bc6d3e4a8ba02eef6558e0a6ccc/addons/sale/models/sale.py#L1494
      
      
      
      The currency conversion is done in `product.price`. It's therefore
      already done when calling `price_reduce`.
      
      opw:2519453
      
      closes odoo/odoo#70928
      
      X-original-commit: fbec1a607179c8a0a1c1d72aa5b14dd060f8a25b
      Signed-off-by: default avatarbackspac <backspac@users.noreply.github.com>
      e92282f7
  8. May 12, 2021
  9. May 19, 2021
    • JordiMForgeFlow's avatar
      [FIX] mrp: fix recursion error when updating quants for kit variant · bdeea73d
      JordiMForgeFlow authored
      
      When updating the quantities available for a product, an inventory move
      is generated without setting the product_tmpl_id, as this field is related
      to the product_id of the move. However, when creating the move, Odoo will
      consider it a default missing value and will try to fill it in the method
      default_get.
      
      When navigating to the product variants of a template from the template form,
      a default_product_tmpl_id is set in the context pointing to the template. This
      context is propagated to the update quantity action to create/update quants for
      the variant.
      
      The problem when dealing with kits is that the products available to update
      their quantities are the components of the kit. When navigating to a variant
      and updating the quantities of a component of the kit variant, the default product
      template in the context will be the kit template.
      
      This is causing that, when generating the inventory move, the move is created with
      product_id of the component, and product_tmpl_id of the kit template.
      
      This issue creates a critical data inconsistency as the component's template is set
      to the kit's template, which apart from making no sense generates a recursion error.
      
      To fix this, when triggering the action to create/update quants for a kit product, it
      must be ensured that no default product template is being set.
      
      closes odoo/odoo#71037
      
      Signed-off-by: default avatarRémy Voet <ryv-odoo@users.noreply.github.com>
      bdeea73d
    • Andrea Grazioso (agr-odoo)'s avatar
      [FIX] sale_product_matrix: avoid traceback when using Order Grid Entry · da954108
      Andrea Grazioso (agr-odoo) authored
      
      - Enable 'product configurator' and 'variant grid entry'
      - Go to product [DEMO]:
        - Add an optional product.
        - Go to the variants tab and add some variants
      - Select 'order grid entry'
      - Remove all the variants
      - Create a SO adding [DEMO]
      
      Traceback will occur
      
      opw-2439764
      
      closes odoo/odoo#71024
      
      Signed-off-by: default avataragr-odoo <agr-odoo@users.noreply.github.com>
      da954108
  10. May 12, 2021
  11. May 14, 2021
  12. May 18, 2021
    • Alvaro Fuentes's avatar
      [FIX] base/ir_model: fix materialized views columns listing · 80abbcda
      Alvaro Fuentes authored
      
      When there is a materialized view that has not been populated any select
      on it will fail.
      
      Example of traceback:
      ```
      Traceback (most recent call last):
        File "/home/odoo/src/odoo/12.0/odoo/service/server.py", line 1162, in preload_registries
          registry = Registry.new(dbname, update_module=update_module)
        File "/home/odoo/src/odoo/12.0/odoo/modules/registry.py", line 86, in new
          odoo.modules.load_modules(registry._db, force_demo, status, update_module)
        File "/home/odoo/src/odoo/12.0/odoo/modules/loading.py", line 367, in load_modules
          registry.setup_models(cr)
        File "/home/odoo/src/odoo/12.0/odoo/modules/registry.py", line 262, in setup_models
          env['ir.model']._add_manual_models()
        File "/home/odoo/src/odoo/12.0/odoo/addons/base/models/ir_model.py", line 321, in _add_manual_models
          cr.execute('SELECT * FROM %s LIMIT 0' % Model._table)
        File "/home/odoo/src/odoo/12.0/odoo/sql_db.py", line 148, in wrapper
          return f(self, *args, **kwargs)
        File "/home/odoo/src/odoo/12.0/odoo/sql_db.py", line 225, in execute
          res = self._obj.execute(query, params)
      psycopg2.errors.ObjectNotInPrerequisiteState: materialized view "x_bi_sql_view_report_copy" has not been populated
      HINT:  Use the REFRESH MATERIALIZED VIEW command.
      ```
      
      Several upgrade requests have or had had this error which has been
      solved with specific scripts.
      
      Related to #40930
      
      closes odoo/odoo#70998
      
      X-original-commit: b208570c
      Signed-off-by: default avatarRaphael Collet (rco) <rco@openerp.com>
      80abbcda
    • nie's avatar
      [FIX] website_form: make Send button editable · 72bf829c
      nie authored
      
      Steps:
      - Go to Website
      - Click "Go to Website"
      - Create a new page
      - Add a Form Builder block
      - Try to edit the Send button
      
      Bug:
      The Send button is not editable
      
      Explanation:
      This commit adds the `contenteditable` attribute to the button when in
      edit mode.
      
      opw:2481364
      
      closes odoo/odoo#70982
      
      Signed-off-by: default avatarbackspac <backspac@users.noreply.github.com>
      72bf829c
  13. May 12, 2021
  14. May 17, 2021
    • Adrien Widart's avatar
      [FIX] mrp: use MO's UoM on unbuild order creation · b80321ac
      Adrien Widart authored
      
      On unbuild order creation, when the user selects a manufacturing order,
      the UoM of the quantity will be defined with the product's UoM instead
      of MO's UoM.
      
      To reproduce the error:
      (Use demo data)
      1. In Settings > General Settings, enable "Units of Measure"
      2. Create two products P_finished and P_compo
          - Both are storable
          - Qty on Hand of P_compo = 12
      3. Create a Bill of Material
          - Product: P_finished
          - Component: 1 x P_compo
      4. Create a Manufacturing Order MO
          - Product: P_finished
          - Quantity To Produce: 1 Dozen(s)
      5. Check Availability, Produce, Mark as Done
      6. Create an Unbuild Order:
          - Manufacturing Order: MO
      
      Error: The unit of measure of the quantity is incorrect, this is
      Unit(s), it should be Dozen(s)
      
      The method `onchange_mo_id` defines the product, therefore the method
      `onchange_product_id` is also called and here is the issue:
      `onchange_product_id` will override the UoM using the product's UoM.
      
      OPW-2467017
      
      closes odoo/odoo#70860
      
      X-original-commit: 39579d71
      Signed-off-by: default avatarWilliam Henrotin <Whenrow@users.noreply.github.com>
      Signed-off-by: default avatarAdrien Widart <adwid@users.noreply.github.com>
      b80321ac
    • Xavier BOL (xbo)'s avatar
      [FIX] pad_project: copy the content in the pad when use_pad=False · 32a8f598
      Xavier BOL (xbo) authored
      
      Before this commit, when the user edits the description of a task with
      use_pad=True and then change the project of this task to one with
      use_pads=False. The description written in the pad server is not copied
      in the description field of the task.
      
      This commit copies the content of the pad for this case when the use_pad
      changes to become False and description_pad is set.
      
      Step to reproduce:
      -----------------
      
      1. Go to Settings of the Project App and enable the Collaborative Pads
      2. Go to the Project App, in the Projects dashboard (kanban view of projects)
      3. Create two Projects (one called "Project A" and the other called "Project B")
      4. Edit the Project B to activate the pad, that is, check the Use
      collaborative pads checkbox.
      5. Go to the view list of tasks in the "Project B"
      6. Click on "Create" button to create a task in the task form view.
      7. Write a description for this task.
      8. Change the project of this task by the "Project A". With this change,
      the collaborative pad is disabled for this task since the Project A has
      not the pad, and then the description field is empty rather than have
      the content that we have just written.
      
      task-2515150
      
      closes #70401
      
      Signed-off-by: default avatarLTU-Odoo <IT-Ideas@users.noreply.github.com>
      32a8f598
    • Xavier BOL (xbo)'s avatar
      [FIX] pad: copy the pad_content_field content in pad when genrate pad url · d2b55c77
      Xavier BOL (xbo) authored
      Before this commit, in Project App, when the "Collaborative Pads" is
      enabled in the Settings of this app, if the user create a task without
      project or in a project that has not the pad enabled and he writes a
      description for his new task and select (another) project in which the
      pads is enabled then the description field in the form view changed to
      have the collaborative pad and the problem is the description is not
      copied in the pad and seems erase/delete for the user.
      
      This commit checks if the pad_content_field is not empty after
      generating the pad url for the new task/record, if it is the case then
      we copy the content in the pad and the user can continue his edition
      before saving the task/record.
      
      Step to reproduce:
      -----------------
      
      1. Go to Settings of the Project App and enable the Collaborative Pads
      2. Go to the Project App, in the Projects dashboard (kanban view of projects)
      3. Create two Projects (one called "Project A" and the other called "Project B")
      4. Edit the Project B to activate the pad, that is, check the Use
      collaborative pads checkbox.
      5. Go to the view list of tasks in the "Project A"
      6. Click on "Create" button to create a task in the task form view.
      7. Write a description for this task.
      8. Change the project of this task by the Project B. With this change,
      the collaborative pad is actived for this task since the Project B has
      the pad, and then the description in the pad is empty rather than have
      the content that we have just written.
      
      task-2515150
      
      closes #70401
      d2b55c77
    • Laurent Smet's avatar
      [REVERT] sale: Fix fiscal pos. mapping taxes to price included · c9330e4a
      Laurent Smet authored
      This reverts commit d89562e8fe473692296cb209651beb2ce7a715e4.
      
      Since this commit, the taxes mapped by fiscal position wasn't managed by the _fix_tax_included_price_company method anymore.
      Otherwise, some customizations exist on this method that are no longer called.
      The 2527940 issue is also due to a remaining bug: the total_excluded price should be divided by the quantity but:
      - what if the quantity & price_unit are both signed?
      - what if the number of digits for price_unit and the currency are different? Should we skip the rounding of taxes?
      Since this commit is not perfect and has a lot of dependencies in others modules, we decided to revert it.
      
      Original PR: https://github.com/odoo/odoo/pull/68997
      Revert PR: https://github.com/odoo/odoo/pull/70858
      
      
      
      closes odoo/odoo#70858
      
      Issue: 2527940
      Signed-off-by: default avatarVictor Feyens (vfe) <vfe@odoo.com>
      c9330e4a
  15. May 12, 2021
    • Nasreddin Boulif (bon)'s avatar
      [FIX] base_address_extended: split 'correctly' street name · cc3879e8
      Nasreddin Boulif (bon) authored
      
      Issue
      
      	- Install "Contacts" & 'base_address_extended' modules
      	- Go to contacts and create a contact with value:
      	  - street name : Chaussee de Namur
      	  - House : 40
      	- Save and edit again
      	- Set country to 'Netherlands' then save.
      
      	Address not splited well (wrong values for street name and house).
      	The issue is not present in UI but is in tests.
      	(Issue in UI from odoo 14.0+)
      
      Cause
      
      	There is 2 '_split_street_with_params'
      	(inverse function that set street fields):
      	- partner_autocomplete_address_extended (removed in 14.0)
      	- base_address_extended
      
      	The 'spliting' logic is not the same in both function.
      
      	In UI, looks like it does not call '_split_street_with_params'
      	from 'base_address_extended' since no super(Partner, self)...
      
      	However in testing, it does call it from module
      	'base_address_extended' and therefore trigger the issue.
      
      Solution
      
      	Adapt _split_street_with_params function
      	(in 'base_address_extended' module):
      	If previous field (from 'street_format') to parse
      	in 'street_raw' is 'street_name', then:
      	- set `tmp` to: splitted (max 1 split) street_raw
      	  with current field seperator
      	- set `append_previous, sep, tmp[0]` to:
      	  splitted tmp[0] (first part of splited street_raw) with `rpartition(' ')`
      	- add 'append_previous' to 'street_name' value
      	- join 'tmp' values and set it to street
      	  (should equal to what left from `rpartition(' ')` split
      	  + seconf part of first normal split)
      	- continue normal parsing flow
      
      opw-2476096
      
      closes odoo/odoo#70775
      
      X-original-commit: d094d264
      Signed-off-by: default avatarbon-odoo <nboulif@users.noreply.github.com>
      cc3879e8
  16. May 17, 2021
    • JordiMForgeFlow's avatar
      [FIX] stock_account: force company when getting computed account for move line · 56421dbc
      JordiMForgeFlow authored
      
      The parent method _get_computed_account in the account module it already forces
      the company to get the correct account, but in the stock_account module the method
      is overriden when dealing with anglo-saxon accounting. In the latter, the company
      is not being forced, so it leads to multi-company errors.
      
      The fix simply enforces the correct company to prevent the error.
      
      closes odoo/odoo#70848
      
      Signed-off-by: default avatarLaurent Smet <smetl@users.noreply.github.com>
      56421dbc
    • std-odoo's avatar
      [IMP] mail: allow to force the FROM headers of the outgoing mail server · 044532ae
      std-odoo authored
      
      Purpose
      =======
      We want to be able to force the FROM headers when we sent email in
      SMTP. So we can avoid the emails to be considered as spam.
      
      Specifications
      ==============
      This is done with 2 system parameters.
      
      If the system parameter `mail.force.smtp.from` is set we encapsulate all
      outgoing email from with the given value.
      
      If the previous system parameter is not set and if both
      `mail.dynamic.smtp.from` and `mail.catchall.domain` are set, we
      encapsulate the FROM only if the domain of the email is not the same as
      the domain of the catchall parameter.
      
      Otherwise we do not encapsulate the email (same behavior as before this
      commit).
      
      Task 2367946
      See odoo/odoo/pull/61853
      
      closes odoo/odoo#70835
      
      X-original-commit: 422d73ecf73a3478a9979101ef22920759fcd12a
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      044532ae
  17. May 12, 2021
    • Adrien Widart's avatar
      [FIX] web: remove bottom border of first table raw · b5a571ee
      Adrien Widart authored
      
      When using the boxed layout, if the business document has a table, its
      first row (after the table head) will have a bottom border and the last
      cell in the row has a white background.
      
      To reproduce the error:
      (Need timesheet_grid. Use demo data)
      1. In Settings > General Settings, Change Document Template:
          - Select the second template
      2. In Timesheets, select list view
      3. Select several lines
      4. Print > Timesheet Entries
      
      Error: In PDF, the first timesheet line has a bottom line and its last
      cell has a white background (instead of grey).
      
      The bottom line should only be applied on row in table header. The
      background color should also be applied on first row in table body.
      
      OPW-2478311
      
      closes odoo/odoo#70742
      
      X-original-commit: 88a10bdd
      Signed-off-by: default avatarAdrien Widart <adwid@users.noreply.github.com>
      b5a571ee
    • Aurélien (avd)'s avatar
      [FIX] mrp: improve perf of explode · 0a39cd7d
      Aurélien (avd) authored
      
      Batch the bom_search of bom_lines in mrp_bom.explode.
      If we represent the bom hierarchy as a graph, essentially
      switch from a depth-first to a breadth-first search, allowing
      to batch search boms for each depth level, hence improving
      the overall performance.
      
      closes odoo/odoo#68637
      
      Signed-off-by: default avatarWilliam Henrotin <Whenrow@users.noreply.github.com>
      0a39cd7d
  18. May 11, 2021
    • Ivan Yelizariev's avatar
      [FIX] purchase: speed up search for purchase_vendor_bill_id · 39e0f1fb
      Ivan Yelizariev authored
      
      When partner is not selected, Odoo sends name_search request
      `[..., ('partner_id', 'child_of', [False])]`. It's not obvious what does such
      domain mean ( see #70584 ). This commit clarifies what do we expect to get:
      we want all records without restrictions on `partner_id` value.
      
      This also fixes performance issue because domain leaf `('partner_id',
      'child_of', [False])` is converted to where-clause `<table>.partner_id in <all
      or almost all ids>`
      
      ---
      
      opw-2524010
      
      closes odoo/odoo#70638
      
      Signed-off-by: default avatarRémy Voet <ryv-odoo@users.noreply.github.com>
      39e0f1fb
  19. May 16, 2021
  20. May 14, 2021
  21. May 12, 2021
    • oco-odoo's avatar
      [FIX] l10n_lu: fix tax report lines' codes for XML export 2.0 · 90e21592
      oco-odoo authored
      
      When exporting the tax report's monthly xml with enterprise, the file wasn't accepted by the government in case 0% taxes were used.
      
      Grid 033 is optional, and can be used for custom tax rates. If specified, it MUST always go with grid 403 (giving the tax rate) and 042 (giving the tax amount). In Odoo, we made the choice to use it for 0% taxes, so 403 and 42 will always be present, and always 0.
      
      In community, grids number were missing on the lines' labels, and the codes (used to retrieve the value of each grid when generating the XML) were not correct.
      
      closes odoo/odoo#70744
      
      Related: odoo/enterprise#18287
      Signed-off-by: default avatarLaurent Smet <smetl@users.noreply.github.com>
      90e21592
  22. May 10, 2021
  23. May 12, 2021
    • Victor Feyens's avatar
      [FIX] *: update documentation links · 85c24961
      Victor Feyens authored
      Following the recent reorganisation of the documentation in 12.0+, the
      majority
      of the documents have been moved and their old links are no longer
      valid.
      Some redirection rules will soon be deployed, but those rules might be
      dropped in some
      years and we want the links to still work, which is why we still replace
      the links to the new ones.
      
      FW-Port of odoo/odoo#70675 (13.0)
      
      closes odoo/odoo#70726
      
      Related: odoo/enterprise#18281
      Signed-off-by: default avatarVictor Feyens (vfe) <vfe@odoo.com>
      85c24961
    • Romain Derie's avatar
      [FIX] product: correctly consider context key for display_name · b5b4d38a
      Romain Derie authored
      
      Regarding of the `display_default_code` context value, `display_name` is
      supposed to return the product code or not, eg:
      > product.display_name
      > '[FURN_6666] Acoustic Bloc Screens'
      > product.with_context(display_default_code=False).display_name
      > 'Acoustic Bloc Screens'
      
      But since the context was not considered when accessing this field, it would
      always return the cached value, which was set from the first time that field
      was read, with the `display_default_code` value used at that time.
      
      tl;dr: `display_name` was ignoring the context once cached.
      
      One of the critical issue was that internal code were displayed on the eshop
      cart (not the eshop itself), see `name_short`.
      
      task-2517830
      
      closes odoo/odoo#70671
      
      Signed-off-by: default avatarRaphael Collet (rco) <rco@openerp.com>
      b5b4d38a
  24. May 11, 2021
  25. May 06, 2021
  26. Apr 19, 2021
    • Nicolas Lempereur's avatar
      [FIX] sale: no show single novariant attribute in configurator · 9bd32f2a
      Nicolas Lempereur authored
      
      A product with single novariant attribute is normally not shown.
      
      But in the configurator modal it was shown and then added in the product
      description when doing exactly the same scenario (add the product) than
      without the configurator.
      
      With this changeset, we add is_single attribute and only add a no_create
      variant if it is not a single value or a custom value.
      
      opw-2494331
      
      closes odoo/odoo#69411
      
      Signed-off-by: default avatarNicolas Lempereur (nle) <nle@odoo.com>
      9bd32f2a
  27. May 10, 2021
  28. May 11, 2021
  29. Apr 16, 2021
    • Aurélien Warnon's avatar
      [FIX] website_slides: close fullscreen mode when opening web editor · dcb6a3ce
      Aurélien Warnon authored
      
      The web editor does not work well with the e-learning fullscreen view.
      It actually completely closes the fullscreen view and opens the edition on a
      blank page.
      
      To avoid this, we intercept the click on the 'edit' button and redirect to the
      non-fullscreen view of this slide with the editor enabled, whose layout is more
      suited to edit in-place anyway.
      
      A small testing tour was added to ensure this behavior is kept.
      
      Task-2507179
      
      closes odoo/odoo#69363
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      dcb6a3ce
Loading