Skip to content
Snippets Groups Projects
  1. Jun 06, 2018
    • Lucas Perais (lpe)'s avatar
      [FIX] web: new record with o2m also with new records prevent name_get · 654ee788
      Lucas Perais (lpe) authored
      Have a model A with a o2m to B.
      In the list have a field  B > m2o > C
      
      Also have a sequence field (widget handle) on B
      
      Then Create a record A
      Arrange yourself to have two new records B popping right away (through an onchange)
      in the o2m. Their C field have to be empty
      
      Resequence those two B lines with the handle
      
      Before this commit, there was a traceback when trying to do an name_get on the C fields
      Since both of them are empty, there is no record in the localData
      Hence, no model. And also no records anyway, so no need to do a name_get
      
      After this commit, there is no traceback, the name_get is avoided when no data is to be fetched
      
      OPW 1853088
      closes #24988
      654ee788
  2. Jun 05, 2018
  3. Jun 04, 2018
    • Christophe Simonis's avatar
      97d611fc
    • Denis Ledoux's avatar
      [FIX] websiste: determinist homepage for portal users · 579f6716
      Denis Ledoux authored
      In the portal module,
      the `index` method from the `web` module controllers
      is overriden to redirect `/`
      to the portal `/my` for the portal users,
      instead of the regular backend `/web`.
      
      However, when `website` is installed,
      this behavior should not happen,
      as you would like the signed in portal users to
      be able to see the website homepage,
      and not to be redirected to `my` when
      they try to access `/` root path of the website.
      
      Because the override in the website module was done on the
      `index` method coming from the `web` module instead of the `portal`,
      according in which way the Python module were loaded,
      it sometimes redirected to `/my`, sometimes it correctly
      displayed the homepage. This is because the modules are not
      loaded in a determinist order.
      
      To summarize, on runbot, if you logged as portal/portal,
      one time on two you were redirected to `/my`, and the other
      time you saw the homepage correctly.
      
      As `website` depends on `portal`,
      we have the possibility to override the `index` method
      of `portal` instead of the one of `web`,
      to force the determinist order,
      and therefore the determinist behavior of the homepage for
      portal users.
      579f6716
    • Nicolas Martinelli's avatar
      [FIX] stock_account: do not display to_refund on return picking as toggle · 6b0c7a33
      Nicolas Martinelli authored
      The original issue was fixed at 2f5e44d4
      
      This reverts commit 0b1b860d.
      
      opw-1854613
      6b0c7a33
    • Adrian Torres's avatar
      [FIX] account, l10n_generic_coa: remove unused master data · 661542a4
      Adrian Torres authored
      When installing the `account` module, some of its master data is
      installed as `l10n_generic_coa` data.
      
      During the uninstallation of `account`, `l10n_generic_coa` is
      uninstalled first since its a dependency of `account`, but some of its
      master data cannot be uninstalled yet as its still being referenced in
      some `account` et al tables.
      
      When `account` is being reinstalled, the datas will be updated instead
      of created since they were left intact in the database, this proves
      troublesome as the code YAML interpreter adds some context variables
      when creating records but not when updating records, these context
      variables are necessary in order to trigger some onchanges and defaults
      for fields that are required, since this does not happen we get a `NOT
      NULL CONSTRAINT` error when re-installing the `account` module.
      
      This patch solves this issue by adding an uninstall_hook that will
      delete all ir_model_data that belongs to the module `l10n_generic_coa`
      upon its uninstallation.
      
      Fixes #25005
      661542a4
    • Odoo Translation Bot's avatar
    • Lucas Perais (lpe)'s avatar
      [FIX] point_of_sale: pos_config write should be @multi compliant · 79f0658c
      Lucas Perais (lpe) authored
      Avoid "expected singleton" when writing on multiple pos_config
      
      closes #24953
      79f0658c
    • Nicolas Martinelli's avatar
      [FIX] stock: Stock Level Forecast · dae6efa9
      Nicolas Martinelli authored
      - Create the following BOM for Product A:
        Comp 1: 1 Unit(s)
        Comp 2: 5 Unit(s)
      - Update on-hand quantity:
        Comp 1: 10 Unit(s)
        Comp 2: 30 Unit(s)
      - Create a MO for 10 Unit(s) of A
      - Check the Quantity on report 'Stock Level Forecast':
        Comp 1:   0 Unit(s)
        Comp 2: -20 Unit(s)
      - 'Check Availability' on the MO
      - Check the Quantity on report 'Stock Level Forecast':
        Comp 1:  0 Unit(s)
        Comp 2: 30 Unit(s)
      
      The `partially_available` state has been added with Inventory
      refactoring in v11, and needs to be taken into account.
      
      opw-1849556
      dae6efa9
    • Nicolas Lempereur's avatar
      [FIX] website_event: unblock button when no reserve · 57a64bbc
      Nicolas Lempereur authored
      In 11.0, this change e9454e79 solved the use case of:
      
      - opening the registration of a ticket
      - discard
      
      => the page must be reloaded to register a ticket
      
      A new report is that since 9.0, if we try to register 0 ticket we would
      also have to reload the page.
      
      This commit backports e9454e79 and solves the 0 ticket registration.
      
      10.0 version of 9.0's #24966
      opw-1851622
      closes #24991
      57a64bbc
    • Lucas Perais (lpe)'s avatar
      [FIX] base: res.config.settings discard should actually discard changes · a1d5f322
      Lucas Perais (lpe) authored
      Before this commit, some values of res.config.settings were saved
      (e.g case of website settings were some fields are related)
      
      After this commit, they are not saved
      
      OPW 1853230
      closes #24972
      closes #25028
      a1d5f322
    • Nicolas Martinelli's avatar
      [FIX] stock: assign move · 8dbaaf89
      Nicolas Martinelli authored
      - Create a BOM for Product A, using Component B
        1 Unit of a is built with 1 Unit of B
      - Update on hand quantity for B to 3.0
      - Create a MO for 5 Units of A
      - Update the quantity to produce to 3.0
      
      The button 'Check Availability' never disappears.
      
      The core of the problem is that the move remains "Partially Available".
      Indeed, if there is no product available (`available_quantity <= 0`),
      the stock move is skipped and its availability status is not updated.
      
      We slightly change the logic by first checking if we need any quantity.
      If not, the move can be considered as assigned.
      
      opw-1850499
      8dbaaf89
  4. Jun 03, 2018
  5. Jun 01, 2018
    • Nicolas Lempereur's avatar
      [FIX] website_event: unblock button when no reserve · f71b934c
      Nicolas Lempereur authored
      The website_event_questions override EventRegistrationForm's method
      on_click and expects the returns is a deferred.
      
      This commit provides a deferred in all instances avoiding an error.
      
      Also what was done in e9454e79 and enables back the Register Now
      button if no ticket was selected.
      
      opw-1850527
      
      In 11.0, this change e9454e79 solved the use case of:
      
      - opening the registration of a ticket
      - discard
      
      => the page must be reloaded to register a ticket
      
      A new report is that since 9.0, if we try to register 0 ticket we would
      also have to reload the page.
      
      This commit backports e9454e79 and solves the 0 ticket registration.
      Also if website_event_questions was installed there was an error
      preventing an error message to be displayed.
      
      saas-15 version of 9.0's #24966
      opw-1851622
      closes #24967
      f71b934c
    • len-odoo's avatar
      [FIX] account, purchase, sale: properly quote the name of the email sender · 42aff92a
      len-odoo authored
      formataddr (from the email python library) writes email_from as '"name" <email>'
      in the email_from field of the mail.compose.message record.
      When the mail is rendered, onchange_template_id is triggered.
      This then overwrites the values of email_from among other fields.
      What happens is that it uses the email_from field from the template to render
      the email_from, bypassing what was put by formataddr before.
      What happens in some cases is that it is rendered as 'name <email>'
      (note the quotes have been stripped away).
      If name contains arbitrary symbols, e.g. name = 'pépé [company] <pdg>, ohlala',
      then getaddresses which is supposed to parse the (name, email) pairs gets thrown
      off (in particular, <pdg> will be interpreted as an email address, and many
      other problems with the various special symbols).
      It then gives these wrong elements as email addresses, which will usually crash
      when getting non-ascii symbols (i.e. these strings don't respect the relevant
      RFC for email addresses).
      
      Closes:
      https://github.com/odoo/odoo/issues/23502
      https://github.com/odoo/odoo/pull/2311823118
      
      opw 815202
      opw 1824243
      42aff92a
    • Adrian Torres's avatar
      [FIX] orm: re-create constraints of extended fields · a5ccc1b6
      Adrian Torres authored
      Before this commit:
      
      * Module A defines a field X of model M
      * Module B inherits from model M without touching field X
      * Module C inherits from model M and extends field X by giving an INDEX
      / NOT NULL constraint.
      * Module B and C depend from Module A, but not each other
      
      If all three modules are installed and Module B is updated, the INDEX /
      NOT NULL constraint could be dropped.
      
      This happens because Module B can be loaded before Module C is loaded,
      if that's the case, then after the upgrade of Module B, during the
      schema checking, we verify that the field object we have and the field
      on the DB are the same, since Module B doesn't introduce the index then
      this check is false and we drop the index. When we get to loading Module
      C, we do not do any schema checking because the module is not marked as
      `to upgrade`, therefore the index is lost forever.
      
      To solve this, we re-init the models that belong to the set of the intersection
      between upgraded and modified models and loaded and modified models.
      
      Fixes #24958
      a5ccc1b6
    • Nicolas Lempereur's avatar
      [FIX] website_event: unblock button when no reserve · 66a60c70
      Nicolas Lempereur authored
      In 11.0, this change e9454e79 solved the use case of:
      
      - opening the registration of a ticket
      - discard
      
      => the page must be reloaded to register a ticket
      
      A new report is that since 9.0, if we try to register 0 ticket we would
      also have to reload the page.
      
      This commit backports e9454e79 and solves the 0 ticket registration.
      
      opw-1851622
      closes #24966
      66a60c70
    • Nicolas Martinelli's avatar
      [FIX] website_sale: performance with carousel · 195c2fc0
      Nicolas Martinelli authored
      When the carousel is activated, the following will load all variant ids
      in the cache (cf. `_in_cache_without`):
      ```
      <t t-set="variant_img" t-value="any(product.mapped('product_variant_ids.image_variant'))"/>
      ```
      
      When accessing the `image` field at:
      ```
      <div t-if="variant_img" class="..." itemprop="image" t-field="product.product_variant_id.image" t-options="..."/>
      ```
      All variants in cache will have their image resized by the method
      `_compute_images` on `product.product`. In case of a product with
      hundreds of variants with images, this will take a major amount of time.
      
      If we replace by `product[:1]`, the system uses another cache, and
      doesn't fetch the image of all variants.
      
      opw-1844783
      195c2fc0
    • Odoo Translation Bot's avatar
  6. May 31, 2018
  7. May 30, 2018
Loading