Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0] [IMP] Resource: allow plan_days over 100 days #101

Draft
wants to merge 37 commits into
base: 16.0
Choose a base branch
from

Conversation

ThomasBinsfeld
Copy link
Member

No description provided.

Megaaaaaa and others added 30 commits December 17, 2024 09:03
Description of the issue this commit addresses:

Due to the covid's economical impact, Luxembourg's government decided to apply
a 1% diminished rate to some taxes to help companies recover from the crisis.
Now that this period is over, those rates aren't right anymore and should be
brought back to their original value in the OSS mapping.

Desired behavior after this commit is merged:

Rates that had been diminished by 1% are back to their original value.
16% -> 17%
7% -> 8%

task-4369658

closes odoo#189444

Related: odoo/enterprise#75650
Signed-off-by: Wala Gauthier (gawa) <[email protected]>
When the user tries to reset the password, a traceback will appear.

Steps to reproduce the error:
- Install "auth_signup"
- Configure "Outgoing mail server"
- Now Log out
- Click on Sign in > Reset Password > Enter your email >
  Click on "Reset Password" twice

Error: A traceback appears:
"InFailedSqlTransaction
current transaction is aborted, commands ignored until end of transaction block"

After this commit, user can not click on "Reset Password" button multiple times.

sentry-5661309399

closes odoo#184862

Signed-off-by: Florian Vranckx (flvr) <[email protected]>
As creating/obtaining a registry does not set the `dbname` context variable on the current thread,
it must be set manually for the standalone tests to run correctly.

closes odoo#190330

Signed-off-by: Florian Vranckx (flvr) <[email protected]>
Steps to reproduce:

- Insert a pivot in a spreadsheet (e.g. CRM Lead)
- Create a global filter, set a value on it (filter on CRM Stages -> Select new)
- Open the pivot side panel, update something (move up a dimension)
- Save
=> The domain does not take the global filter into account

closes odoo#190781

Task: 4398645
Signed-off-by: Rémi Rahir (rar) <[email protected]>
Before this commit:
When user created Sales Credit Note, and
send it for E-waybill. On the portal, it
shows as a Supple Type as `Inward` instead
of `Outward`.

In this commit:
We fix the above issue.

opw-4402929

closes odoo#190805

Signed-off-by: Josse Colpaert (jco) <[email protected]>
Steps to reproduce:

- Insert a list in a spreadsheet (e.g. CRM Lead)
- Create a global filter, set a value on it (filter on CRM Stages -> Select new)
- Open the list side panel, update the domain (add Marc Demo as Salesperson)
- Save
=> The domain does not take the global filter into account

Task:4398467

closes odoo#190782

Signed-off-by: Rémi Rahir (rar) <[email protected]>
Issue:
When the product "Service on Timesheet" is linked to company A, archiving products in any other company causes an error to occur.

Steps to reproduce:
- Install both Sales & Timesheets modules
- Create a second company
- On the product form, link the "Service on Timesheet" product to the second company
- Archive a product from the first company

Cause:
The "Service on Timesheet" product is necessary for the Timesheets app to work.
Having linked it to one company restricts its access to others.

Solution:
While this is expected behaviour, I suggest blocking the user from linking the product to a company to prevent similar issues.
I propose doing so since archiving and deletion are already blocked.
This change still allows unlinking from the company through the UI.

Ticket:
4270086

closes odoo#188251

Signed-off-by: Xavier Bol (xbo) <[email protected]>
The aim of this commit is updating the COA and the account
groups for the new legislation in France.

task-4040854

closes odoo#190065

Related: odoo/enterprise#75373
Signed-off-by: Wala Gauthier (gawa) <[email protected]>
Steps to reproduce:

- In Settings, enable "Multi-Step Routes"
- In the Routes, unarchive "Replenish on Order (MTO)"
- Create a storable product P with routes: MTO, Buy and a set vendor
- Create and confirm a sale order with one line:
    - 2 x product P
