Commit Graph
168825 Commits
Author SHA1 Message Date
Yannick Tivisse f18faee970 [FIX] hr_contract: Improve list view loading time
Hidden message_needaction fields was taking 2.1 over 2.2 seconds on odoo.com
(+- 5000 contracts in running state)

closes odoo/odoo#148581

X-original-commit: de983bdd038e19703f461d5e529455f957ff842a
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2024-01-16 13:15:20 +00:00
Adrien Guilliams (adgu) 6cd9185b05 [IMP] pos*: book/release table in pos_restaurant
pos*: point_of_sale, pos_restaurant

The current approach to book/release a table isn't so intuitive,
knowing that when selecting an empty table from the floor plan:
- an empty order is created on that table, displaying it as booked
on the floor plan
- as long as the order remains empty, we display a "Release table"
button in order to delete the related empty order and display
the table as free on the floor plan

Here is the change brought by this commit:
- Change the "Release table" button to "Book table"
- Don't create an empty order on the table until User either:
  - hits "Book table"
  - starts adding products to the cart
- Table can be released by deleting the order
- Deleting the last order on the table, redirects User to the floor
- Control Buttons are not accessible with unbooked tables
plan

closes odoo/odoo#145896

Task-id: 3624323
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2024-01-16 13:15:19 +00:00
miad-odoo 2d5d178403 [FIX] web: fix invoice preview
Before this commit, the `report_invoice_wizard_preview` was rendered well in
html and in the preview (settings page) but not when downloading it ; the
"total" table was pushed all the way to the right.

opw-3648586

closes odoo/odoo#149509

X-original-commit: 232c257c1554f2f47b589a971cdf9f98227ef53c
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Adrien Milis (miad) <miad@odoo.com>
2024-01-16 11:40:03 +00:00
Pierre Paridans 763511d09d [FIX] iap_mail: enrichment tags illegible in dark mode
In the lead's enrichment, the fields containing tags have an hardcoded
background for some reason... which, in dark mode, makes the tags' label
illegible (as it is a light text on light background).

