Commit Graph
167370 Commits
Author SHA1 Message Date
yhu-odoo 71f77ba67c [FIX] mrp: wrong consumption warning lines
To reproduce:
1. Create an MO of Product with BOM
2. Manually set qty for a component
3. Produce all

Issue:
Two consumtion warning lines are shown, and numbers are wrong

Part-of: odoo/odoo#140753
2023-11-07 17:57:16 +00:00
Pierre Rousseau e4b66668e0 [FIX] web: do not use command "set"
In a many2many_tags field with onchange and on a slow network, quickly
add or remove tags several times. Each call to update sends a command 6
(SET) based on the current state of the record (typically here,
the very initial state). For example, if there're 2 tags [1, 2] in the
relation and I add 3, a command 6 with ids [1, 2, 3] is sent. If I
quickly add 4 before the onchange returns, another command 6 with ids
[1, 2, 4] is sent. At the end, 3 would not have been added to the
relation.

With this commit, we don't use the command "set" anymore. Instead, we
use a combinaison of commands "link" and "unlink" to add and remove
records from the relation. This way, we don't need to know the current
state of the record, and we can be sure that the final state of the
relation is the one we expect.

Task-id 3522153

closes odoo/odoo#140644

Related: odoo/enterprise#49995
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-11-07 17:57:14 +00:00
Thomas Beckers 1c83d4f41b [FIX] l10n_it_stock_ddt: fix comparing date and datetime
Field 'date_done' is a datetime object and field 'invoice_date' is a date
object. They will be considered as different even if the 'date' part is
the same which is the opposite required to check if invoice is direct.

>>> ddt.date_done
datetime.datetime(2023, 7, 11, 10, 2, 56)
>>> invoice.invoice_date
datetime.date(2023, 7, 11)
>>> ddt.date_done != invoice.invoice_date
True

This fix casts 'date_done' into a date object before comparison.

>>> ddt.date_done.date() != invoice.invoice_date
False

opw-3571327

closes odoo/odoo#140538

X-original-commit: 87a6f398e2047b4739e27be28e75399c2ddd717f
Signed-off-by: John Laterre (jol) <jol@odoo.com>
2023-11-07 17:57:13 +00:00
Rémi Rahir (rar) 542b3b97ed [IMP] spreadsheet*: Add a print mode for spreadsheets
The current spreadsheet layout is not adapted to print the document as
the spreadsheet component is designed to only be rendered in the visible
part of the client viewport, the invisible parts of the spreadsheet are
not rendered.

This revision adds the possibility to render the whole spreadsheet when
the user wants to print the document (either via a top menu button or
with the generic shortcut Ctrl+P).

closes odoo/odoo#140281

Task: 3575484
Related: odoo/enterprise#49829
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2023-11-07 17:57:11 +00:00
Guillaume-gdi b7d5d2686a [IMP] website: reduce padding of the website loader
This commit reduces the padding of the website loader to prevent too
much line breaks of the text.

task-3557675

closes odoo/odoo#138921

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-11-07 17:57:09 +00:00
Guillaume-gdi ebd09603c1 [IMP] website: add a fake loader during website install
This commit adds a fake loader during website install. [Another commit]
already added a loader during extra module install. The goal here is to
have a loader even if there is no extra module to install. This should
make the user think the install is faster and prevent him from leaving.

This commits also improves the loader when there are extra modules to
install. We split the loader in two parts: one for the modules install
(70%) and another for the rest of the install (30%).

Note that to test this feature properly, you need to be in a multiple
workers environment.

[Another commit]: https://github.com/odoo/odoo/commit/ab6564be94533a64a0a942202f0860423ec7dc4d

task-3557675

Part-of: odoo/odoo#138921
2023-11-07 17:57:09 +00:00
Tiffany Chang (tic) ee2fe22db8 [FIX] stock: optimize _search_product_qty
The existing `_search_product_qty` was not scaleable for dbs with many
lots, therefore we optimize it to be more clever.

Also add in the missing operator/value checks.

closes odoo/odoo#126795

Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2023-11-07 17:57:07 +00:00
kir-odoo 03b6d593ea [IMP] stock_account: add new menu inventory aging
- Add a new menu called Inventory aging.

- The purpose of inventory aging is that users can track the quantity and time
  spent on inventory.