> A delivery has been created.
- Cancel the SO, set it back to quotation and confirm it once more.
> The first delivery has been cancelled and a new one has been created
- Decrease the quantity of the SOL from 2 to 1 and save
> Issue: The delivery from stock to customer was not updated but an
> incoming picking was created from customer to stock.

Cause of the Issue:

When confirming the SO, `_run_pull` will be called and will create an
outgoing move SM01 based on our rule. Initially and because of the rule
used for its creation, the `procure_method` of this move is
`make_to_order`. However, once the SO is cancelled, this move
`procure_method` will be updated to be `make_to_stock`:
https://github.com/odoo/odoo/blob/ef161136fe2034752c2cc923cb892e933b78d4c0/addons/stock/models/stock_move.py#L1794-L1798
Once the SO is reset to draft and confirmed once more, a new outgoing
move SM02 will be created by the `_run_pull` using the same rule as SM01
Then, when the quantity of the SOL is decreased from 2 to 1, a negative
outgoing move SM03 will be created by the `_run_pull` and is expected
to be absorbed by SM02 during the `_merge_move` of its `action_confirm`:
https://github.com/odoo/odoo/blob/ef161136fe2034752c2cc923cb892e933b78d4c0/addons/stock/models/stock_move.py#L1397

However, the merging process will fail since:

While the `procure_method` is a valid comparaison key for negative
moves, it is a tricky field to use as the `procure_method` present on
the move we want to merge with might not correspond to the
`procure_method` set by our rule (`make_to_order` for SM03). The purpose
of these lines is therefore to update the `procure_method` of negative
moves to match valid merging candidates:
https://github.com/odoo/odoo/blob/ef161136fe2034752c2cc923cb892e933b78d4c0/addons/stock/models/stock_rule.py#L260-L269
However, SM01 is not a valid merging candidtes as it was cancelled
and its `procure_method` has changed during its cancellation so that
it will wrongly update the `procure_method` of SM03 to `make_to_stock`:
https://github.com/odoo/odoo/blob/ef161136fe2034752c2cc923cb892e933b78d4c0/addons/stock/models/stock_rule.py#L267-L268
and will therefore not match its only valid merging candidate: SM02.

opw-4368599

closes odoo#190824

Signed-off-by: William Henrotin (whe) <[email protected]>
…axes:

Previously, settling a sale.order from the POS of a Belgian company
would auto check the invoice option before paying.

Steps to reproduce:
-------------------
* Install `l10n_be_pos_cert`
* Switch to the Beligian company
* Crete a quotation in **Sale** app
* Add any partner and any product, remove all taxes for the product line
* Save
* Open pos shop
* Settle the order
* Go to the payment screen
> Observation: The invoice button is already selected.

Why the fix:
------------
This invoice option was auto selected since this commit: c760fbb

The following commit 3a5e222
updates the previous one as the invoice enforcement is only needed when we have
intracom taxes on the SO. Thus when no intracom taxes apply we can still
decide wether or not to invoice. We fallback on the default behavior which
is to have the invoice button un-selected.

opw-4334095

closes odoo#188400

Signed-off-by: Joseph Caburnay (jcb) <[email protected]>
*: mass_mailing

Users with website_designer permissions but without access to the email
marketing app (mass_mailing.group_mass_mailing_user) encountered an
access error when editing pages with "Newsletter" blocks.

This commit fixes the issue by granting read-only access to the
mailing.list model for the website_designer group. This ensures they can
edit pages containing "Newsletter" blocks without exposing full email
marketing functionality or compromising security.

Steps to reproduce:

- Install the website and mass_mailing modules.
- Remove the "Email Marketing: User" access rights from a user in
  Settings > Users.
- Open the Website Editor.
- Add a "Newsletter" block to a page.
- Observe: An access error is triggered.

opw-4201455