This commit fixes it by forcing a darker gray when rendered in dark mode
(where the dark mode's bundle is applied, like in the backend).

Steps to reproduce:
- Open CRM
- Create an opportunity using a well-known domain in the email address
  (for example)
- Click "Enrich"
- A card appears in the chatter containing the matching company's
  information
- Switch to dark mode
=> Sectors, Technologies Used... tags keep the light background

opw-3678598

closes odoo/odoo#149409

Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
2024-01-16 11:40:01 +00:00
Arthur Detroux (ard) 94cae965a4 [FIX] website: properly check if all snippets have their data-snippet
Commit [1] changed the class from .ui-draggable to .o_draggable in the
`snippet_version` test, specifically in the run function that checks
if all snippets have their `[data-snippet]` properly set.

Indeed, `.o_draggable` is set on the parents of draggable elements and
not on the elements which are draggable themselves. This lead to a
`.every` on an empty array which returns `true`, and therefore avoids
the `console.error` but did not properly check the snippets.

This commit changes the selector to all snippets which do not have
a [data-module-id] which should be all snippets that are draggable.

[1]: https://github.com/odoo/odoo/commit/7594d71ca8610d5947e80f325ccb57abc23c2c76

Related to task-3079246

closes odoo/odoo#148824

Signed-off-by: Guillaume Dieleman (gdi) <gdi@odoo.com>
2024-01-16 11:39:59 +00:00
Vivek Pathak 5b42a16a13 [FIX] mass_mailing: prevent mailing stage change in kanban view
Before this commit:
Users could change the mailing stage from the Kanban view, which was
inappropriate since stage changes should occur within the defined workflow.

Reason:
The state field in the Kanban view was not marked as readonly, allowing
unintended stage changes.

After this commit:
Users can no longer modify the mailing stage directly from the Kanban view.
Instead, stage changes should occur through the workflow.

Task-3555209

closes odoo/odoo#140081

Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2024-01-16 11:39:57 +00:00
William Henrotin 05fcc84734 [FIX] stock: allow multicompany push flow
This commit ensure a multi company flow made of push rules can be
triggered by a stock user having access to the first company only

      manual     push
Stock1 -> interco -> Stock2
(comp1)              (comp2)

Let a user working in company 1 confirming and validating a transfer
from Stock1 to the intercompany location. The push rule (defined in
company 2) will create and confirm the stock move to resupply Stock2

closes odoo/odoo#149492

Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2024-01-16 09:55:29 +00:00
Travis Waelbroeck 6ae751e808 [FIX] website_sale: error during shipping address creation
closes #149428

**Impacted versions:** master, 17.0

This appears to have been introduced by
24c8ff9b28 on #139474.

**Steps to reproduce:**

1. Log in as admin user
    * _The error also happens while logged in as portal user, but they
      do not see the traceback._
2. Go to website, add item to cart, and click "Checkout"
3. Under the "shipping' section, click "Add address"
4. Click save and an error is raised (see traceback below and in task
   comments)
    * _The error also occurs if you just leave one required field as
      blank, rather than all fields._

**Current behavior:** If logged in as an internal user, a traceback
error (below) is raised. If logged in as a portal user, a 500 error page
is shown.

```
Traceback (most recent call last):
  File "/opt/odoo/core/odoo/http.py", line 1722, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "/opt/odoo/core/odoo/service/model.py", line 133, in retrying
    result = func()
  File "/opt/odoo/core/odoo/http.py", line 1749, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/opt/odoo/core/odoo/http.py", line 1866, in dispatch
    return self.request.registry['ir.http']._dispatch(endpoint)
  File "/opt/odoo/core/addons/website/models/ir_http.py", line 235, in _dispatch
    response = super()._dispatch(endpoint)
  File "/opt/odoo/core/odoo/addons/base/models/ir_http.py", line 222, in _dispatch
    result = endpoint(**request.params)
  File "/opt/odoo/core/odoo/http.py", line 722, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/opt/odoo/core/addons/website_sale/controllers/main.py", line 1346, in address
    'use_same': is_public_user or ('use_same' in kw and str2bool(kw.get('use_same'))),
  File "/opt/odoo/core/odoo/tools/misc.py", line 468, in str2bool
    raise ValueError('Use 0/1/yes/no/true/false/on/off')
ValueError: Use 0/1/yes/no/true/false/on/off
```

Note: Based on a quick check, the value of `kw.get('use_same')` is
`None`, which causes the `str2bool` check to fail. The value of
`use_same` appears to be set within the `website_sale.address` template,
but it seems that the value should always be `True` or `False`, not
`None`.

**Expected behavior:** The "add address" page is shown with a red
highlight around any required fields that are missing a value.

**Video link:**
https://github.com/odoo/odoo/assets/7907616/4e103c73-417f-4d1a-93e3-8c1d7beeb918

Support ticket number submitted via odoo.com/help: 3,685,876

closes odoo/odoo#149432

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2024-01-16 09:55:28 +00:00
Travis Waelbroeck 0d2adece49 [CLA] Blue Stingray CLA
Part-of: odoo/odoo#149432
2024-01-16 09:55:28 +00:00
Andrea Grazioso (agr-odoo) 048d7e8718 [FIX] point_of_sale: force company of pos order in controller
Have company 1 (main company) and company 2
Activate Website for company 1
Switch to company 2
Setup a POS
In Settings > Point of Sale, activate 'Use QR code on ticket'
Open POS session
Make an order, save qr link from receipt, close session
Open the saved link without being logged in
Complete form and request invoice

Issue:
Error will block the operation
```
Incompatible companies on records:
- '/ (Reversal of POS closing entry POSS/2024/01/0004 for order Shop/0004 from session POS/00002) 16%' belongs to company False and 'Account' (account_id: '209.01.01 VAT carried forward not collected') belongs to another company.
- '/ (Reversal of POS closing entry POSS/2024/01/0004 for order Shop/0004 from session POS/00002) 16%' belongs to company False and 'Originator Tax Distribution Line' (tax_repartition_line_id: 'account.tax.repartition.line,54') belongs to another company.
- '/ (Reversal of POS closing entry POSS/2024/01/0004 for order Shop/0004 from session POS/00002) Acoustic Bloc Screens' belongs to company False and 'Account' (account_id: '401.01.01 Sales and/or services taxed at the general rate') belongs to another company.
- '/ (Reversal of POS closing entry POSS/2024/01/0004 for order Shop/0004 from session POS/00002) Acoustic Bloc Screens' belongs to company False and 'Taxes' (tax_ids: '16% (MX)') belongs to another company.
- '/ (Reversal of POS closing entry POSS/2024/01/0004 for order Shop/0004 from session POS/00002) 105.01.02 105.01.02' belongs to company False and 'Account' (account_id: '105.01.02 National customers (PoS)') belongs to another company.
```
This occurs because when Website is installed, requests from public user
will keep in context the id of the company associated to the website,
company 1 in this case.

opw-3629683

closes odoo/odoo#149410

X-original-commit: 6fce2e5bf34468099a0c62669687847ed36621bf
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Andrea Grazioso (agr) <agr@odoo.com>
2024-01-16 09:55:27 +00:00
Ruben Gomes (rugo) 7c05beaa89 [FIX] l10n_*: anglo saxon accounting
The anglo saxon accounting was set in the wrong field.

It should be set in the field 'anglo_saxon_accounting' on the company
and not 'use_anglo_saxon' on the configs.

task-3642826

closes odoo/odoo#149190

X-original-commit: 3160749a173b01e93f91dea72d1dcc5370ea44f7
Signed-off-by: William André (wan) <wan@odoo.com>
2024-01-16 09:55:24 +00:00
Brieuc-brd 0ef9d5b272 [FIX] web, *: adapt oi-close and corner arrow icons
*: mail, pos_sale, pos_self_order, website_sale

=== `oi-close` adaptation ===
Prior to this commit, `oi-close` icon was based on the default
sans-serif font. Depending on this, there could be alignment and size
inconsistencies with the Odoo UI icon library.

This commit adapts `oi-close` to use a custom icon from the UI icon
library to make it more robust and maintain consistency with this
library.

=== corner arrow icons adaptation ===
Prior to this commit, directional icons related to the four corners were
misaligned.

This commit adapts these four icons so that they are properly aligned.

task-3618046

closes odoo/odoo#144598

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2024-01-16 09:55:22 +00:00
Thomas Josse (thjo) 85a5d76728 [IMP] web_editor: adding dirtyness check when in collab mode
This commit adds a new event listener on the odooEditor which listens for
external history steps (if collab mode is enabled), and changes the state of
the record's dirtyness when a user receives external steps.

This way a user will see that the record has been modified when he is editing
a collaborative html field.

task-3609594

closes odoo/odoo#145928

Related: odoo/enterprise#51579
Signed-off-by: Nicolas Bayet (nby) <nby@odoo.com>
2024-01-16 09:55:20 +00:00
Lucas Lefèvre (lul) 90ccffcc7d [FIX] spreadsheet: update o_spreadsheet to latest version
https://github.com/odoo/o-spreadsheet/commit/cadb8174b [REL] 17.0.7
https://github.com/odoo/o-spreadsheet/commit/548c779ba [FIX] dates: use UTC to represent naive date times Task: 3666703
https://github.com/odoo/o-spreadsheet/commit/49f05a71c [REF] dates: introduce DateTime to wrap Date object Task: 3666703
https://github.com/odoo/o-spreadsheet/commit/9676b76b7 [FIX] date: properly type reference dates Task: 3666703
https://github.com/odoo/o-spreadsheet/commit/653a0900f [FIX] tests: enables type checking for binded functions
https://github.com/odoo/o-spreadsheet/commit/61780b4e4 [FIX] functions: name MID args

closes odoo/odoo#149240

Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2024-01-16 08:23:11 +00:00
Kartik Chavda (kcv) 82c962c665 [FIX] web: set max width on filter and groupby menu
Steps:
- Install planning app.
- Open Planning.
- Click on search bar menu.

Issue:
- The groupBy column width is more than expected.

Cause:
- groupBy and filter menu size changes depending on their
groupBys and filters names so giving bigger name to filters
and groupBy increase their size and there was no max-width
set on then and because of setting name and giving bigger
string on field makes that column unexpectly big.

Fix:
- set max-width on `o_filter_menu` and `o_group_by_menu` to
avoid unexpected bigger size for filter and groupby columns.

task-3607270

closes odoo/odoo#140412

Signed-off-by: Romeo Fragomeli (rfr) <rfr@odoo.com>
2024-01-16 08:23:10 +00:00
william-andre 6b70028eac [FIX] stock_account: performance of unlinking account_move_line
The index is needed to be able to unlink/delete lines because of the
check of foreign keys.

closes odoo/odoo#149417

Signed-off-by: Cedric Snauwaert <csn@odoo.com>
2024-01-15 19:58:57 +00:00
Pierre-Yves Dufays d10d0ca242 [FIX] portal_rating: fix invisible rating modal title
How to reproduce:
1. Go to website slides.
2. Open any course.
3. Add review or Edit the review.

The title of the modal should be visible but it is not because the text has the
same color as the background (white).

Technical note: the modal is defined in a dark zone where the text color is
white. The modal title uses the h5 tags that automatically inherit its color
from its parent, so the title is white as well. To solve the problem we add the
class "bg-white" on the modal-content div to indicate that the background of
the modal is white so that the color of the h5 has a good contrast on a white
background (here black). We also removed the CSS rule for
"o_rating_popup_composer_label" as it was not being applied.

Task-3640496

closes odoo/odoo#149405

X-original-commit: 0f158f4c3b51a4caa20dda337d13e905c99540fd
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2024-01-15 16:07:53 +00:00
Anita (anko) 60fba16f87 [FIX] payment_adyen: ignore missing street numbers
Commit ceb8b78 introduced a mechanism to throw an error if some address
fields were empty. The mechanism was introduced to prevent us from
sending False as an address detail to Adyen when it was not set since it
might negatively affect the fraud check score.
It however caused some payments not to go through because it relied on
Odoo's utils to extract the house number from the address, which would
fail in some circumstances (e.g., when the number is placed before the
street name). In some other cases, empty address details that were
previously accepted by Adyen caused the error to be thrown.
With this commit, we now pass Unknown instead of False or empty string
for the address details that are not set and that are not required by
Adyen in practice, unlike what is stated in AVS documentation. This
delegates the responsibility to block the payment to Adyen as the address
check and the related error are removed from Odoo.

closes odoo/odoo#149365

X-original-commit: 771b7ebd55646d8c96938e562802b47cb92d18fb
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: anko-odoo <anko@odoo.com>
2024-01-15 16:07:51 +00:00
Rémi Rahir (rar) 3d55b04ff8 [FIX] spreadsheet: Empty value in date filter should bypass filter
A date filter with an empty value would still create a domain filtered
on the current year instead of being bypassed.

closes odoo/odoo#148984

Task: 3668916
X-original-commit: 763f88e2d45cb7ba107db135eecd0365ba2b8c8b
Related: odoo/enterprise#54095
Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2024-01-15 16:07:48 +00:00
shiyam kumar ec75467cae [FIX] project: prevent editing status field in kanban view
Step:
- Navigate to the project module.
- Select any project.
- Click the status button on the Kanban view's top left.
- This action redirects to the project update Kanban view.
- Notice that the status field is unexpectedly editable.

Issue:
- In the project module, accessing the project update Kanban view allows
unintended editing of the status field.

Cause:
- Due to the new modifications made in the kanban view where the user is allowed
to perform selection from the view itself, the status field also resonates the
similar behavior.

Fix:
- By adding the 'read-only' attribute in the Kanban view specifically for the
status field, we can restrict the unintended modifications to this field.
This implementation ensures that users cannot edit the status field directly
from the Kanban view.

Task-3610481

closes odoo/odoo#144336

Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2024-01-15 16:07:44 +00:00
François Honoré 8f7985a6e8 [FIX] point_of_sale: account.tax write permission.
When a user try to import (to edit) some account.tax, some verification are done on pos.order.line.
The search is done in sudo but the read is executed with the current logged user.
So pos.order.line from others companies are check with a user who don't have access to these companies.
And the AccessError exception is triggered.
This PR aims to fix the permission issue by adding a sudo() for the read on pos.order.line

closes odoo/odoo#149288

X-original-commit: 1c22f6bd36ffcade3d84d0f76bbb3b9d1dc8c4c1
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2024-01-15 14:48:40 +00:00
Gabriel de Paula Felix (gdpf) 03d7ce049a [FIX] microsoft_calendar: recurrent event deletion from list view
Before this commit, deleting recurrent events from Odoo in list view mode was allowed with the synchronization active, which could trigger to spamming emails on Microsoft side. Additionaly, deleting events with the synchronization off was also deleting events on Microsoft, which should not happen.

After this commit, the deletion of recurrent events is not allowed anymore when the synchronization is active by triggering an UserError message. Also, when the synchronization is off, deleting events in Odoo don't also delete events on Microsoft side.

closes odoo/odoo#149278

Task-id: 3563501
X-original-commit: a932aee25b2ae5f6a3c0e50154c5db6ba6ea06bf
Signed-off-by: Gabriel de Paula Felix (gdpf) <gdpf@odoo.com>
2024-01-15 11:11:28 +00:00
vava-odoo aa2fa69065 [FIX] base_import_module: import module in sudo to bypass ACLs
closes odoo/odoo#149243

Signed-off-by: Pierre Masereel (pim) <pim@odoo.com>
2024-01-15 11:11:27 +00:00
Loukas Wets (lowe) 7692edf4e8 [FIX] l10n_in_pos: demo data post installation
To reproduce:
- Install POS with demo data
- Install Indian localization(l10n_in)
- Open POS terminal
- Click on the load demo data
- Traceback thrown

Fix:
The issue occurs when the demo data executes the closing of the sessions.
The l10n_in _post method checks for a company state that is not yet set
at that point. It is important to note that this issue only arises
when loading demo data on a DB that doesn't contain demo data. The solution
is to extract the part of the method that executes the demo data linked to
the main config and to override it to not perform that part in the l10n_in_pos.

closes odoo/odoo#149011

Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2024-01-15 11:11:25 +00:00
roen-odoo 179475a54e [FIX] point_of_sale,pos_sale: correctly set analytic_distribution
Current behavior:
When you create a sale order with an analytic account, and settle it in
the POS, the analytic account is not set on the POS order invoice lines.

Steps to reproduce:
- Create a sale order with an analytic account (in other info tab)
- Confirm the sale order
- Go to the POS and settle the order
- Pay and invoice the order
- Go to the invoice and check the analytic account on the invoice lines

Note:
I based my fix on what was already done in the sale_order creation to
set the analytic distribution correctly on the invoice lines.

opw-3635140

closes odoo/odoo#147737

Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2024-01-15 11:11:24 +00:00
Iván Todorovich 9eaecfa062 [FIX] base: skip pdf rendering tests if pdfminer is not installed
The unit tests introduced in 4820be3c only work if pdfminer is installed.
As it's an optional dependency, it may not be installed in some environments.

This commit skips the tests if pdfminer is not installed.

See also: 6fa4dbf2

closes odoo/odoo#147720

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2024-01-15 11:11:23 +00:00
William Henrotin 875e15e1aa [FIX] mrp_subcontracting_purchase: verify ressuply + mto flow
This commit adds a test on the following flow:
A subcontracted product has its component having the three route
 - ressuply on order
 - buy
 - MTO

Receiving the subcontracted product will create a delivery for the
component to the subcontractor, then a purchase order to buy it.
Confirming this very PO should create a receipt stock move linked to
this delivery.

closes odoo/odoo#147344

X-original-commit: 0044fd8bb6966011bd3943bff0bd58bcd111338f
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2024-01-15 11:11:23 +00:00
David (dafr) 5e51ab1f4e [FIX] mrp_subcontracting_purchase: fix received_qty with return move
Method _is_purchase_return had a complex check intended to detect
subcontract return move. This Check would incorrectly pass for
subcontract move when the destination location (input) does not belong
to the customer warehouse.

To fix this issue, we can check the field StockMove.is_subcontract,
however this field is only available if mrp_subcontracting is installed.
Furthermore, the check itself make no sens in purchase_stock if the
module mrp_subcontracting is not install Hence, we can move this check
to mrp_subcontracting_purchase.

With Purchase & Mrp Subcontracting installed:
- Create Component C, consumable
- Create Product P, storable, Set Vendor V under Purchase Tab
- Create BOM for P, subcontracted with Vendor V, and C as component
- In the Warehouse, set 2 steps reception
- Set Input parent location to 'Physical Location'
- Create PO to vendor V, product P, confirm, receive Product
=> Received Qty for P in PO show 0

OPW-3216011

X-original-commit: bf666d33af4ac32563e159cb6e79483d6f37b3d6
Part-of: odoo/odoo#147344
2024-01-15 11:11:23 +00:00
cunivca d0704a19de [FIX] l10m_cz: change position of VAT/DIČ in Czech localization
closes odoo/odoo#149338

Signed-off-by: John Laterre (jol) <jol@odoo.com>
2024-01-15 09:30:57 +00:00
rolandojduartem a9a8d0050f [ADD] l10n_pe_pos: New module
closes odoo/odoo#143487

Signed-off-by: Adrien Guilliams (adgu) <adgu@odoo.com>
2024-01-15 09:30:53 +00:00
bve-odoo 72c1a4f96a [IMP] *: replace type where possible
do not compare types, for exact checks use `is` / `is not`,
for instance checks use `isinstance()`Flake8(E721)

Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
2023-11-07 17:09:34 +00:00
Shaan Thakkar (THSH) 062fbb2c8d [FIX] portal_rating: fix avatar size and spacing
Steps to Reproduce
===================
1. Open any course
2. Go to the review tab
3. Tap on the comment button.
-> Currently the avatar image is a bit messy

Technical Reason
=================
This issue occurred after the portal redesign
https://github.com/odoo/odoo/commit/df8535fbd40e1e5c09dbe616a3332c76c23525c8

After this commit
==================
The Avatar image is well-ordered.

Task-3625896

closes odoo/odoo#146092

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2024-01-15 07:56:58 +00:00
dane@odoo.com ee31c84c36 [FIX] test_mail_full: fix expected kpi in sms mailing report
`replied_ratio` shouldn't be tested against bounced_ratio, neither
should be `opened_ratio` against `clicks_ratio`.
`_prepare_statistics_email_values` function returns list, whose last
two values are: `clicks_ratio` and `bounced_ratio` instead of
`opened_ratio` and `replied_ratio`. Also checking `replied_ratio` and
`opened_ratio` doesn't make sense, when testing sms.

task-3485424

closes odoo/odoo#149267

X-original-commit: a2bb6dea6d81a777c7aed73c8b7a38e015408676
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2024-01-15 06:46:08 +00:00
Pierre Paridans 9d920ee859 [FIX] web: control panel create button shouldn't be shown in dialog
The kanban's create button ("New") is usually displayed in the
ControlPanel. But in the select/create dialog (like many2one dialog),
the create button is moved to the footer.

On small screen, the Many2X fields' selection view switches from a list
view to a kanban one but a different condition was used to display (or
not) the create button in the ControlPanel, which explains why the
ControlPanel's create button appears only on small screen (and not in
the same dialog open on desktop-like screen size).

