Skip to content
Snippets Groups Projects
  1. Feb 16, 2022
    • Adrien Widart's avatar
      [FIX] stock: compute the source location of package level · 239898ed
      Adrien Widart authored
      
      When performing a picking with a package, the source location of the
      package level may become incorrect
      
      To reproduce the issue:
      (Use demo data)
      1. In Settings, enable:
          - Packages
          - Storage Locations
      2. In Operations Types, edit "Internal Transfers":
          - Enable "Move Entire Packages"
      3. Create a storable product P
      4. Create a receipt R with for P
      5. Put 10 P in pack and validate R
          - Let be PK the package generated/used
      6. Process an internal transfer with PK
          - The destination location of the package level is WH/Stock/Shelf 1
      
      Error: Once the picking is validated, the source location of the package
      level is "WH/Stock/Shelf 1". This is not true, it should still be
      "WH/Stock"
      
      The compute method is incorrect. It uses the package location to define
      the source location of the package level. However, once the picking is
      processed, this package has moved so using its location to define the
      source location doesn't make sense anymore.
      
      OPW-2754179
      
      closes odoo/odoo#84637
      
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      239898ed
    • Mohammed Shekha's avatar
      [FIX] web: add basic search for binary field · ddc1f3f2
      Mohammed Shekha authored
      
      With this commit: we are adding basic search feature for binary fields,
      custom filter will have binary fields and selecting binary field will
      display 'is set', 'is not set' operators.
      
      with this user can at least filter records based on whether binary field
      is set or not set.
      
      task-2512226
      
      closes odoo/odoo#70149
      
      Backport of 28fa5bc8
      
      This feature was working in 13.0 but it has been lost during the control panel
      refactoring.
      
      opw:2753199
      
      closes odoo/odoo#84636
      
      Signed-off-by: default avatarAaron Bohy (aab) <aab@odoo.com>
      ddc1f3f2
  2. Feb 15, 2022
    • Julien Van Roy's avatar
      [FIX] l10n_fr_fec: fix the translations files · 08c7503c
      Julien Van Roy authored
      
      Based on the po/pot files generated from odoo,
      reorder the translations + remove the unused one.
      
      closes odoo/odoo#84625
      
      Signed-off-by: default avatarWilliam André (wan) <wan@odoo.com>
      08c7503c
    • Adrien Widart's avatar
      [FIX] mrp: list all kit components in delivery slip · a21e946e
      Adrien Widart authored
      When printing a delivery slip, if the delivered product is a kit
      composed with a subkit, the products of this subkit won't be listed
      
      To reproduced the issue:
      1. Create 5 consumable products: 'Compo 01', 'Compo 02', 'Compo 03',
      'Sub Kit', 'Super Kit'
      2. Create two phantom-type boms:
          - Sub kit:
              - 1 x Compo 02
              - 1 x Compo 03
          - Super Kit:
              - 1 x Compo 01
              - 1 x Sub Kit
      3. Process a delivery with 1 x Super Kit (the picking must be done)
      4. Print the delivery slip
      
      Error: The report only contains two lines, i.e. the name of the kit
      ('Super Kit') and the name of the 'direct' component ('Compo 01)
      
      The issue comes from the SML used to define `kit_move_lines` (XML side).
      It uses `has_kits` which only contains the top level kits' SML:
      https://github.com/odoo/odoo/blob/1b1067b0cf2a3de2773915ff8205084492b1bbe3/addons/mrp/report/report_deliveryslip.xml#L6-L9
      
      
      This is the reason why the SML for Compo 02 and Compo 03 are not listed
      
      OPW-2740247
      
      closes odoo/odoo#84552
      
      Signed-off-by: default avatarTiffany Chang <tic@odoo.com>
      a21e946e
    • Adrien Widart's avatar
      [FIX] stock_account: return product with PU equal to zero · 3ad98f7d
      Adrien Widart authored
      
      To reproduce the issue:
      (Need purchase,sale_management)
      1. Create a product category PC:
          - Costing Method: FIFO
      2. Create a product P
          - Type: Storable
          - Category: PC
      3. Create a PO with 1 x P @ 10 + Receive P
      4. Create a PO with 1 x P @ 0 + Receive P
      5. Create a SO with 1 x P + Deliver P
      6. Create a SO with 1 x P + Deliver P
      7. Process a return for sold P at step 6
      8. Open the valuation of the return
      
      Error: The value is 10, should be 0
      
      In `_get_price_unit`, `price_unit` is defined with the correct value
      (i.e., `0`), but the if-condition of the `return` is not respected, so
      another value is used
      
      OPW-2735502
      
      closes odoo/odoo#84590
      
      X-original-commit: c1f7c1dc
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      Signed-off-by: default avatarAdrien Widart <awt@odoo.com>
      3ad98f7d
    • Xavier Morel's avatar
      [FIX] base: attachment copy ACL · 394b234e
      Xavier Morel authored
      
      Currently, `Attachment.copy` has an *explicit* check for write access
      on the underlying record.
      
      This doesn't necessarily make sense e.g. a user copying an attachment
      from a template to an email may not have write access to the template,
      but that should not be an issue. And indeed if the copy is performed
      "by hand" (read then create) things work fine[^1].
      
      Since both `read` and `create` are checked, the explicit `copy` check
      doesn't seem necessary. Drop it, and try to add some tests around
      `copy`. Move `test_06_linked_record_permission` to its own `TestCase`
      and split it for readability.
      
      A secondary issue is that the `check` in `create` was performed in the
      context of the `self` being copied, leading to the same issue as
      `copy` being repeated (that is, `a.copy()` would call `a.create()`
      which would call `a.check('write')`, even though we're semantically
      creating a record from scratch). The behavior is really intended for
      `write` where we want to check if we have `write` access to both the
      "source" and the "destination" records.
      
      Explicitly opt-out of having any source data in the `create` before
      performing the `check` calls, this way we correctly and only check for
      the writability of the destination, and only check for the readability
      of the source.
      
      issue 2746483
      
      [^1] well not entirely true, see 4th paragraph
      
      closes odoo/odoo#84580
      
      X-original-commit: bb956d7d
      Signed-off-by: default avatarRaphael Collet <rco@odoo.com>
      Signed-off-by: default avatarXavier Morel (xmo) <xmo@odoo.com>
      394b234e
    • Guillaume (guva)'s avatar
      [FIX] account: decimal separator on vendor bill · 60e1bdde
      Guillaume (guva) authored
      
      Steps to reproduce:
      
      - Set a language which use ',' (comma) as
        decimal separator (eg French)
      - Make a Vendor Bill for any product at any price.
      
      If the partner's language use '.' (period) as
      decimal separator (eg English), the field
      amount_by_group is formated whit period, while others
      are formated with comma. They should all be formated
      with comma.
      
      - Now print the Vendor Bill
      
      The same issue is occuring.
      
      With Customer Invoices, the issue is the same on
      the form view, but not on the printing, where all
      the fields are formated with period, as set in the
      partner's language.
      
      After this commit, we format all the fields
      regarding the environment's language on the view form,
      either in Vendor Bills and Customer Invoices,
      and we formating the printed bill/invoice regarding
      the partner's language
      
      opw-2735698
      
      closes odoo/odoo#84561
      
      X-original-commit: 42e20b2d
      Signed-off-by: default avatarFlorian Gilbert <flg@odoo.com>
      Signed-off-by: default avatarGuillaume Vanleynseele <guva@odoo.com>
      60e1bdde
    • Pablo Montenegro's avatar
      [CLA] add new members to Adhoc CLA · 03254d03
      Pablo Montenegro authored
      
      closes odoo/odoo#84487
      
      X-original-commit: 2df9503f
      Signed-off-by: default avatarJosse Colpaert <jco@odoo.com>
      03254d03
    • Odoo Translation Bot's avatar
  3. Feb 14, 2022
    • qsm-odoo's avatar
      [FIX] website: prevent input and datepicker interaction in edit mode · 3e598a80
      qsm-odoo authored
      
      Before this commit, during edit mode, the user was able to interact with
      form elements. In 13.0, it was somehow prevented by some JS code by
      losing the focus immediatly but it was not enough: if typing quickly the
      user was able to type text. But the real problem was the user seeing the
      input focused for half a second then not anymore, making him think a bug
      occured. Worse, the datepickers of the form snippet were able to be used
      entirely during edit mode, making the user think it is possible to
      configure a default value (which is not true in 13.0). In following
      versions, the bug is indeed worse as it messes up with the default
      values configuration. In 14.0, it is apparently possible to type
      normally in all of those inputs... although still ignored on save.
      
      This commit fixes that via CSS, still allowing a click on the elements
      to be considered as a click on the parent, but preventing to focus our
      snippet inputs (this fix is limited to our own snippets as stable fix).
      Note: the 13.0 JS code which prevents the focus right now was not found
      (if it even exists...) but it would not be ok to remove it in stable
      anyway. More investigation and review will be done once this reaches
      master.
      
      task-2523496
      
      closes odoo/odoo#84570
      
      X-original-commit: 6b77e105
      Signed-off-by: default avatarRomain Derie (rde) <rde@odoo.com>
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      3e598a80
    • Brice bib Bartoletti's avatar
      [FIX]purchase_stock,stock_account:partner on aml · 395f01d5
      Brice bib Bartoletti authored
      The aim of this commit is to set partner on anglosaxon
      aml in order to help our client in their stock
      reconciliation process in case it hasn't been done automatically.
      
      Before this commit:
      anglosaxon line were created without partner
      
      After this commit:
      A partner is set when anglosaxon line are created
      
      closes odoo/odoo#84520
      
      Ticket: 2692308
      Community-pr: https://github.com/odoo/odoo/pull/84468
      
      
      X-original-commit: abfe37fc
      Signed-off-by: default avatarWilliam André (wan) <wan@odoo.com>
      395f01d5
    • bve-odoo's avatar
      [FIX] mail: modify url redirection to doc (mail servers) · 8e57b42f
      bve-odoo authored
      
      Documentation structure were modified to point out to a new subtree:
          content/applications/general/email_communication/email_server
      
      Related task:2619564
      Documentation PR:1092
      
      closes odoo/odoo#84516
      
      Signed-off-by: default avatarVergote Baptiste (bve) <bve@odoo.com>
      8e57b42f
    • Arthur Detroux (ard)'s avatar
      [FIX] website: fix editor not starting after creating a website · 81f5c768
      Arthur Detroux (ard) authored
      Commit [1] introduced an automatic start of edit mode when
      selecting a theme but didn't take into account wether the frontend lang
      of the user was matching that of the website that is supposed to enter
      in edit mode.
      
      Commit [2] introduce a `website_edit` action but also didn't take into
      account that the frontend lang might not be the source's lang.
      
      Steps to reproduce:
      - Create an empty database and install website
      - Add an extra lang on website (e.g FR) and visit the website in that
      lang
      - Go in settings an create a new website, select a theme
      - Redirect is with enable_editor but nothing happens
      
      The editor isn't started if not in the source's lang.
      
      This commit redirect the user to the default_lang of the website
      so that editor can always be started. It also introduces a tour
      to test out the flow.
      
      [1]: https://github.com/odoo/odoo/commit/f474eac4543712ae5b1c7d614f9eff9367445107
      [2]: https://github.com/odoo/odoo/commit/e0cc28dcee977c4aa0c6a7e4ff6c463ab12e55a2
      
      
      
      task-2687416
      
      closes odoo/odoo#83508
      
      Signed-off-by: default avatarRomain Derie (rde) <rde@odoo.com>
      81f5c768
    • Yolann Sabaux's avatar
      [FIX] product: variant exclusion not taken into account · 24a39877
      Yolann Sabaux authored
      
      Steps to repoduce:
      - Go to Sales - products
      - Create a product
      - Add variants (3 attributes and 2 values each) Total is 8 variants.
      - onfigure variants: Select 1 attribute and exclude it for 1 variant (for example: exclude for size 12x12)
      -> the number of variants remains at 8. The one that is excluded is still visible in the Product variants tab.
      
      Solution:
      When an exclusion is created, archive all the not-possible-combination.
      
      OPW-2729329
      
      closes odoo/odoo#84515
      
      X-original-commit: 5ff4eb02
      Related: odoo/enterprise#24307
      Signed-off-by: default avatarSébastien Theys (seb) <seb@odoo.com>
      24a39877
    • Touati Djamel (otd)'s avatar
      [FIX] mrp: prevent traceback when choosing a BOM of a product without a variant · 50b538e7
      Touati Djamel (otd) authored
      Steps to reproduce the bug:
      - Go to inventory > configuration > Products > Attributes
      - Create a new Dynamic Attributes > add two attribute values
      - Create a storable Product “Test”:
          - Add the two attributes
          - Save
          - Create a BOM related to this product
      - Create a new manufacturing order:
          - Do not choose a product
          - Select the BOM related to the product “test”
      
      Problem:
      Traceback is triggered because as the product template only has dynamic variants, there is not a `product.product` record created yet.
      but we try to access it in the onchange: https://github.com/odoo/odoo/blob/14.0/addons/mrp/models/mrp_production.py#L598
      
      
      
      Solution:
      do not set the product when a BOM of a product_tmpl without a variant was chosen
      opw-2732254
      
      closes odoo/odoo#84106
      
      Signed-off-by: default avatarArnold Moyaux <arm@odoo.com>
      50b538e7
    • root's avatar
      [FIX] sale: allow overriding portal domain · 38509c2e
      root authored
      
      Before this commit the only way to modify the domain is to completely override portal_my_quotes/portal_my_orders.
      Since this function is so big this is not clean/easy to do.
      By creating a separate function we can simply override it and we can reuse the same domain in two places.
      
      closes odoo/odoo#84240
      
      Signed-off-by: default avatarYannick Tivisse (yti) <yti@odoo.com>
      38509c2e
    • Mathieu Duckerts-Antoine's avatar
      [FIX] web: flickering in graph view · 3569e1b2
      Mathieu Duckerts-Antoine authored
      
      Chart.js did badly compute the graph canvas container height (width) by
      using clientHeight (resp. clientWidth) that may be rounded up by the
      browser. This leads to the appearence of a useless scrollbar in the
      graph view and makes it flicker on some update.
      
      closes odoo/odoo#84447
      
      X-original-commit: 6bceae94
      Signed-off-by: default avatarAaron Bohy (aab) <aab@odoo.com>
      3569e1b2
  4. Feb 12, 2022
    • Alvaro Fuentes's avatar
      [FIX] stock_landed_costs: use list not tuple · d8322e64
      Alvaro Fuentes authored
      
      ae96f0e introduced an issue because the update of the m2m used a `tuple`
      instead of a `list`
      
      How to reproduce:
      
      * Apply only the (Python) code changes done in ae96f0e, keeping the same
      view (i.e. ignore the changed done to the view in ae96f0e).
      * Instead of `n=5000` in the compute set `n=1` (it cannot be reproduced
      with 5000 unless we create enough dummy data).
      * On a clean v13 db with Landed costs (Accounting + Inventory + Purchase
      + demo data)
      * Confirm a Purchase
      * Create a Landed cost
      * Try to select a transfer
      
      Traceback:
      ```
      ...
          return f(self, *args, **kwargs)
        File "/home/odoo/src/odoo/13.0/odoo/sql_db.py", line 250, in execute
          res = self._obj.execute(query, params)
      psycopg2.errors.UndefinedFunction: operator does not exist: integer = integer[]
      LINE 1: ...FROM "stock_picking" WHERE (("stock_picking"."id" in (ARRAY[...
                                                                   ^
      HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.
      ```
      
      On the reported issues the traceback occur only for DBs with more than
      5000 valid pickings, and for views that use the field
      `allowed_pickign_ids`.
      
      opw-2762355
      
      closes odoo/odoo#84479
      
      X-original-commit: ccd37565
      Signed-off-by: default avatarChristophe Simonis <chs@odoo.com>
      d8322e64
  5. Feb 11, 2022
  6. Feb 10, 2022
    • Benjamin Vray's avatar
      [FIX] website: remove autocomplete from inputs in page properties · 7f458229
      Benjamin Vray authored
      
      Before this commit, on Chrome browser, the page url input and the
      visiblity password input were autocompleted with the user's login and
      password in the page properties options.
      
      After this commit, they are no longer.
      
      Regarding the url input page, it seems to be because Chrome considers
      that the first text input located before a password input in the DOM is
      a login input.
      
      task-2502747
      
      closes odoo/odoo#84372
      
      Signed-off-by: default avatarRomain Derie (rde) <rde@odoo.com>
      7f458229
    • oco-odoo's avatar
      [FIX] survey: Avoid forbidding access to survey when the answer cookie... · c642be8e
      oco-odoo authored
      [FIX] survey: Avoid forbidding access to survey when the answer cookie corresponds to no actual answer
      
      To reproduce:
      
      1) Create a survey and open it with a portal user with its /survey/start/*** link
      
      2) In a private window, connect as the admin and remove the answer in 'Not started yet' state that step 1 created.
      
      3) Go back to your portal user window and re-enter the same /survey/start/*** URL.
      ==> The portal user is brought back to the home page. He has no way to access the survey anymore, the link will always redirect him there.
      
      This is because of cookies. The first time the user opens the survey, it creates a cookie in his browser allowing him to reload the answer he was working on. In our example, this answer has been deleted for some reason (maybe some cleaning of too old 'not started' or 'in progress' stuff); so the token stored in the cookie does not correspond to anything anymore. Instead of crashing and redirecting to home page, this commit makes it so that we now ignore the cookie in that case, so that the user directly has access to the survey to build a new answer.
      
      Task-2729738
      
      closes odoo/odoo#82041
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      c642be8e
    • oco-odoo's avatar
      [FIX] survey: Don't load answer from other user if a cookie exists · 0be94b7f
      oco-odoo authored
      To reproduce the issue:
      
      1) Create a survey requiring user login, with multiple pages
      
      2) Create portal user A and B
      
      3) With user A, go to URL /survey/start/****, where **** is the access token of your test survey. Fill in the first pages of the survey, but don't finish your submission (so: the answer has to stay 'in progress').
      
      4) Logout from user A.
      
      5) From the same browser window (or without cleaning cookies, at least), directly login with user B, and go to the same /survey/start/**** link
      
      ====> The 'in progress' answer from A is loaded, even though we are connected with B and should hence not have access to it. Instead, we should have created a new blank answer for B.
      
      This is due to our cookie management. When a cookie is kept in the browser with the token of a previously entered answer, we reload it without checking its owner.
      
      Task-2729738
      
      Part-of: odoo/odoo#82041
      0be94b7f
    • Peter Preeper's avatar
      [CLA] add signature for ppreeper · d6bf4a8e
      Peter Preeper authored
      
      closes odoo/odoo#84304
      
      X-original-commit: 8c2917c2
      Signed-off-by: default avatarMartin Trigaux (mat) <mat@odoo.com>
      d6bf4a8e
  7. Feb 09, 2022
    • Ricardo Gomes Rodrigues (rigr)'s avatar
      [IMP] l10n_pt: add type and reference account for taxes · 8d24e33e
      Ricardo Gomes Rodrigues (rigr) authored
      Useful resource to understand the different taxes:
      - IVA dedutível
      - IVA suportado
      - IVA liquidado
      https://www.e-konomista.pt/iva-dedutivel/
      
      
      
      closes odoo/odoo#84267
      
      X-original-commit: d9ad584d
      Signed-off-by: default avatarWilliam André (wan) <wan@odoo.com>
      Signed-off-by: default avatarrigr-odoo <rigr@odoo.com>
      8d24e33e
    • Guillaume (gdi)'s avatar
      [FIX] website_form: fix form ids generation · 52214a3a
      Guillaume (gdi) authored
      
      In order to respect the good practices of HTML, it is preferable that
      the IDs of HTML elements do not start with a number. This makes it
      easier to handle CSS selectors etc.
      
      task-2760205
      
      closes odoo/odoo#84236
      
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      52214a3a
    • Bruno-brsy's avatar
      [FIX] product: help for field standard_price · 9e0a529b
      Bruno-brsy authored
      
      Step to reproduce:
      1) create a product with, the "Product Type" as
      "Storable Product" + A "Product Category" with a "Costing Method"
      set in "FIFO" mode and the Inventory Valuation in "Automated".
      
      2) create a Purchase Order for 1 unit of that product and set the unit
      price to 10.00. Confirm Order -> Receive Products -> Validate
      (the delivery) -> Apply
      
      3) create a second Purchase Order for 1 unit of the same product but
      set the unit price to a different price, like 20.00. Confirm Order ->
      Receive Products -> Validate (the delivery) -> Apply
      
      4) create a Sales Orders for 1 unit -> Confirm -> Smart button
      Delivery -> Validate -> Apply
      
      5) check the cost on the product form of that product.
      
      On the V13 it will be $10, so its the last unit that left the stock
      On V14 and upper, it will be $20, so the next product that will leave
      the stock.
      
      The help popup for the field "standard_price" doesn't reflect the
      correct behavior. It's the standard price for the next unit instead
      of the last one.
      
      closes odoo/odoo#82678
      
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      9e0a529b
    • Florian Damhaut's avatar
      [FIX] microsoft_calendar: fetch full description · 550ad53e
      Florian Damhaut authored
      
      Step to reproduce:
      - Create a event in outlook with a long description
      - Load the event in Odoo
      
      Current Behaviour:
      - Odoo use the body preview to get the event description
      If the body is longer then, the description in Odoo is incomplete.
      
      Behaviour after PR:
      - Change fetch option to get description as text
      - Use body['content']  as description which is the full body.
      
      opw-2746358
      
      closes odoo/odoo#84054
      
      Signed-off-by: default avatarArnaud Joset <arj@odoo.com>
      550ad53e
    • Dominik Zians's avatar
      [FIX] snailmail: change error code when timeout · b3c46e80
      Dominik Zians authored
      
      When the snailmail API-call timed out, the SnailmailLetter.state and SnailmailLetter.error_code were not changed, which resulted in an infinite loop of retries  via the "Snailmail: process letters queue" cron job.
      This commit changes this behavior: On a timeout the SnailmailLetter.error_code is changed such that no retry happens. Following stable policy, no timeout error is added, but 'unknown error' will be used. Preventing retries on timeout is mandatory as timed-out request are indeed processed by IAP and customer credited.
      
      closes odoo/odoo#84202
      
      X-original-commit: 1d842443
      Signed-off-by: default avatarFlorian Daloze (fda) <fda@odoo.com>
      b3c46e80
    • tranngocson1996's avatar
      [FIX] stock: add hook method · 682030f1
      tranngocson1996 authored
      
      I want to customize the value when creating the stock move but with the
      old code I can't do it. So, I add you a hook method. Look it will be
      more professional and good for developer
      
      closes odoo/odoo#83490
      
      X-original-commit: 8e185dfe
      Signed-off-by: default avatarArnold Moyaux <arm@odoo.com>
      682030f1
Loading