closes odoo#190188

Signed-off-by: Quentin Smetz (qsm) <[email protected]>
A stock valuation issue occurs when a landed cost is present in a bill
lines of a purchase order (without the `stock.landed_cost` created)
and the receipt note is validated after confirming the bill.

Steps to reproduce:
- Create a product with automated inventory valuation and AVCO.
- On the purchase tab, set the control policy to “on ordered quantity”.
- Create a purchase order with this product:
  * Quantity: 1
  * Unit cost: $10
- Validate the PO.
- Create a bill and add a landed cost line:
  * Quantity: 1
  * Cost: $25
- Validate the bill.
- Validate the receipt note.
- Check the valuation:
  * The unit value will be incorrect, calculated as $17.5
    ((10 + 25) / 2).

This issue is caused by commit
odoo@5d06785.

The solution is to include only landed cost lines from bills
where the `stock.landed.cost` is created and validated.

opw-4384070

closes odoo#190815

Signed-off-by: William Henrotin (whe) <[email protected]>
Commit [1] broke the tooltip about domain configuration on the website
switcher. They just did not appear ever anymore.

At the same time, it moved a translatable term from XML to JS, which
apparently works without losing translations... but it also changed the
actual term by removing the "." at the end, losing the translations.
This commit also restore that ".", making existing translations work
again automatically, and it also patches the ".pot" to notify about the
translatable term move.

[1]: odoo@dbd2f89

closes odoo#190877

Related: odoo/design-themes#1030
Signed-off-by: Quentin Smetz (qsm) <[email protected]>
In odoo#113577 this view was added in the wrong module.

Not only people using `l10n_it_edi` need to debug this information, but also those using EDI for other countries.

Leaving empty view in `l10n_it_edi` for backwards compatibility.

@moduon MT-8204 OPW-4362382

closes odoo#189673

Signed-off-by: Antoine Dupuis (andu) <[email protected]>
Previously, the space between a field with the avatar widget and the
field underneath changed depending on whether a user is set or not which
creates a small flicker.

After this commit there will be no flicker when a user is set on an
avatar field.

Steps to reproduce:
- Install Project app
- With the vertical dots button, open a project's settings (form view)
- Set/Unset the "Project Manager"
=> a small vertical flicker with the underneath field
- Open one of the project's tasks
- Eventually, add a field under "Assignees" if none is present
- Set/Unset the "Assignees"
=> a small vertical flicker with the underneath field

task-3996557

closes odoo#186383

Signed-off-by: Pierre Paridans (app) <[email protected]>
Currently, when using pricelists, if you change the price of a product inside
the session, it will show a discount value on the receipt.

Steps to reproduce:
-------------------
* Activate advanced pricelist
* Modify the shop's default pricelist
  * Discount policy: Show public price & discounts
  * Add a rule: 10% discount on all products with min qty of 10
* Open shop session
* Add any product qty 1
* Manually change price to a higher amount
* Pay the order
> Observation: On the receipt we can see a negative discount value.

Why the fix:
------------
Changing the price of a product through the price button in the session
should never be considered as a discount. Lines for which the product price
was manually set should not be counted toward overall discount (positive or
negative).

opw-4366651

closes odoo#190785

Signed-off-by: Adrien Guilliams (adgu) <[email protected]>
Currently, a connection error shows when the ReadTimeout error occurs
when calling the JSON-RPC endpoint in IAP.

This commit will show users a timeout error when a "ReadTimeout" error
is found in the JSON response in the RPC call.

sentry-6059323528

closes odoo#190841

Signed-off-by: Louis Baudoux (lba) <[email protected]>
To allow compatibility between all db versions and new IoT Box images, we need
to ensure that `path_file` method returns the path starting from `/home/pi`
instead of the path of the service user (which is `/home/odoo` in newer images).

closes odoo#190963