This commit fixes it by reviewing the condition applied in both the list
and kanban views and normalizing them to be based on the (existing)
`showButtons` prop that controls the additional buttons added to the
ControlPanel.

Steps to reproduce (with a smartphone like screen size):
- open Contacts app
- open a contact
- open the company's selection
=> two "New" buttons are displayed (top and bottom)

opw-3431221

closes odoo/odoo#149329

X-original-commit: c21c600189b36b7b4b352f8017467c8ef7d07c87
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2024-01-14 18:05:05 +00:00
Odoo Translation Bot b81790505b [I18N] Update translation terms from Transifex 2024-01-14 00:16:26 +01:00
Thomas Beckers ad6b9a16fd [FIX] l10n_it_edi: avoid conflict with peppol when switching to demo
Peppol and Italian edi both uses a proxy user. We should only use Italian
proxy users when checking demo mode otherwise Peppol production proxy users
can interfere and trigger an error like 'Company already have prod connection'.
Also we don't want to delete demo Peppol connections.

opw-3675908

closes odoo/odoo#149276

X-original-commit: 078543cfe34427fe96932536bc283fcdf2ce2251
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Signed-off-by: Thomas Beckers (tbs) <tbs@odoo.com>
2024-01-13 15:26:30 +00:00
Zeel Patel 06bf2e0ec5 [IMP] l10n_in_edi_ewaybill: on verify it's only display error code
Before this commit:
If the username and password are wrong, then it only displays the error '108'.