- When accessing the `Inventory Aging` menu, users will be directed to the same
  model found in the valuation menu.
  However,the `Inventory Ageing` menu presents an open default pivot view
  with predefined filters that facilitate the visualization of inventory aging based on quantity.

Task: 3207613
Part-of: odoo/odoo#126795
2023-11-07 17:57:07 +00:00
Christophe Monniez 252becef19 [FIX] base: 3.11 compatibility
Complement of the previous complement e2752a04ff (#137099)

Those opcodes were added in Python 3.11 and we missed them.

Fixes #140588

closes odoo/odoo#141015

Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2023-11-07 15:12:48 +00:00
Benoit Socias 2b2122a3c6 [FIX] website: make generated templates noupdate
Since [1] when the generation of missing configurator templates and new
page templates was introduced, `_load_xmlid` was called for every
generated record so that `_process_end` does not delete them after a
module update.
Unfortunately, this trick does not work when using the "Upgrade" command
on the Website app in the Apps view. (or calling
```py
env['ir.module.module'].search([
    ('name', '=', 'website')
]).button_immediate_upgrade()`
```
from the shell): in that case, the `self.pool` onto which the xmlids
were registered was a different instance from the one accessed by
`_process_end`.

This commit avoids this problem by making the generated templates
`noupdate: True`, thus preventing `_process_end` from deleting them.

Steps to reproduce:
- Install website with -i
- Go to Apps, search Website, upgrade Website
=> In the logs you can see that some templates are deleted at the end of
   the upgrade
- Website configurator: a business website, furniture store, get leads,
  choose a palette, about us + services + pricing + privacy policy,
  choose the center template (loftspace)
=> You see some crash in the logs

[1]: https://github.com/odoo/odoo/commit/a2f8e18b76e52e1a349b77691d0af18edc09a1be

closes odoo/odoo#140986

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-11-07 15:12:47 +00:00
prye-odoo 04e5eff325 [FIX] point_of_sale: prevent traceback while uninstalling module
When users try to uninstall the "point_of_sale", a traceback will be generated.

Error:   TypeError: uninstall_hook() missing 1 required positional argument: 'registry'

This is because the https://github.com/odoo/odoo/pull/138189 added the
unistallhook from 16, but in the forword port of this PR, it did not change
the argument list according to the new unistall hook from saas-16.2.

This commit fixes the above issue by passing a valid argument
in the unistill hook.

code reference:
https://github.com/odoo/odoo/blob/saas-16.2/addons/point_of_sale/__init__.py#L11

sentry-4586084597

closes odoo/odoo#140591

X-original-commit: 9eda662a89943f3c6725e223bf30238ef8e661f2
Signed-off-by: Vlad Stroia (vlst) <vlst@odoo.com>
Signed-off-by: Pradip Yenpure (prye) <prye@odoo.com>
2023-11-07 11:21:56 +00:00
Jeremy Kersten 495a5090a5 [IMP] website_sale: don't try to support url manipulation
In case user tries to play with url/input to change the partner_id the
code handle the case and pop the wrong value.

Instead, raise an explicit error message.

closes odoo/odoo#140266

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-11-07 11:21:55 +00:00
svs-odoo 3bcfd6a4e5 [FIX] product: colored background in catalog
Before odoo/odoo#135502, the background of a record was colored if it
has some quantities or if it is read only, but this detail was lost.
This commit fixes that.

closes odoo/odoo#140255

Related: odoo/enterprise#49808
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-11-07 11:21:53 +00:00
Julien Castiaux fb2e401359 [FIX] survey: next question is not iterable
Open a live session for the burger quiz, join as an attendee. Everytime
the host reveal the next question, the attendees get a traceback.

```js
TypeError: ... is not Iterable
```

A recent commit 7109f48 changed the controllers of survey, they used to
`return self._prepare_question_html(...)`, most of them now
`return {...}, self._prepare_question_html(...)`, with the notable
exception of the `survey_next_question` controller which continues on
returning only the `_prepare_question_html(...)`.

JS-side, the `self._prepare_question_html(...)` payload is retrieved via
`const [,result] = await nextScreenPromise;`, i.e. it excepts an array
of 2 elements and retrieve the second one.

As the other survey controllers have been modified inside 7109f48,  the
`survey_next_question` should be updated too but was forgotten. Returns
an empty dict for the correct answers and the next page html.

Task-3374998

closes odoo/odoo#139204

Reference-to: 7109f48 ([IMP] survey: add scoring after each page)
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2023-11-07 11:21:50 +00:00
Julien CastiauxandPierre Pulinckx 36882a45c7 [FIX] survey: missing vote count on top of bars
Start the a live session, I used Burger Quizz, answer a question. On the
manager side, the current vote count for each choice should be visible
on top of each bar in the chart. That vote count is missing.

During the migration of chartjs from v2 to v4, the datalabel plugin was
updated from v0.7 to v2.2 in the same time. Using the new version of the
datalabel plugin, the plugin is not automatically loaded anymore, one
must explicitely loads it.

We also removed the datalabel plugin from the bundle to load it
explicitelly instead. The JS framework finds it cleaner this way.

Task-3537480

Reference-to: 7e3c1ecdb8 ([REF] *: Update Chart.js to V4.3)
Part-of: odoo/odoo#139204
Co-authored-by: Pierre Pulinckx <pipu@odoo.com>
2023-11-07 11:21:50 +00:00
Mayurrajsinh Rathod 8f77a30cc5 [FIX] web: fix dialog overlap on fullscreen
Steps to reproduce
==================
1. Open marketing automation and select any campaign.
2. Click 'edit' on activity or click 'add new activity'.
3. Select existing mail template and open it to edit the template.
4. Select template on mail body page and click fullscreen from snippet.
The activity modal dialog appear at top of everything.

Technical
=========
In prior version, the 'owl_dialog.js' file includes a 'display' function that
applies the 'o_inactive_modal' class to the inactive dialog, adjusting its
z-index. However in master, the commit https://github.com/odoo/odoo/commit/036307ba260ef1a08e80a14f7cffe1ef9a24021c removes the'owl_dialog.js'
file, resulting in the class no longer being applied.

After this commit
=================
The 'o_inactive_modal' class is applied based on the state 'data' to
position the dialog below the fullscreen editor.

Task-3512850

closes odoo/odoo#139165

Signed-off-by: Jérémy Hennecart (jeh) <jeh@odoo.com>
2023-11-07 11:21:49 +00:00
Odoo's Mergebot 6a0888175d [MERGE][FIX][IMP] mail: display activities without record access in the systray
When scheduling plans on employees, activities may be assigned to people who
don't have access to the record. It was managed locally in HR through a dummy
model aggregating activities. However, it was removed and we replace it here by
a generic solution that adds an entry in the systray: "Other activities". When
clicking on that entry, it displays a list view of the activities assigned to
the user for which he has no access to the related record. Those activities
were not visible to the user before.

Technical note: to allow displaying such records, we have modified the custom
acl defined in python to allow users to read activities assigned to them even
if they don't have access to the related record.

[IMP] mail: allow to mark as done activity without record access

When scheduling plans on employees, activities may be assigned to people who
don't have access to the record, but they still need to mark them as done. And
as marking as done (action_done on mail_activity) triggers a message post on
the related record, that action cannot be executed by a user without access to
the record.

We change that here to allow user having delete/archive right on the activity,
to be able as well to mark it as done (as the activity is archived/deleted at
the end of the method _action_done, the user must at least have the right to do
that to be able to mark as done the activity).

[IMP] mail: add custom view for "other activities"

When clicking on "Other activities" in the systray, a list of activities
assigned to the user for which he has no access to underlying record is
displayed. The default list allows to delete, archive, duplicate, ...
activities but what we want is a readonly view. We add here a new view that
doesn't allow any modification on the activities by removing those actions.
Unfortunately, archive and unarchive action is not controllable with an
attribute (nor by setting the active field as readonly in the view), so we
create a very simple extension of the list view to disable it.

We also add in the list view a button to mark an activity as done and a simple
form view to see the details of the activity (note, ...). The "mark as done is
not added in the form view as the activity is deleted causing an error because
the form is still displayed and the record is gone.

Note that those action are only removed from the client but the actions are
not forbidden on the server side.

[IMP] mail: limit performance impact of the systray

To limit performance impact of the systray, we fetch by default only the last
1000 activities. That value can be configured with mail.activity.systray.limit
config parameter. Note that this can also improve a bit the readability of the
other activities view (for the standard activity view a pager is already
present).

[IMP] mail: add fallback for not deployed action/view

To avoid crash on possibly not deployed action and related views
(mail.mail_activity_without_access_action), we temporary add a fallback on
existing action and views.

Task-3562098

closes odoo/odoo#139917

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-11-07 09:19:03 +00:00
Pierre-Yves Dufays 5415953b21 [IMP] mail: add fallback for not deployed action/view
To avoid crash on possibly not deployed action and related views
(mail.mail_activity_without_access_action), we temporary add a fallback on
existing action and views.

Task-3562098

Part-of: odoo/odoo#139917
2023-11-07 09:19:03 +00:00
Pierre-Yves Dufays bbc1b5c0a6 [IMP] mail: limit performance impact of the systray
To limit performance impact of the systray, we fetch by default only the last
1000 activities. That value can be configured with mail.activity.systray.limit
config parameter. Note that this can also improve a bit the readability of the
other activities view (for the standard activity view a pager is already
present).

Task-3562098

Part-of: odoo/odoo#139917
2023-11-07 09:19:03 +00:00
Pierre-Yves Dufays c5bd3f6b2f [IMP] mail: add custom view for "other activities"
When clicking on "Other activities" in the systray, a list of activities
assigned to the user for which he has no access to underlying record is
displayed. The default list allows to delete, archive, duplicate, ...
activities but what we want is a readonly view. We add here a new view that
doesn't allow any modification on the activities by removing those actions.
Unfortunately, archive and unarchive action is not controllable with an
attribute (nor by setting the active field as readonly in the view), so we
create a very simple extension of the list view to disable it.

We also add in the list view a button to mark an activity as done and a simple
form view to see the details of the activity (note, ...). The "mark as done is
not added in the form view as the activity is deleted causing an error because
the form is still displayed and the record is gone.

Note that those action are only removed from the client but the actions are
not forbidden on the server side.

Task-3562098

Part-of: odoo/odoo#139917
2023-11-07 09:19:03 +00:00
Pierre-Yves Dufays e918146670 [IMP] mail: allow to mark as done activity without record access
When scheduling plans on employees, activities may be assigned to people who
don't have access to the record, but they still need to mark them as done. And
as marking as done (action_done on mail_activity) triggers a message post on
the related record, that action cannot be executed by a user without access to
the record.

We change that here to allow user having delete/archive right on the activity,
to be able as well to mark it as done (as the activity is archived/deleted at
the end of the method _action_done, the user must at least have the right to do
that to be able to mark as done the activity).

Task-3562098

Part-of: odoo/odoo#139917
2023-11-07 09:19:03 +00:00
Pierre-Yves Dufays 54aaf3a0a5 [IMP] mail: display activities without record access in the systray
When scheduling plans on employees, activities may be assigned to people who
don't have access to the record. It was managed locally in HR through a dummy
model aggregating activities. However, it was removed and we replace it here by
a generic solution that adds an entry in the systray: "Other activities". When
clicking on that entry, it displays a list view of the activities assigned to
the user for which he has no access to the related record. Those activities
were not visible to the user before.

Technical note: to allow displaying such records, we have modified the custom
acl defined in python to allow users to read activities assigned to them even
if they don't have access to the related record.

Task-3562098

Part-of: odoo/odoo#139917
2023-11-07 09:19:02 +00:00
Ritika Rathore d5b40f0007 [FIX] hr_timesheet,project: fix visibility of fields in portal
Steps:
- Install project, timesheet & website
- Open project module
- Select any task
- Set Allocated Hours
- Go to the task corresponding project & disable the timesheet
- Then appear in portal form view

Issue:
- In portal form view of project's task the 'allocated time' and the 'progress' fields shouldn't be visible if the 'timesheets' feature is disabled on the project.

Cause:
- There is no any condition for allocated time  and progress field.

Fix:
- Added condition for both field in hr_timesheet & project respectively.

Task-3495253

closes odoo/odoo#141357

X-original-commit: 58040fed8b075b40cf6d2be73de53b600bf9f94d
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-11-07 08:01:01 +00:00
Pedram (PEBR) 18941ac6a7 [FIX] point_of_sale: load partners by email and mobile/phone number
Before this commit, partners that were not already loaded in the PoS
couldn't be retrieved using their phone number or email address. This
functionality is essential for customer recognition.

opw-3548843

closes odoo/odoo#140573

X-original-commit: 57eff2d338f96d80bf2332502a352601292109d1
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Robin Heinz (rhe) <rhe@odoo.com>
Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
2023-11-07 08:00:59 +00:00
Nshimiyimana Séna 5d5c3f2151 [FIX] l10n_latam_check, account_check_printing: ensure third party check number are numeric
Summary
-------
Currently, when `l10n_latam_check` is installed, third party checks'
number can be non-numeric.

Steps to reproduce
------------------
* install  `l10n_latam_check`, and `l10n_ar`
* switch to an Argentinean company
* create and validate an invoice
* register a payment for that invoice using:
  - Journal: Third Party Checks
  - Check Number: anything that's not a number

The payment is created without issue, but it shouldn't. This ends up
causing tracebacks elsewhere because we expect the check number to only
contain digits.

Cause
-----
The `l10n_latam_check` module overrides `_constrains_check_number`, to
disable it on third party checks. The goal is to allow third party check
numbers to be non-unique. However, the code that checks whether the
`check_number` value only contains digits is in the same method. This
means that by skipping the uniqueness check, the code also skips the
value check.

Fix
---
This commit splits `_constrains_check_number` into two methods (one for
checking the value, and the other for uniqueness), and modifies
`l10n_latam_check` to override the uniqueness check only.

opw-3464012

closes odoo/odoo#141371

X-original-commit: 3e7b1f014af9b34473fe6eba07bc051b38a74c72
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Séna Serge Nshimiyimana (sesn) <sesn@odoo.com>
2023-11-07 06:07:01 +00:00
TSO bc16aae6e2 [FIX] discuss: rely on streaming state flags instead of streams
Before this commit, we used to rely on duplicates of streams and the
presence of streams to know if a session was streaming.

This commit changes this and make it so that we now use streaming
activity flags instead.

This is a prerequisite for https://github.com/odoo/odoo/pull/132153 as,
similarly to webRTC "unified plan", the SFU keeps the same streams for
the whole lifespan of a connection.

closes odoo/odoo#140053

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-11-07 04:29:04 +00:00
Didier (did) f09d659a26 [FIX] mail: add missing threadService to mailCoreWeb
closes odoo/odoo#141207

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-11-06 20:52:29 +00:00
Brieuc-brd 70f853aab9 [IMP] web, mail: adapt "Add a Reaction/emoji" icon
Prior to this commit, "Add a Reaction/emoji" and "View Reactions"
buttons had the same icon, which was confusing.

This PR adapts the "Add a Reaction/emoji" icon to make it more
recognizable.

task-3577008

closes odoo/odoo#140481

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-11-06 20:52:28 +00:00
wangting 1af1d03265 [FIX] base: fix ir.act.server _compute_webhook_sample_payload
closes odoo/odoo#141114

Signed-off-by: Bouvy Damien (dbo) <dbo@odoo.com>
2023-11-06 19:32:06 +00:00
Lois Rilo 803ac33c5b [FIX] product: pricelist item variant group by filter to actually group by variant
the variant field is `product_id`.

closes odoo/odoo#141289

X-original-commit: fddbc658e3cbb80ab155d1423a3c1a8f536ce014
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-11-06 18:11:39 +00:00
Sven Fuehr ea6285b42d [FIX] account: "Total" in company currency on invoice analysis
Currently for the "Total" measure on the invoice analysis report
the values in the currency of the invoice are used.
This is a problem in multi-currency environments: Different
currencies are added together leading to nonsensical sums.

This commit converts the "Total" measure to company currency (at the
time of the invoice).
In multi-company case the "Total" measure is further converted to the currency
of the active company (using the day of the report creation for the
conversion rate).

The "Total" will also be displayed in company currency when viewing
the invoices in the list view of an entry in the table (by clicking on the entry).

task-3537868

closes odoo/odoo#141277

X-original-commit: 28004b7e92f22cf0f0078d4512f8a5f59c82122c
Signed-off-by: William André (wan) <wan@odoo.com>
2023-11-06 18:11:39 +00:00
Arnold Moyaux 9890fb7df7 [FIX] stock: add filter on quantity in stock
The on_hand filter is used from the product.product stat button.
It's dangerous to modify it because the quantity with the filter
would be different than the ones in the stat button.

closes odoo/odoo#141272

Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2023-11-06 18:11:38 +00:00
Arnold Moyaux a0b52ab6bd [FIX] stock: remove incorrect placeholder + default search
It's not possible to copy paste in the lot_name directly. It has been
remove since the import button.

Also add by default a search on hand in the quant view from the
stock.move.line. We don't want to show quant already send to customer
location or without quantity

Part-of: odoo/odoo#141272
2023-11-06 18:11:38 +00:00
Robin Lejeune (role) 7eda184589 [FIX] web_editor, website: allow links to unreachable pages
Since commit [1] removed `legacyRejectPromiseHandler()`, trying to edit
a link leading to an HTTP error triggers an "Uncaught Promise" error.
This commit makes sure such links do not cause a traceback: the link
popover is just less detailed (no title, favicon).

[1]: https://github.com/odoo/odoo/commit/fcb16a3b1bd373726ffb54f0fbe41fb6d1784769

task-3584686

closes odoo/odoo#141225

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-11-06 18:11:35 +00:00
Antoine Vandevenne (anv) df80bb297d [FIX] website_sale: compute the display name of new category records
task-3582238

closes odoo/odoo#141017

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-11-06 18:11:34 +00:00
mano-odoo fee70e64fc [FIX] website_sale: extra_info not editable
The extra_info template was no more editable due to a t-call for the 
CTAs in the template. To be able to add fields we need to remove the 
t-call and apply the buttons manually.

This is due to the checkout redesign:
a5899db8e12af29bd311db75473ce76bfa91d641

This commit applies the previous navigation buttons while adapting the
styling to the checkout redesign.

task-3582219

closes odoo/odoo#140985

Signed-off-by: Valentin Chevalier <vcr@odoo.com>
2023-11-06 18:11:33 +00:00
Anita (anko) 06523ff675 [IMP] payment(_*): activate default payment methods
When user enables or tests payment provider it will automatically
enable most used payment method in that provider.

closes odoo/odoo#140907

Signed-off-by: anko-odoo <anko@odoo.com>
2023-11-06 18:11:32 +00:00
Anita (anko) f7a4da5602 [CLN] payment: alphabetizing payment methods
All payment methods have been sorted alphabetically.

Part-of: odoo/odoo#140907
2023-11-06 18:11:32 +00:00
Anita (anko) 2425782fc6 [IMP] payment: fine tuning payment methods
Part-of: odoo/odoo#140907
2023-11-06 18:11:32 +00:00
Maximilien (malb) 2087582500 [REV] point_of_sale: remove xpath
In this commit https://github.com/odoo/odoo/commit/00dcc575b8af5bee5204c45b80290a8e59fe10f9
they added an invisible condition of the accounting tabs (in the product view).

After discussion with the PoS product owner, there is still some doubts on how
combos product will be manage for the accounting tab (specially with
localisation). But if we remove the Accounting/Invoicing tab, the user will be
completely incapable to configure sales and taxes when combo products include
products with different taxes.

As we have doubts, we prefer keeping the tab by default no matter what the
product type is.

closes odoo/odoo#140896

Task: 3581797
Signed-off-by: William André (wan) <wan@odoo.com>
2023-11-06 18:11:31 +00:00
Victor Feyens 844dbbca4f [FIX] sale: invoices not displayed on SO portal
task-3584770

closes odoo/odoo#141276

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-11-06 16:55:48 +00:00
Adrien Widart (awt) b7335cb75d [FIX] stock: skip putaway rule if dest loc set by user
To reproduce the issue:
1. In Settings, enable:
   - Storage Locations
   - Storage Categories
2. Create and confirm a receipt with one product
3. Open the detailed operation
4. Add a line
   - To: WH/Stock/Shelf 1
   - Done: 1

Error: Once the user sets the done quantity to 1, the destination
location will be automatically set to WH/Stock

Since the Storage Locations option is enabled, when updating the
done quantity of the SML, it triggers an onchange in charge of
applying the putaway rules. Since the Storage Categories option is
enabled, the putaway process starts from the SM's location (i.e.
WH/Stock). Then, since there isn't any putaway rule, the process
will simply return the initial location (WH/Stock) and we will use
it as new destination location of the SML.

Since the destination location has already been set by the user, we
should avoid overriding it, otherwise he will have to set the
location again.

OPW-3511560
OPW-3549579

closes odoo/odoo#141252

X-original-commit: ce9a1437de0093dd3c66152148d4c973915d00f4
Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
Signed-off-by: Adrien Widart (awt) <awt@odoo.com>
2023-11-06 16:55:48 +00:00
Valeriya(vchu) 861290ce40 [FIX] payment_stripe: instantiate stripe object only once
Steps to reproduce:
1. Activate Stripe and at least two payment methods
2. Click on the first pm
3. Click on the second pm
3. Select again the first one and try to pay

The bug was caused by reinstantiation of stripeJS for each payment
method. So that each stripe element was created from different
stripeJS object which raised the following error from Stripe:
"Invalid value for stripe.confirmPayment(): the 'elements' provided was
created by a different Stripe instance. Please use the same Stripe instance
to create the 'elements' and call stripe.confirmPayment()"

After this commit StripeJS object is instantiated only once.

closes odoo/odoo#141247

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-11-06 16:55:47 +00:00
Demesmaeker ca3d390033 [IMP] sale_pdf_quote_builder: add documentation link
closes odoo/odoo#141243

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-11-06 16:55:46 +00:00
Aaron Bohy 5b0870ab01 [IMP] web: tooling: enable tooling in 17.0
closes odoo/odoo#141237

Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
2023-11-06 16:55:44 +00:00
aliya 5272c3a051 [FIX] l10n_pe: fix tax amount for purchase 0%
`purchase_tax_exp_0` tax is supposed to have 0 amount, which was changed in saas-16.2 to 18.0. This commit fixes the amount, changing it back to 0.0.

closes odoo/odoo#141192

X-original-commit: 7e4f5b702998e88faf056205d2b7aae319f094be
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Aliya Tastemirova (alta) <alta@odoo.com>
2023-11-06 16:55:43 +00:00
Louis (wil) af5a5f4986 [I18N] *: export source terms
closes odoo/odoo#141127

Related: odoo/enterprise#50247
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2023-11-06 16:55:41 +00:00
Rémi Rahir (rar) 8c01a611cd [IMP] spreadsheet: cache PivotCache cells
This revision extends the caching introduced in [1] to cache the
Pivot cells of a `PivotTable` for every combination of `includeTotal`
and  `includeColumnHeaders`. the conditions for the `clickableCell` of
`ODOO.PIVOT.TABLE` cells fetch the pivot cells a LOT, which becomes
problematic for big pivots.

For a spreadsheet with a formulat `ODOO.PIVOT.TABLE` that spreads over
2562 (122*21) cells:

|                                  | Before  | After  |
|----------------------------------|---------|--------|
| `getPivotDomainArgsFromPosition` | 1227 ms | 124 ms |
| load spreadsheet as dashboard    | 7.97 s  | 2.4 s  |
|                                  |         |        |

[1] https://github.com/odoo/odoo/pull/138594

closes odoo/odoo#141116

Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2023-11-06 16:55:40 +00:00
roen-odoo d66dcf820d [FIX] point_of_sale: Show correct tracking method on receipt
Current behavior:
The PoS receipt was always showing SN on receipt even when the tracking
method was set to Lot.

Steps to reproduce:
- Create a product with tracking method set to Lot
- Create a PoS order with that product
- Validate the order
- The receipt is going to show SN XXXX instead of Lot Number XXXXX

opw-3517788

closes odoo/odoo#141007

X-original-commit: fde614b80c90ce62598b6ddd3ddac4d3c6bb4dc7
Signed-off-by: Vlad Stroia (vlst) <vlst@odoo.com>
Signed-off-by: Robin Engels (roen) <roen@odoo.com>
2023-11-06 16:55:39 +00:00
Joseph Caburnay f4e9dd9ec3 [FIX] point_of_sale: discount product as special
closes odoo/odoo#141001

Related: odoo/enterprise#50282
Signed-off-by: Adrien Guilliams (adgu) <adgu@odoo.com>
2023-11-06 16:55:38 +00:00