Signed-off-by: Yaroslav Soroko (yaso) <[email protected]>
We have a constraint enforcing the presence of a zip code on both
the sender and the receiver of the invoice but we can't trace the
origin of this constraint. It seems to not exists anymore in the doc
or the schematrons. We therefore remove it as it cause unnecessary
frictions when invoicing.

task-no (feedback from our prod + tsb)

closes odoo#191129

Signed-off-by: Laurent Smet (las) <[email protected]>
This commit allows dropping an "inner content" block near an image link.

- Go to the homepage in edit mode.
- Drag and drop a "text-image" block onto the page.
- Drag and drop a "badge" (or any other "inner content" block) under the
image. This is possible, and it's the intended behavior.
- Click on the image and add a link to it.
- Bug: Try dragging and dropping a "badge" under the image again, it is
no longer possible.

opw-4273436

Part-of: odoo#190732
Signed-off-by: Quentin Smetz (qsm) <[email protected]>
This commit prevents dropping a building block into an image field.

There is no known case in V16.0 where the issue can be reproduced, but
it must still be fixed in V16.0 because it should not be possible
anyway.

For example, in V16.0, if an image field had a div as a parent, adding
the "row" class to the parent of that div would allow dropping blocks
into the image field. This was because the selector defining where an
image could be dropped is ".row > div:not(.o_grid_item_image) > img" in
V16.0.

However, in V17.0, since this commit [1], the selector was changed, and
the ".row >" part was removed, which caused the bug to appear.

Steps to reproduce from V17.0:

- Go to the "/shop" page.
- Click on one of the products to go to its product page.
- Enter edit mode.
- Bug: It is possible to drop any "inner content" block into the
"product" image field.

[1]: odoo@507b80a

opw-4273436

closes odoo#190732

Signed-off-by: Quentin Smetz (qsm) <[email protected]>
### Contains the following commits:

odoo/o-spreadsheet@9d0e3350b [REL] 16.0.56 Task: 0
odoo/o-spreadsheet@5f0a950b2 [FIX] sheet view: DELETE_SHEET in initial revisions Task: 4405573
odoo/o-spreadsheet@38c2a08d2 [FIX] cell: keep non-breaking spaces Task: 4403607
odoo/o-spreadsheet@f535004d4 [FIX] figure: crash on deleting dragged figure Task: 4329240
odoo/o-spreadsheet@a70d1c065 [FIX] composer: topbar composer z-index Task: 4246966
odoo/o-spreadsheet@32459cb66 [FIX] config: Update task url Task: 0

closes odoo#191104

Related: odoo/enterprise#75874
Signed-off-by: Rémi Rahir (rar) <[email protected]>
Co-authored-by: Anthony Hendrickx (anhe) <[email protected]>
Co-authored-by: Alexis Lacroix (laa) <[email protected]>
Co-authored-by: Lucas Lefèvre (lul) <[email protected]>
Co-authored-by: Dhrutik Patel (dhrp) <[email protected]>
Co-authored-by: Adrien Minne (adrm) <[email protected]>
Co-authored-by: Mehdi Rachico (mera) <[email protected]>
Co-authored-by: Rémi Rahir (rar) <[email protected]>
Co-authored-by: Pierre Rousseau (pro) <[email protected]>
Co-authored-by: Vincent Schippefilt (vsc) <[email protected]>
Steps to reproduce:
- Install "l10n_ch" and switch to "CH company"
- Create a new invoice with a swiss partner and confirm
- Click "Send & Print" and select "Send by Post", confirm
- Go in Setting > technical > Email > Snailmail Letters and find your invoice
- Download the PDF document
- The QR code and several other information are missing

Cause:
The snailmail module is setting specific paper format (base.paperformat_euro) when generating the PDF.
https://github.com/odoo/odoo/blob/16.0/addons/snailmail/models/ir_actions_report.py#L20-L22
But the Swiss reports have their own formats to display the QR code correctly. So the generated PDF have its QR code on another page that is lost when merging the PDF for the header and the one with the QR code.