After this commit:
If the username and password are wrong, then it displays the error.
'[108] Invalid login credentials.'

task - 3304862

closes odoo/odoo#149323

X-original-commit: a27421e0aab072a7c33b748f2d6162d1b2ea060f
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Zeel Patel (zepa) <zepa@odoo.com>
2024-01-13 05:56:51 +00:00
Mylyna Hy 57ecc833fd [FIX] website_sale_loyalty: accrue points and create gift card codes
...for orders made through Sales with loyalty programs that uses websites

Problem: For loyalty & gift card programs that has sales and website enabled along with a specified website,
the loyalty points will not accrue and gift card codes will generates for products if the SO was created with the Sales app.

Solution: The SO ordered through the website should filter based on the website_id. SOs created through Sales will not have a website_id, thus, no need to add an extra filter for website_id.
Gift card codes will generate and loyalty points will accrue for orders made through Sales even if the program has a website specified.

Steps to Reproduce on Runbot 16:
Create a new product of the type consumable
Go to Sales > Products > Gift cards & eWallet and click on NEW
For the Gift Card Products field add the previously created product
For the website field specify a specific website (e.g. My Website)
Create a new sale order for the originally created product
Confirm the sale order
Click on the Customer Preview smart button
You won’t see a gift card code anywhere when it should have been generated & Loyalty points are not accrued

