Skip to content
Snippets Groups Projects
  1. May 11, 2023
  2. May 10, 2023
    • Touati Djamel (otd)'s avatar
      [FIX] stock: change product's company · 166a7cfd
      Touati Djamel (otd) authored
      
      Steps to reproduce the bug:
      - Connect with the company A
      - Create a consumable product “P1”
      - Create a receipt transfer with this product
      - confirm the transfer
      - Come back to the product form
      - limiter le produit que a la “Company B”
      
      Problem:
      no user error triggered
      Go to inventory > operation > transfer: a Traceback is triggered
      
      Before this commit, there is no verification while changing a product's
      company for consumable. That can lead to an issue where some operations
      cannot be done because of access errors. To avoid that, this commit
      prevents to change the product's company if some move lines for this
      product exist in another company.
      
      opw-3300559
      
      closes odoo/odoo#120947
      
      X-original-commit: a6666de7
      Signed-off-by: default avatarDjamel Touati (otd) <otd@odoo.com>
      166a7cfd
    • Julien (jula)'s avatar
      [FIX] mail: do not compute chat windows in DiscussPublicView · 6628e05a
      Julien (jula) authored
      
      __Current behavior before PR:__
      When someone joins a call in the discuss public view and receives a message in the chatter, the part of the screen supposed to display the video streams of the participants goes black.
      
      This happens because it is trying to open a chat window in the bottom right as it is done usually. However since we are in the public view it removes it instantly together with the participants cards.
      
      __Description of the fix:__
      If we are in the discuss public view, it is useless to make chat windows. This will prevent opening of chat windows.
      
      __Steps to reproduce the issue:__
      1. Open the discuss app and start a meeting.
      2. Copy the Invitation Link
      3. Open a new private window to join the call with a guest user.
      4. Then go back to the non-guest user page and send a message in the chatter.
      5. Notice that the participants cards vanished on the private window page.
      
      opw-3229747
      
      closes odoo/odoo#119359
      
      Signed-off-by: default avatarAlexandre Kühn (aku) <aku@odoo.com>
      6628e05a
    • pedrambiria's avatar
      [FIX] pos_restaurant: stay on current table after refund · b16ee763
      pedrambiria authored
      
      Previously, when conducting a refund on a table, the system would
      switch the active table to the table associated with the refunded
      order. This was not the desired behavior, as it resulted in the details
      of the order disappearing, requiring the user to navigate back to
      the refund process.
      
      Steps to reproduce the issue:
      
       - install PoS restaurant
       - pick a table, do an order and pay it
       - pick another table, refund
       - choose the previous order and refund
      -> the order details disappear directly. You have to go back to refund.
      
      opw-3301603
      
      closes odoo/odoo#121012
      
      Signed-off-by: default avatarHeinz Robin (rhe) <rhe@odoo.com>
      b16ee763
    • Laurent Smet's avatar
      [FIX] account: Fix cascading computation leading to wrong move_name computation · 147427bb
      Laurent Smet authored
      
      When l10n_mx_edi is installed and a payment is posted, the move_name field on account.move.line
      being a related to move_id.name is not well computed.
      That is because posting a move trigger the computed field in a protected mode due to `flush_recorset`.
      This mode prevents any computed field to be recomputed twice.
      This flush triggers `_compute_name` calling `sequence_mixin`, itself doing another `flush_recorset`.
      This extra flush triggers `_compute_l10n_mx_edi_cfdi_uuid` that access to `move.payment_id.reconciled_bill_ids`.
      This access to this field triggers its recomputation and then, `_compute_stat_buttons_from_reconciliation` is called.
      This method does `self.env['account.move.line'].flush_model()` that force the computation of `move_name` to `/`.
      `sequence_mixin` assigns the new `name` to the journal entry but `move_name` is not recomputed due to the
      protected environment.
      
      closes odoo/odoo#120630
      
      X-original-commit: 29d6101c
      Signed-off-by: default avatarOlivier Colson (oco) <oco@odoo.com>
      Signed-off-by: default avatarLaurent Smet <las@odoo.com>
      147427bb
    • kir-odoo's avatar
      [FIX] delivery: shipping carrier is set after delivery generated · 963b82c3
      kir-odoo authored
      
      Before this commit
      ==================
      when SO is confirmed and Delivery is created then add the shipping method
      in SO, in this case, the shipping carrier is not set in the existing undelivered
      delivery of that SO.
      
      After this commit
      =================
      So in this commit, we set the shipping carrier for undelivered delivery.
      
      taskId - 2946360
      
      closes odoo/odoo#120966
      
      X-original-commit: 58f9139f
      Signed-off-by: default avatarTiffany Chang <tic@odoo.com>
      963b82c3
    • Alvaro Fuentes's avatar
      [FIX] mail: allow to create a manual blacklist model · dead6731
      Alvaro Fuentes authored
      Issue 1: before this patch it was impossible to create a manual model
      marked as "Is blacklist". The reason is that a blacklist model
      implicitly need an `email` field, but such field is impossible to add in
      a manual model: the field must start with `x_`.
      
      Solution: append `x_` to the implicit email field. Note, in principle
      the user gets an error if `x_email` is not present. Solved by adding the
      field when creating the custom model. Ideally we should show some hint
      in the interface to make it more user friendly. That is out of the scope
      of this patch.
      
      Issue 2: when we have a manual model that is mail blacklist it's
      impossible to create its model class. We get an error because the MRO is
      not correct. The reason is that we are adding `mail.thread.blacklist`
      _after_ `mail.thread` in the `_inherit` list. That list is used to
      generated the `__bases__` of the model class[1]. According to Python's
      MRO rules[2], since `mail.thread.blacklist` appears after `mail.thread`
      as parents of the custom model class this order _must_ be respected. But
      `mail.thread` must appear _before_ `mail.thread.blacklist` because the
      latter inherits from the former. This is a contradiction and the MRO
      algorithm cannot succeed. To put it in a simple example:
      ```py
      class A: pass
      class B(A): pass
       # This fails:
       # class C(A, B): pass
       # The right order is:
      class C(B, A): pass
       # Equivalent to:
      class D(B): pass
       # C and D have the same MRO linearization excluding themselves
      assert D.mro()[1:] == C.mro()[1:]
      ```
      Example traceback:
      ```
      Traceback (most recent call last):
        File "/home/odoo/src/odoo/14.0/odoo/service/server.py", line 1201, in preload_registries
          registry = Registry.new(dbname, update_module=update_module)
        File "/home/odoo/src/odoo/14.0/odoo/modules/registry.py", line 89, in new
          odoo.modules.load_modules(registry._db, force_demo, status, update_module)
        File "/home/odoo/src/odoo/14.0/odoo/modules/loading.py", line 464, in load_modules
          registry.setup_models(cr)
        File "/home/odoo/src/odoo/14.0/odoo/modules/registry.py", line 263, in setup_models
          env['ir.model']._add_manual_models()
        File "/home/odoo/src/odoo/14.0/odoo/addons/base/models/ir_model.py", line 430, in _add_manual_models
          Model = model_class._build_model(self.pool, cr)
        File "/home/odoo/src/odoo/14.0/odoo/models.py", line 585, in _build_model
          ModelClass.__bases__ = tuple(bases)
      TypeError: Cannot create a consistent method resolution
      order (MRO) for bases BaseModel, mail.thread, mail.thread.blacklist, base
      ```
      
      Solution: check if a model inherits from `mail.thread.blacklist` first.
      There is no need to add `mail.thread` if inheriting
      `mail.thread.blacklist` because the inheritance is already implicit.
      
      This issue was observed during upgrades. We convert custom models and
      fields into manual to allow upgrading without custom code. This causes
      issues because the MRO error appears when a custom model inherits mail
      blacklist.
      
      [1]: https://github.com/odoo/odoo/blob/02f820fb0eaddbb3a4269a0967184c8aaf52c363/odoo/models.py#L585
      [2]: https://www.python.org/download/releases/2.3/mro/
      
      
      
      closes odoo/odoo#120922
      
      X-original-commit: 8848bb57
      Signed-off-by: default avatarChristophe Simonis <chs@odoo.com>
      Signed-off-by: default avatarAlvaro Fuentes Suarez (afu) <afu@odoo.com>
      dead6731
  3. May 09, 2023
    • Arnold Moyaux's avatar
      [FIX] stock: prevent the import of stock.move.line with reserved quantity · 53af47d1
      Arnold Moyaux authored
      
      Use case: Create an import file for a picking with stock.move.line directly in
      it and add some reserved quantity on the stock.move.line.
      
      The import of stock.move.line is not possible directly via a
      stock.move.line menu but it still possible on a picking or
      mrp.production import. However the create does not expect that
      and never reserve the quants. So it result with quant <-> sml
      inconcistencies in the data and the error can not reserve more
      than you have in stock.
      
      opw-3277938
      
      closes odoo/odoo#119238
      
      X-original-commit: 1a264d7d
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      Signed-off-by: default avatarArnold Moyaux (arm) <arm@odoo.com>
      53af47d1
    • pedrambiria's avatar
      [FIX] base: add `commercial_company_name` to the depends · f242cad9
      pedrambiria authored
      
      Before this commit: if you add a custom one2many field to the
      'res.partner', like x_related_commercial_partner_ids, that is related to the
      `commercial_partner_id` in the`res.partner` model, it won't update the
      display name of a contact in case of changing its parent_id name.
      
      Here are the steps to reproduce the problem:
       1. Create a new custom field with these values:
         a. Field Type = one2many
         b. Model = Contact
         c. Related Model = res.partner
         d. Relation Field = commercial_partner_id
       2. Create a new Contact that is the "Company" (e.g. "My Company")
       3. Create a new Contact that is the "Individual" (e.g. "My Name"), and
          put the "My Company" as its parent_id.
       4. Now the display_name is "My Company, My Name" which is correct
       5. Change the company name to "My new Company"
        -> display_name won't change, and is "My Company, My Name"
      
      The solution is to add the 'commercial_company_name' to the
      `display_name` depends.
      
      opw-3202894
      
      closes odoo/odoo#120669
      
      X-original-commit: 6bd2bdf0
      Signed-off-by: default avatarRémy Voet <ryv@odoo.com>
      f242cad9
    • Benoit Socias's avatar
      [FIX] website: apply page search on most specific pages only · 5ad049f5
      Benoit Socias authored
      Since [1] when the fuzzy search was introduced on website pages, the
      filtering on most specific pages only happens at the end of the search
      operation. Because of this, the search happens on pages that would be
      excluded anyway, the limit might be wrongly applied and the count might
      be wrong.
      
      This commit makes the page search begin by keeping only the most
      specific pages, then performing the actual search within those pages.
      
      Steps to reproduce:
      - Install `website` only and drop a search snippet.
      - Search "ax".
      
      => No results found, but the "All results" link is displayed.
      
      [1]: https://github.com/odoo/odoo/commit/7559626c54e34b41e1549e28276a650accec6986
      
      
      
      task-3203794
      
      closes odoo/odoo#117627
      
      Signed-off-by: default avatarArthur Detroux (ard) <ard@odoo.com>
      5ad049f5
    • Jurgen (jugj)'s avatar
      [IMP] hr_work_entry : Make status bar of work entries readonly · aa385347
      Jurgen (jugj) authored
      
      task - 3293181
      
      closes odoo/odoo#120811
      
      X-original-commit: 4424e901
      Signed-off-by: default avatarKevin Baptiste <kba@odoo.com>
      aa385347
  4. May 08, 2023
  5. Feb 10, 2023
  6. May 07, 2023
  7. May 05, 2023
    • Andrew Gavgavian's avatar
      [FIX] stock: fix report.stock.quantity search_read · e112a7f9
      Andrew Gavgavian authored
      
      	Currently `report.stock.quantity` has a field defined in it called `move_ids`:
      	`move_ids = fields.One2many('stock.move',readonly=True)`
      
      	This virtual field has no corresponding inverse field so when performing a search_read on the model, it fails
      	in fields.py when trying to do:	`inverse_field = comodel._fields[inverse]`
      
      	In addition, this field is apparently not used anywhere in the source code and not queried in the SQL View.
      
      	This means the model can never be search_read by default.
      
      	Since this field is never used, it isn't stored, and the model is `_auto = False`, removing it won't break any database.
      
      closes odoo/odoo#120416
      
      X-original-commit: e3b1a887
      Signed-off-by: default avatarWilliam Henrotin (whe) <whe@odoo.com>
      Signed-off-by: default avatarAndrew Gavgavian (andg) <andg@odoo.com>
      e112a7f9
    • Andrea Grazioso (agr-odoo)'s avatar
      [FIX] account: search for deprecated account · b9f374f8
      Andrea Grazioso (agr-odoo) authored
      
      Duplicate the default Account Payable (211000)
      Set the default Account Payable to Deprecated
      Create a Vendor Bill with a line
      Save
      
      Error will raise
      The account Account Payable (211000) is deprecated.
      
      opw-3199157
      opw-3229350
      
      closes odoo/odoo#120710
      
      X-original-commit: 4305ea5a
      Signed-off-by: default avatarBrice Bartoletti (bib) <bib@odoo.com>
      b9f374f8
    • Jinjiu Liu's avatar
      [FIX] web_editor: deleting copied table causing a false error traceback · 77f2c589
      Jinjiu Liu authored
      
      Reproduction:
      1. Open LibreOffice Calc (linux), create an empty xls file
      2. In LibreOffice, input random things as a 4 (rows) by 2 (columns)
      table
      3. Create a new note in Odoo, copy the table to it
      4. Hold Shift and click the place right before the first cell (out of
      the table but still in the editable area)
      5. Delete the selected table, a trace back popped up
      
      Fix: add an extra condition to make sure parentFragmentTr is not null
      before unpacking it
      
      Note: as you probably noticed, the cleared table does not retain the
      original dimensions, e.g. it turns to a 2-row, 4-column table. This is a
      deeper issue of how we restore the table, and another task will be
      created for this. This PR is a first-aid patch to solve the error
      message as it confuses the client a lot
      
      opw-3255144
      
      closes odoo/odoo#119674
      
      Signed-off-by: default avatarDavid Monjoie (dmo) <dmo@odoo.com>
      77f2c589
    • Khushi Vakil's avatar
      [FIX] mrp_subcontracting: change resupply subcontractor source location · 13f078e4
      Khushi Vakil authored
      
      In this commit the resupply subcontractor source location is changed from
      virtual production to WH/stock
      
      Task id: 3263796
      
      closes odoo/odoo#118316
      
      Signed-off-by: default avatarTiffany Chang <tic@odoo.com>
      13f078e4
    • yhu-odoo's avatar
      [FIX] mrp: duplicate lot when auto-generate serial · 697399be
      yhu-odoo authored
      
      Previous commit 1b840d06 tried to fix
      the issue action_generate_serial may try to generate a existing lot.
      But it made the lot number completely product specific. This change is
      too big for stable, we revert the change in this commit.
      
      Also to fix the issue, when action_generate_serial tries to generate a
      lot, we always try the result from ir.sequence frist, only when the lot
      already exists, we then try create one based on the product's lastest
      lot number.
      
      Task-3187003
      
      closes odoo/odoo#120581
      
      Signed-off-by: default avatarArnold Moyaux (arm) <arm@odoo.com>
      697399be
    • Roy Le's avatar
      [CLA] Viindoo updates Odoo's CLA · 1c10ab5c
      Roy Le authored
      
      closes odoo/odoo#120583
      
      X-original-commit: 8aefb386
      Signed-off-by: default avatarMartin Trigaux (mat) <mat@odoo.com>
      1c10ab5c
    • flvr-odoo's avatar
      [FIX] hr_expense: prevent linking of expense with no perm · 1d83f202
      flvr-odoo authored
      
      Previously, a user could link his own expenses to a expense sheet
      of someone else.
      
      This would not be allowed upon creation but was allowed when updating
      the values of the expense.
      
      This commit add a simple check at the beginning of the write()
      
      closes odoo/odoo#120592
      
      X-original-commit: 7bcd64c5
      Signed-off-by: default avatarVranckx Florian (flvr) <flvr@odoo.com>
      1d83f202
    • Kamlesh Pathekar's avatar
      [FIX] website_sale: fix the disappearing attribute filter · 28bb2cc7
      Kamlesh Pathekar authored
      
      Steps:
      - In eCommerce activate Filter by prices and Attributes & variants filters
      - select one attribute with >1 item (e.g. aluminum legs)
      - put a price limit.
      - the attribute filter is removed.
      
      The commit will prevent the removal of the 'variants attribute filter'
      when an attempt is made to apply a price range.
      
      task-3101343
      
      closes odoo/odoo#111478
      
      Signed-off-by: default avatarVictor Feyens (vfe) <vfe@odoo.com>
      28bb2cc7
Loading