Solution:
Force the paperformat for the two "IrActionReports" responsible for the page with the Qr-code.

opw-4399150

closes odoo#190881

Signed-off-by: de Wouters de Bouchout Jean-Benoît (jbw) <[email protected]>
Issue:

Certain carrier's API processes validity checks and parcels generation
one picking at a time so that on our end we are forced to send requests
one at a time at the end of the the `_action_done`:
https://github.com/odoo/odoo/blob/e4f68fc6eb2a666a07b6627b9dc0ec575b79d1e3/addons/stock/models/stock_picking.py#L918
https://github.com/odoo/odoo/blob/e4f68fc6eb2a666a07b6627b9dc0ec575b79d1e3/addons/delivery/models/stock_picking.py#L192-L196
However, since a UserError of any of the picking will cause a rollback
of the entire batch on Odoo's side, pikcings might end up being
processed on the carrier side but non validated on Odoo's side during
batch validation.

Steps to reproduce:

- Configure sendcloud shipping method + website + payment providers
- In your sendcloud configuration select sendcloud shipping product to
  not be able to handle products with a weight exceeding 10 kg e.g;
  bpost @home (0-10kg).
- Create 2 storable products with respective weigth 1 and 100 kg.
- Publish them on the website for sale.
- Open a private window, make an order via the website for the 1kg
  product by filling your cart and use sendcloud as carrier.
- Repeat the operation with the other product to generate a seconde SO.
- Back to your main window > Inventory Overview > Delivery Orders
- Select both deliveries > Action > Validate (in batch)