opw-3550278
opw-3587226

closes odoo/odoo#149320

X-original-commit: eed913463ea4824586373cae608d7cfcb2ff20fc
Signed-off-by: Morgane Demesmaeker <edm@odoo.com>
Signed-off-by: Mylyna Hy (myhy) <myhy@odoo.com>
2024-01-13 00:35:49 +00:00
Gaetan Vanden Bergh (gavb) 03f2ed8955 [FIX] base: Module category can reference itself as parent
Steps:
- Update a module category to reference itself as parent
OR
- Update multiple module categories to create a circular dependency (A -> B -> A)

Actual result:
- Upgrade a module is impossible
- Un/Install a module is impossible
- Infinite loop: https://github.com/odoo/odoo/blob/15.0/odoo/addons/base/models/ir_module.py#L900

Expected result:
- Circular dependencies not possible
- Module can be upgrade and un/install

opw-3490162

closes odoo/odoo#149284

X-original-commit: 6932714200d158a21bf10b90b2f71fa5cae0b13f
Signed-off-by: Raphael Collet <rco@odoo.com>
2024-01-12 21:43:45 +00:00
Andrea Grazioso (agr-odoo) c366efa675 [FIX] account: traceback on invoice lines update+delete
Create an Invoice with 2 lines of product
Save
Delete one
Change currency
Save

Traceback will occur becasue of a ValueError
```
    for command, line_id, line_vals in vals['invoice_line_ids']
ValueError: not enough values to unpack (expected 3, got 2)
```

opw-3672799

closes odoo/odoo#149261

Signed-off-by: William André (wan) <wan@odoo.com>
2024-01-12 18:55:03 +00:00
Mylyna Hy 70af882e54 [FIX] sale: recompute down payment line description
Problem: The description of a down payment SOL does not recompute for a locked SO when an invoice is confirmed.

Solution: Trigger the compute before it gets skipped due to the SO being locked.

Purpose: The down payment line should include its reference to the invoice name despite the SO being locked or not.

Steps to Reproduce on Runbot:
1. Install Sales
2. Enable "Lock Confirmed Sales" in Settings > Sale
3. Create a sales order and confirm
4. Create an invoice with down payment and confirm
5. Refer back to the sales order and the down payment line's description does not contain the invoice name

opw-3612298

closes odoo/odoo#149188

X-original-commit: 7393c7a8f203cbe1a946b3123719ff7e24dd0772
Signed-off-by: Mylyna Hy (myhy) <myhy@odoo.com>
2024-01-12 17:41:43 +00:00
miad-odoo 09f1b940e3 [FIX] mail: redirect with cid when not logged in
A model can specify a preferred company (cid) when redirecting someone from a mail
link.