> While the first delivery order was processed on carrier side
> (can be checked on sendcloud's website)
> the UserError of the second DO rollbacked its validation in Odoo.

Fix:

As such, and since the carrier requests needs to happen after we have
validated the pickings in Odoo, we should avoid any rollback of the
transaction once any requests has already been successfully treated on
the carrier side.

Note:

It is not possible restructure the code to use `senf.env.cr.savepoint`
in a loop in order to reset the validation of pickings that are not
valid on the carrier side because savepoints can't be used more than 64
times before the server crashes and hence can't be used in record loops.

opw-4357325

closes odoo#190320

Related: odoo/enterprise#75502
Signed-off-by: William Henrotin (whe) <[email protected]>
…chat

Currently a 'ParseError' is arising when user installs the 'website_livechat'
module after deleting the 'YourWebsite.com' channel from 'im_livechat' module.

To reproduce this error:
- Install 'im_livechat' module.
- Open the application and  delete 'YourWebsite.com' channel by going to
'Configure Channel'
- Now try to install the 'website_livechat' module.
- The error appears in the log.

Error: `ParseError
while parsing /home/odoo/src/odoo/18.0/addons/website_livechat/data/
website_livechat_data.xml:4, somewhere inside
<record id="website.default_website" model="website">
           <field name="channel_id" ref="im_livechat.im_livechat_channel_data"/>
       </record>`

This commit solves the above issue by using 'forcecreate=False' to bypass
record creation if it violates checks.

sentry-6107471185

closes odoo#189566

Signed-off-by: Ayushmaan Verma (ayve) <[email protected]>
This fixes the simple, yet very common case where:
- You are creating an expense for one of your employee
- The partner of said employee has its field `parent_id` set
  to be your own company
- The expense move commercial_partner_id would then always be yourself
- You never pay your employees, only yourself
- ???
- Jail

closes odoo#187778

Task-id: 4345465
Signed-off-by: de Wouters de Bouchout Jean-Benoît (jbw) <[email protected]>
Authentication data was accidentally logged when sending requests to the
Authorize API. This change stops logging such data to avoid security breaches.

opw-4311870

closes odoo#191219

Signed-off-by: Antoine Vandevenne (anv) <[email protected]>
Issue:

When printing a Purchase Order or Quotation in a company using the Indonesian tax chart, a tax code (Indonesian tax description) appears instead of the tax percentage.
This behaviour shows up in 16+

Steps to Reproduce:

1- Ensure the company uses the Indonesian chart of accounts.
	- Install the l10n_id module.
	- Go to Settings > Taxes and set the Fiscal Country to Indonesia.
2- Navigate to Purchase and create a Purchase Order.
3- Add a product line and select an Indonesian tax (ex: 11%).
4- Print the Purchase Order.

The printed Purchase Order displays the tax code (description) instead of the tax percentage. The same behavior occurs in the Sales module regarding quotation printing.

The PO (chkl) suggested that changing only the description field to achieve the desired results might be a good idea

opw-4333143

closes odoo#187703

Signed-off-by: Habib Ayob (ayh) <[email protected]>
Users may give gift cards to their customers. Acting like a payment
method, gift cards will lower the total amount of a sale order up to 0.
Currently, in case of fixed tax applied in the order, the tax amount
cannot be covered with the card balance

Steps to reproduce
- Generate a Gift Card of 100$
- Create a Sale Order with a product having:
  - price: 90$
  - quantity: 1
  - A fixed tax of 10$
- Add the gift card to the order

Issue: Fixed tax amount will be left uncovered.
This is an issue because when using the gift card (or anyhow having the total 0),
it means the fixed tax cost is supported by the merchant so it should be
covered by the gift card

opw-4422678

closes odoo#191321

Signed-off-by: Morgane Demesmaeker <[email protected]>
…allow extension

Related to OCA/account-reconcile#761

TT51885

closes odoo#188808

Signed-off-by: Thomas Becquevort (thbe) <[email protected]>
seifgneedy and others added 7 commits December 20, 2024 17:04
…d entry

For an expense report paid by an employee, the bank account set on the employee form should be used to create the Journal Entry and as a default bank account in Register Payment Wizard.

task-4379148

closes odoo#189967

Signed-off-by: de Wouters de Bouchout Jean-Benoît (jbw) <[email protected]>
This commit uses the `inset-inline-start` CSS property instead of `left`
to account for RTL languages.

closes odoo#191342

Signed-off-by: Robin Lejeune (role) <[email protected]>
The domain for inverses is not always correct and may crash for computed
fields.

task-4380712

closes odoo#191319

Related: odoo/enterprise#75965
Signed-off-by: Rémy Voet (ryv) <[email protected]>
Before this commit, the `product.template` constrains
`_check_sale_product_company` didn't work if the recordset contains
products from different companies, causing a traceback.

How to reproduce:
- Create multiple products at once in different companies. For example,
  in the shell of a newly created DB:
        - company_b, company_a = self.env["res.company"].search([])
        - products = self.env["product.product"].create([
                {'name': "prod1", 'company_id': company_a.id},
                {'name': "prod2", 'company_id': company_b.id}])
-> Traceback.

To fix this issue, this commit groups products by their company in
`_check_sale_product_company`.

closes odoo#191522

Signed-off-by: Victor Feyens (vfe) <[email protected]>
This commit adds the parameter "sanitize_overridable=True" to the
"description" field of "website_slides" slides. It means that the
description can now be properly edited as an user with enough rights.

The issue is that the "slide.description" field is sanitized after
saving a "slide/*" page, which removes "<button>" elements. This is
not easily testable in version 16.0 because no blocks contain "<button>"
elements. However, starting from version 18.0, new blocks like the
"accordion" block include buttons, and these are removed after saving a
"slide/*" page when they are dropped into it.

opw-4273436

closes odoo#190620

Signed-off-by: Outagant Mehdi (mou) <[email protected]>
@ThomasBinsfeld ThomasBinsfeld force-pushed the 16.0-imp_resource_plan_days_over_100_tbi branch from 5cea24b to b919876 Compare January 27, 2025 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.