Before this commit, this cid was taken into account when redirecting only if the
user is logged in.

With this commit, even if the user is not logged in, the redirect link will take
that preferred cid into account.

opw-3613144

closes odoo/odoo#149254

X-original-commit: e70a27d820d94dba7e8c45865ddc5fbc46f9f26f
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Adrien Milis (miad) <miad@odoo.com>
2024-01-12 16:12:51 +00:00
sami odoo e096a210aa [FIX] base: prevent language deactivation
Before this commit user was able to archive the language used by superuser
Odoobot by activating different language. Because of which whenever odoobot was
in action then the user faced error.

Steps to produce:
 - Install `contacts`.
 - Settings > Translations > Languages > Choose a language eg: English (UK).
 - Activate that language and switch to it.
 - In `contacts` change the language of each contact in the contacts to the
   newly selected language.
 - Settings > Translations > Languages > Choose English (US) and archive it.
 - Settings > User & Companies > User, Apply the filter of Inactive Users.

After this commit user would not be able to archive the language used by
superuser or the language in which there db was installed.

Task-2896526

closes odoo/odoo#149215

X-original-commit: 681fc0a04c7ca625c7120ff2f7b537b75398b23d
Related: odoo/enterprise#54209
Signed-off-by: Raphael Collet <rco@odoo.com>
2024-01-12 16:12:49 +00:00
kdeb@odoo.com db1e5b1754 [FIX] website_slides: enable t-cache only without Search Tags
Issue:
- The course filtering feature was consistently providing incorrect
 results, showing courses that were not related to the selected tags.
 This issue did not appear when logged in as an admin user.

Steps to reproduce:
- Install the eLearning app.
- Navigate to the 'Courses' section on the website.
- Click on a tag to filter the displayed courses.
- Select additional tags to further filter the courses.
- Observe that the results may not correspond to the selected tags.

Solution:
- This inconsistency was caused by the t-cache directive in the template,
 which cached parts of the page and didn't always reflect the latest
 user interactions, like changing the selected tags.
- Modify the t-cache directive so that it caches the content only when
there are no search tags

opw-3636565

closes odoo/odoo#149197

X-original-commit: 3e0e3b2ea89639f1521335c36b11356e7b31ba4b
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Kawtar Drissi El Bouzaidi (kdeb) <kdeb@odoo.com>
2024-01-12 16:12:48 +00:00
std-odoo 55a3a17090 [IMP] base: use the notification email by default for miss-configured database
Purpose
=======
When a database is miss-configured, we have no other choices to
potentially spoof the FROM. We decided that a better heuristic would
be to use the notification email instead of the user email.

Task-3645895

closes odoo/odoo#149189

X-original-commit: eae9214ade8487ac326fc83abe67af53d861e00a
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2024-01-12 16:12:47 +00:00
Louis (loti) 92fd50cda7 [IMP] product,sale: fix spacing and alignment issues
Reduce spacing in product document form and align content in product document kanban details.

task-3512072

closes odoo/odoo#140901

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2024-01-12 16:12:42 +00:00
Jorge Pinna Puissant f468bba9d5 [FIX] web: fix error when no app in clickbot
Since [1], an error is raised when no app is detected on the clickbot.
The issue with this is that it's possible for a user to no have access
to any app. This occurs when we test single apps (web for instance) with
demo user.

The aim of the error is to detect if we are stuck on a tablet mode page.

Now, we change the test on the ensureHomeMenu function, to don't have
false positives, and detect correctly if we are stuck on a tablet mode
page.

Fixes runbot issue 52675
opw-3649047

[1] : 8f365824c9dddacf1b3a40688a30c8498df3d5d4

closes odoo/odoo#149214

X-original-commit: 10475a96401b02b95e92cc6c9eaa909aeb7de1d1
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2024-01-12 14:27:48 +00:00
Lucas Lefèvre (lul) 0111317b75 [FIX] spreadsheet: accumulate starting with past data
- Inserting a cumulated graph view inside spreadsheet
  (e.g. cumulated subscription MRR breakdown),
- apply a global filter to filter, let's say on the current
  month
=> the first data point does not include data from before
the current month (the accumulation starts at 0, even though
there is data before)

You can also check the MRR evolution subscription dashboard,
"MRR over time" chart.

Note: with this fix, we assume all "cumulated" charts are also
"cumulated_start". Which is true in practice (only one cumulated
graph view in the entire codebase)

closes odoo/odoo#149084

Task: 3680601
Related: odoo/enterprise#54146
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2024-01-12 14:27:47 +00:00
aliya c113e96228 [FIX] account_peppol: limit demo mode to peppol
Currently, if account_peppol module is installed on a non-verified database,
it is not possible to register on `l10n_it_edi`, even on the test server.
That happens because we do not limit the demo mode to peppol.
This commit adds an additional check for the proxy_type when handling demo.
We wrap `make_request` in the decorator because it's used in many places in account_peppol,
so the condition has to be added inside the decorator.

closes odoo/odoo#149016

Signed-off-by: Laurent Smet (las) <las@odoo.com>
2024-01-12 14:27:45 +00:00
Alexandre Kühn 5912e7b761 [FIX] mail: 'Logged _in_ as' on welcome page
Label of guest name on public discuss welcome page
was gramatically incorrect. It should be "Logged in as"
rather than "Logged as".

Also took the opportunity to properly translate the label.

closes odoo/odoo#149187

X-original-commit: 9463c787e7804e5c2c525b9ecc096ee067f0dd3d
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2024-01-12 12:50:36 +00:00