Commit Graph
168574 Commits
Author SHA1 Message Date
Astik Singh dee14636ca [FIX] website_forum: fix the invalid URL link
How to reproduce:
- Login as a portal user, create a new post by adding a URL link
- Post Your Question
- Login as admin to validate the post
- Click on 'To Validate' from the moderation tool
- Click on the mentioned URL

Throws a Traceback and redirects to the about:blank#blocked
page.

Technical Reason:
The '_update_content' method performs a regular expression
on the link by using the escape method, which is later convert
the backslash '\' into '%5C' while html_sanitize.

After this commit:
Clicking on the mentioned link redirects to the correct URL

Task-3472776

closes odoo/odoo#148064

X-original-commit: dedfb9a42e7bade98756e73a3d6c54c581e99547
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2024-01-04 12:02:10 +00:00
Martin Quinteros 2f6b3a0ee0 [FIX] payment_mercado_pago: sanitarize tx reference in webhook url
Description of the issue/feature this PR addresses:
The webhook URLs used by MercadoPago are not sanitized and cause the payment to fail when the URL contains spaces or other non-ASCII characters.

Steps to reproduce the bug:
1. Instal the Argentine localization and configure "payment_mercado_pago" as the payment method (test or production).
2. Create an invoice and generate a payment link (the reference will be something like "FA-C 0001-000133444").
3. Initiate the payment process and it will generate an error in the last stage of payment (on the MercadoPago website).

- Mercadopago tests credentials TEST-4811719641145832-020115-c5caffc149634e3e9d72fde2b74544d8__LD_LA__-172837665
- Used payment methods: https://www.mercadopago.com.ar/developers/es/docs/checkout-api/additional-content/your-integrations/test/cards

- Credencial de test usada TEST-4811719641145832-020115-c5caffc149634e3e9d72fde2b74544d8__LD_LA__-172837665
- Metodo de pago usados: https://www.mercadopago.com.ar/developers/es/docs/checkout-api/additional-content/your-integrations/test/cards

Current behavior before PR:
Payment in MercadoPago cannot be confirmed when the reference contains spaces.

Desired behavior after PR is merged:
Payment in MercadoPago is confirmed even when the reference contains spaces.

Adhoc Ticket: 68591

closes odoo/odoo#148027

X-original-commit: 320b316df0a2c7df183f80db4a561ff5d1517e70
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-01-04 12:02:08 +00:00
Soukéina Bojabza f1a2fe43a4 [FIX] web_editor, website: consider images with a link as grid images
The "grid images" are grid items that only contain an image (i.e. the
image is alone in its column). This distinction with other images in
grid mode allows to set the `object-fit` CSS property to `cover` so they
take the whole space of the grid item (see commits [1] and [2]). In
commit [3], the "Position" option has been added, allowing to switch
between the `cover` and `contain` values for this property, to have the
possibility to still choose to display the entire image, so it can keep
its ratio.

However, only the images that are direct children of the column have
been considered when checking if it was a grid image and in the related
CSS rules. This means that an image with a link cannot be one, since
the image is the child of an anchor element `<a>` in that case. It can
therefore not be set as "cover" or have the "Position" option.

This commit adds the support for images with a link set on them, so they
can be considered as grid images too.

Steps to reproduce:
- Drop the "Masonry" snippet.
- Click on the image and set a link on it.
=> The image is now "contain" and the "Position" option disappeared from
the right panel so we cannot change it.

[1]: https://github.com/odoo/odoo/commit/e9c7e020daf88022d6e02de0a5620074e8417b5a
[2]: https://github.com/odoo/odoo/commit/d8c374e3e6b31bf88aa42952aadf3379936f7600
[3]: https://github.com/odoo/odoo/commit/faf19ef7f87fc043fb9a814516e01b8eeafd9b61

opw-3580128

closes odoo/odoo#148022

X-original-commit: 085d70cea571ea80c141ac6005e8bd8333bd269f
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Soukéina Bojabza (sobo) <sobo@odoo.com>
2024-01-04 12:02:07 +00:00
Simon Genin (ges) 9c16842038 [FIX] website_cf_turnstile: better error message for turnstile errors
Right now, when a turnstile error occurs, the user is displayed a
CORS error, which is incorrect. This commit fixes that by displaying a
more accurate error message.

The fix requires the addition of a small trick which is to use the
turnstile error handler system to catch and rethrow the error. It seems
useless, but it is actually required as errors thrown by files coming
from external domains will be set by the browser as "Script error" and
stripped of any further info. So for better error handling, these few
lines are worth it.

The error is most likely to happen when duplicating a database as
turnstile requires a specific domain name in its cloudflare settings.
This improved message will hopefully help support manage better this
situation.

Hopefully, we can make something in the DB duplication tool to avoid
the issue entirely and have this error message displayed only for "real"
but rare errors.

closes odoo/odoo#148016

X-original-commit: 112508dbc57bfbc3e8145bf4c8ed260e17071a91
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Simon Genin (ges@odoo) <ges@odoo.com>
2024-01-04 12:02:06 +00:00
Mayurrajsinh Rathod b83049487f [FIX] website_crm_partner_assign: align priority on portal view
Steps to reproduce 
==================
Make sure your resolution is around '1368 x 768'.
1. Open/create an opportunity and assign a partner (Joel wills).
2. Go to Joel's portal view.
3. Click on the Opportunity and go to the priority.
The priority's alignment is distorted.

After this commit
=================
Align priority correctly on the portal view of opportunities.

Task-3607070

closes odoo/odoo#147983

X-original-commit: dfff592bea9cd393913b703e512dc56b83928849
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2024-01-04 12:02:04 +00:00
FrancoisGe da358cfc1f [FIX] web: add autocomplete attribute to the email input in login view
Before:

In chrome, you can see the message "[DOM] Input elements should have
autocomplete attributes (suggested: "username"):
(More info: https://goo.gl/9p2vKq)".

After:

The message does not appear.

Also, This maintains consistency with the password input which has the
attribute autocomplete.

closes odoo/odoo#147971

X-original-commit: df53b6a842f6eecc699ea9d8625c918279bb22c6
Signed-off-by: Francois Georis (fge) <fge@odoo.com>
2024-01-04 12:02:03 +00:00
FrancoisGe d61829f9a2 [FIX] web: close dialogs on navigation command
Before this PR:
Previously, when the command palette was opened and a navigation command
("/") was being executed with single or multiple dialog boxes behind it,
only the command palette would close. This left the dialog boxes open.

After this PR:
Now, when a navigation command ("/") is being executed from the command palette,
all the dialog boxes and the command palette close simultaneously.

Task-3441132

closes odoo/odoo#147956

X-original-commit: 7b32b235ec488d347285a9f47aa9d4b04b0b186c
Signed-off-by: Francois Georis (fge) <fge@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2024-01-04 12:02:02 +00:00
Guillaume (gdi) f2d3a193c2 [FIX] website: show form dynamic recipient email in edit mode
Since [this other commit], the recipient email option of the form on the
`/contactus` page is not filled correctly with the company email.
By chance, the form signature task fixed the bug but introduced another
one. The previous commit fixed the bug introduced by the form signature
task but reintroduced the inital bug. This commit fixes the initial bug
and adds a test.

By default, the form on the `/contactus` page sends emails to the email
address of the company. Unfortunately, before this commit, when a user
entered edit mode, the Recipient E-mail option always displayed
"info@yourcompany.example.com" even when the company's e-mail address
was different. This commit corrects this by displaying the dynamic value
of `company.email` in the Recipient E-mail option coming from the
data-for.

Steps to reproduce the issue fixed by this commit:
- Go to Settings > General Settings
- Update the company's email address
- Go to /contactus and edit
- Click on the form

=> The recipient email value is still "info@yourcompany.example.com"
   instead of the company's email address.

This commit fixes the issue, adds a test to ensure the recipient email
option is correct and adds a utility to parse the data-for data.

Bonus: this commit also fixes the following issue catched by sentry:
- Go to /contactus
- Click on Edit
- In the Form option, remove the content of the 'Recipient Email' field.
- Save
- Fill and submit the form

=> An error is generated in the log.

[this other commit]: https://github.com/odoo/odoo/commit/043e1fdf923d2037dd8da128ab99388f0c92e544

task-3382195
sentry-4633940473

closes odoo/odoo#147933

X-original-commit: 56f6b8dccec5cebc9a93454538b39886d4d3f63c
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Guillaume Dieleman (gdi) <gdi@odoo.com>
2024-01-04 12:02:01 +00:00
Guillaume-gdi f9154bb6db [FIX] website: make email_to of contactus form dynamic again
The email_to field of the contactus form have to be dynamic except if
the user manually set it via the form options. Unfortunately, the
website signature task broke this feature. This commit fixes it and adds
a test to prevent this regression in the future.

Steps to reproduce the bug:
- Go to the contactus page
- Edit the page
- Add a field on the form
- Save the page
- Change the company email address via the settings

=> The contactus form still send the email to the old email address.

Related to task-3382195

X-original-commit: 10b4db60fbd077936b5c9586485fa40c3c890d3f
Part-of: odoo/odoo#147933
2024-01-04 12:02:01 +00:00
Julien Castiaux 2a8dd60118 [FIX] core: HTTP 413 when restoring large backups
In #126914 a limit on the request size has been enforced, that limit is
by default 128MiB and can be configured via an ir.config_parameter. When
restoring a backup larger than 128MiB via the database manager, the
default limit was used and the request was cancelled with a Request
Entity Too Large (code 413) HTTP error.

It is now possible to define a default max content length per route,
that per-route limit takes over the `web.max_file_upload_size` ICP.

Moved the code from `get_http_params` to `pre_dispatch` to better align
with the httpocalypse new http stack.

Fixes: #144144
opw-3643475

closes odoo/odoo#147506

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2024-01-04 12:01:59 +00:00
kdeb@odoo.com e88f8ad89f [FIX] website_event: Add style to the quantity of selected tickets
Issue:
- In mobile when we have multiple tickets, the quantity of
      selected tickets is not visible

Steps to reproduce the issue:
- Go to events
- Select any event with multiple tickets
- Go to website
- Click on register now
- Notice in mobile the quantity of selected tickets is not visible

Solution:
- Add style to the quantity of selected tickets

this it was introduced by: 469d94a
opw-3602057

closes odoo/odoo#146904

Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2024-01-04 12:01:58 +00:00
Antoine Boonen 26a2e94528 [FIX] l10n_in: Update India default tax.
Problem
---------
Before, the default tax for sale and purchase was: GST 5%. Commit
084408a9bb, modfied by accident the
default tax to IGST 18%.

Objective
---------
Revert the deault taxes back to GST 5%.

Solution
---------
Update the default taxes in the l10n_in template file.

task-3634577

closes odoo/odoo#146809

Signed-off-by: Josse Colpaert <jco@odoo.com>
2024-01-04 12:01:57 +00:00
Nishit Prajapati 4120e46fdc [FIX] mass_mailing: fix template content visibility in email
How to reproduce:
 - Create an SMS and send it
 - go to the sent option and select a contact
 - Click on add to list
 - Select a mailing list
 - then click on add and sent mailing (you will be redirected to email marketing)
 - Select a template and send it
 - The recipient will not be able to see the template (The email is blank)

Issue:
Template value is not stored in the body_html field

Technical reason:
When the record is saved the changes in `body_html` are discarded from _getchanges() https://github.com/odoo/odoo/blob/c2b160fe50c24e9f01d0d5b350f2422cfdbc72d4/addons/web/static/src/model/relational_model/record.js#L574-L581
because, field is set to readonly = 'true' after this commit https://github.com/odoo/odoo/pull/132247

After this commit:
The recipient will be able to see the template

Task-3556020

closes odoo/odoo#143293

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2024-01-04 12:01:54 +00:00
Dossogne Bertrand 58dec20ccf [FIX] hr, hr_contract: fix employee attendance data fetch
Before this commit, _get_calendar_attendances was calling
the calendar method get_work_duration_data without specifying
the company in the domain, ending up in wrong data if global
leaves that don't concern the employee are concerning the calendar.

This commit adds a domain for that method call so that only
relevent global leaves are taken into account.

closes odoo/odoo#148043
2024-01-04 10:46:39 +00:00
Robin Lejeune (role) b0bb196dce [FIX] web_editor: unobserve background grid z-index
Minor fix: the background grid is not observed in the first place,
setting a z-index on it should not be observed either.
Noticed when fixing `automaticStep(Un)active()` at [1].

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

Related to task-3576046

closes odoo/odoo#147970

X-original-commit: 901ed6d8c6c6bdb8aff8e9366d63bba59051019a
Signed-off-by: Guillaume Dieleman (gdi) <gdi@odoo.com>
2024-01-03 18:06:02 +00:00
Kishan Gajjar 9266effcd3 [FIX] payment_demo: prevent header overlap with "pay with demo" dialog
closes #147935

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-01-03 18:06:01 +00:00
Manushi Shah (mash) de8d3deeae [FIX] web: displaying price on product stat button
Steps:
- Open Field Service
- Create a new task
- At first, the product stat button shows the price as 0.00
- Add task name and customer
- Save the task.
- Check product stat button

Issue:
- Now, after saving the task, the product stat button will not have the price
shown as it was displayed before.

Cause:
- The class o_field_empty is applied which has the property of display: none
and hence the price field is not displayed.

Fix:
- The o_field_empty class is applied at the wrong place, we need to apply the
o_field_empty only when o_stat_text is applied.

closes odoo/odoo#147926

Task: 3394985
X-original-commit: 9ea49b1e0be064ef4dd7dafe05aff4bd742ac135
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2024-01-03 18:06:00 +00:00
Manushi Shah (mash) 7e9563bb77 [FIX] web: rectify alignment of worksheet template
Steps:
- Open Field Service
- Switch to the calendar view
- Click on any task
- Notice the space in the row of the worksheet template

Issue:
- There is a weird space between the title Worksheet Template and the template
name

Cause:
- Due to the long name of Worksheet Template, it moves to the next line but
occupies a certain amount of space around it

Fix:
- By giving flex-wrap, the content is displayed properly

Task: 3394985

Explanation:
When the label 'Worksheet Template' is long and moves to the next line without
flex-wrap, it may cause unwanted spacing issues. By using `flex-wrap: wrap`,
you essentially enable the content to flow onto a new line if it exceeds the
available width, ensuring a more visually appealing and properly aligned
display without unnecessary space around the label. It allows for a more
flexible layout, accommodating varying content lengths without compromising
the overall presentation.

closes odoo/odoo#147925

X-original-commit: 9be92729eaa4bc3b3cfe9778cb2b1fcc47a8cc59
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2024-01-03 18:05:59 +00:00
Antoine (ande) bc87944b7a [FIX] web_editor: document layout has color issue
Current behaviour:
When changing the text color in the document layout
of the company to one of the first row colors,
the text stays black in the preview of the document.

Steps to reproduce:
1. Go to Settings
2. Click on Configure Document Layout
3. In Company Details, highlight the text
4. Change the font color to any of the first row
5. (By example the color #35979c)
6. The text color in the preview is still black
7. (Same when exporting to PDF)

Cause of the issue:
The css code for colors in top row (o-color-1 to 6)
is generated in web_editor (.text-o-color-1 to 6)
and was not in the report_assets_common bundle
See https://github.com/odoo/odoo/blob/01b42c7d76c814e13325f8880dc9de765b0f43c8/addons/web_editor/static/src/scss/web_editor.common.scss#L662

opw-3360456

closes odoo/odoo#147645

X-original-commit: 0b914f3d0dc209ca87837feb15e6ec3f063be534
Signed-off-by: Antoine Demany (ande) <ande@odoo.com>
2024-01-03 18:05:58 +00:00
kdeb@odoo.com e729355c83 [FIX] l10n_gcc_pos: add missing VAT per line and resolve styling issues
Issue:
- For GCC localization, the receipt lacked VAT details per line and
  had mixed-up numbers at the bottom, and contained wrong translations.

Steps to reproduce:
- Activate the Saudi localization (l10n_sa_pos).
- Open the Point of Sale app.
- Create a new order and print the receipt.
- Notice the missing VAT per line, the mixed numbers for large amounts
  at the bottom and the wrong translation.

Solution:
- patched the Orderline.prototype to display precise tax amounts with
two decimal places.
- updated the view to show tax details per line for gcc localization.
- added correct Arabic translations, and removed incorrect ones.
- See attachment for more details.

OPW-3652633

closes odoo/odoo#147859

Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2024-01-03 16:59:18 +00:00
Loan (LSE) ce59fd6edb [FIX] hw_drivers: reconnect on server disconnection
To reproduce:
 1. Sync the IoT with a 17 database
 2. Once it is set up, force shut down the server by Ctrl+C 2 times
 3. Wait a few seconds:
=> crash of `WebsocketClient` thread with the following traceback:
```
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_i>
self.run()
  File "/home/pi/odoo/addons/hw_drivers/websocket_client.py", line 83>
self.ws.run_forever()
  File "/usr/local/lib/python3.11/dist-packages/websocket/_app.py", l>
raise WebSocketException("socket is already opened")
websocket._exceptions
WebSocketException
socket is already opened
```

The IoT synchronised servers can stop in 2 ways that we need to handle:
 A. Gracefully (Ctrl+C):
  In this case a disconnection signal is sent to the IoT-box
  The websocket is properly closed, but it needs to be established a new connection when
  the server will be back.
  Solution: `while True` loop as `run_forever` will return on close.
            `time.sleep` for the reconnection delay

 B. Forced/killed (Ctrl+C 2 times):
  In this case there is no disconnection signal received
  Solution: use `reconnect` that will automatically take care re-attempting a connection

  This will also happen with the graceful quit as `reconnect` will trigger if the server
  is offline while attempting the new connection

In both case, we perform a reconnection attempt with a delay of 10 seconds to avoid
spamming the database

After this commit:
 The websocket will reconnect itself automatically after 10 seconds
 if the connection is disrupted

opw-3612528

closes odoo/odoo#147858

Signed-off-by: Yaroslav Soroko (yaso) <yaso@odoo.com>
2024-01-03 16:59:17 +00:00
Hubert Van De Walle 38155143dc [FIX] website: prevent crash in FormEditorRegistry if key not found
Steps to reproduce
==================

Go to Maintenance > Studio > Website > New Form
Click on the website editor
Click on the name field

UncaughtPromiseError > KeyNotFoundError

Cause of the issue
==================

Starting from 17, the FormEditorRegistry is not the legacy one.
If the key is not present in the registry, it will fail, unless we pass
a default value.
In this case, the key `website_form_key` is false.

Solution
========

Pass null as the default value.

opw-3652423

closes odoo/odoo#147840

Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2024-01-03 16:59:16 +00:00
Tiffany Chang (tic) 7e6b875d1e [FIX] stock: ensure reception report always uses quantity field
Following quantitypocalypse (odoo/odoo#137864), a couple of
`reserved_uom_qty` and `reserved_qty` references were left over. This
was partially due to no tests for these tricky parts of the code,
therefore we both fix these references to use the newer
`quantity`/`quantity_product_uom` fields and add/update tests to ensure
we avoid breaking these 2 use cases again.

Also discovered during this fix, the remaining assigned qtys when
unassigning done incoming moves from already reserved outgoing moves
(i.e. the "1. batch reserved + individual picking unreserved" use case
in the code comments) was NOT being calculated correctly. This also
fixes that + adds a test for it.

closes odoo/odoo#147815

Related: odoo/enterprise#53536
Signed-off-by: Steve Van Essche <svs@odoo.com>
2024-01-03 16:59:15 +00:00
Tiffany Chang (tic) f34268b074 [FIX] stock: remove obsolete force_detailed_view context
Since odoo/odoo#140898 the pickings detailed operation view has been
moved to a smart button instead of showing in a picking tab. This
included the removal of the `force_detailed_view` context since there
was no longer a detailed view to force show. This commit removes some
leftover references to this context within tests.

Part-of: odoo/odoo#147815
2024-01-03 16:59:15 +00:00
Sébastien Theys 44dcc1a35f [FIX] mail: batch insert of fetched channel members
This reduces the time of the method from 400ms to 40ms on my machine.

closes odoo/odoo#147814

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2024-01-03 16:59:13 +00:00
Sébastien Theys f9bd7d4c6c [FIX] mail: avoid proxy when calling methods internally
Method lookup also go through the proxy, but these aren't necessary when
finding the method, only when actually calling it.

Part-of: odoo/odoo#147814
2024-01-03 16:59:13 +00:00
Sébastien Theys 403a7c2eb7 [FIX] mail: remove reactive from Model/store internals
Internal code doesn't need to use reactive when reading store or Model,
especially not in `insert` that is not meant to access anything observed
except when actually writing records (in which case `_proxy` is used).

The `get` part of `preinsert` (and its full chain) must be kept with the
full proxy however, to ensure proper trigger of reactive callback when
returned record changes.

Part-of: odoo/odoo#147814
2024-01-03 16:59:13 +00:00
Sébastien Theys de5c0b19ab [FIX] mail: improve performance of im status registration
Forward internal proxy for performance as onUpdate does not need
reactive (observe is called separately).

Part-of: odoo/odoo#147814
2024-01-03 16:59:13 +00:00
Sébastien Theys a4ce01fc0f [FIX] mail: assign localId directly on record
There is no need to go through the proxy to assign localId as nothing
should observe it at this step, and it shouldn't change anyway.

Part-of: odoo/odoo#147814
2024-01-03 16:59:13 +00:00
Sébastien Theys ee09278c18 [FIX] mail: do not register lazy onChange for eager fields
This mechanism is only used for lazy fields to determine when they stop
being observed, there's no need to constantly observe eager fields like
that.

Part-of: odoo/odoo#147814
2024-01-03 16:59:13 +00:00
Sébastien Theys f0928cda55 [FIX] mail: optimize onChange by accessing reactive only once
Access `proxy[key]` only once to avoid triggering reactive `get()` many
times, as this will be triggered in cascade to all elements in the chain
in internal code, saving possibly dozens of uncessary calls per
callback.

Part-of: odoo/odoo#147814
2024-01-03 16:59:13 +00:00
Sébastien Theys 5fa9a3bf36 [FIX] mail: improve performance and stack of js records
The internal reactive is only necessary to trigger outer reactives when
writing on it. As it has no callback, reading through it has no effect,
except slowing down performance and complexifying the stack.

This change removes reactive from the stack as soon as possible.

Part-of: odoo/odoo#147814
2024-01-03 16:59:13 +00:00
Zelong Lin 55748288e6 [FIX] mail, im_livechat: fix /help command outputing tags
Mismatch of str and Markup led to escaping everything. Now properly
Markup code and escape the rest.

closes odoo/odoo#146399

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2024-01-03 16:59:08 +00:00
Antoine Boonen 0e2b986c2c [FIX] l10n_xx: Fix spanish translation.
Spanish translation has been modified by commit
bf81596aa7

This behavior makes spanish variant (maxico, uruguay, columbia, etc.)
use the es_419.po instead of es.po.

This commit renames the po files for the LATAM localizations so that
translations work as expected.

Initiated by customer issue:
opw-3627465

closes odoo/odoo#146125

Related: odoo/enterprise#52694
Signed-off-by: Josse Colpaert <jco@odoo.com>
2024-01-03 16:59:08 +00:00
sabr 55a14c3874 [FIX] hr_attendance: generated unique kiosk key for every company
This issue occurs when a customer creates multiple companies. Then, after
installing the attendance module, after selecting the kiosk mode, an error
is generated. This is because, before installing the attendance module,
if the customer created a company, a single kiosk key is generated. This
key is different for each company, but it is the same.

step to reproduce-
- First created two company.
- Install the `Attendances` & Open it.
- Click on the Kiosk Mode from Menu.
- Error will be generated.

Error-ValueError
      Expected singleton: res.company(2, 1, 4, 3)

after this commit,Each attendance kiosk key generated during the company's
creation is unique.

sentry-4617967282

closes odoo/odoo#145382

Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
2024-01-03 16:59:06 +00:00
Achraf 428851c34c [FIX] website_hr_recruitment: Allow users to apply form
Steps:
	- Install `website_hr_recruitment`
	- Try to add a file in `Resume`
	- Click on Apply

A traceback is raised because we use `.val()` instead of `files.length`
to check if the user has uploaded

closes odoo/odoo#145008

Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
2024-01-03 16:59:05 +00:00
Alexandre Kühn dc18313d42 [FIX] l10n_ke_edi_tremol:tests: freeze test to 2023
These test rely on default generated name of account invoice
that contains the year, e.g. `INV2023`. These tests were passing
in 2023 but no longer on January 1 2024.

closes odoo/odoo#147873

X-original-commit: 94f093c9ae532eb12ef17dc0f37dc5da64a6d7ed
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2024-01-03 10:58:06 +00:00
rhe-odoo d598390d1c [IMP] point_of_sale: UI Enhancements
This commit presents UI improvements:

Renamed the back button to "Change Table."
Increased idle table closure time from 1 minute to 3 minutes.
Implemented a restriction preventing users from transferring orders to table already in use.
Displayed the attributes of an order line in the order widget.

closes odoo/odoo#147677

Signed-off-by: Adrien Guilliams (adgu) <adgu@odoo.com>
2024-01-03 10:58:05 +00:00
Julien Castiaux 72ec839b67 [FIX] auth_totp: unbound request with xmlrpc
Enable TOTP on your account and create yourself an API key. Connect in
xmlrpc using that API key. Traceback `request` is not bound.

Fixes: odoo/documentation#6919
See also: #147475

closes odoo/odoo#146270

Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2024-01-03 10:58:04 +00:00
Hugo Carlier (Huca) e9127a9fdf [FIX] project: remove onchange on date/date_end for projects
Steps
=====
- Install module project
- Open the form view of a project
- Set a planned date
- Click anywhere on the page to remove the focus from the date picker

Issue
=====
The chosen date disappeared without any explanation to the user

Cause
=====
odoo#123268 introduced some changes related
to the planned dates of projects.
1. the write method is modified to avoid the write of only a start/end
date (both date should be set or none of them)
2. a required is added on the start date field in the form view of
project
3. an onchange is added to avoid to have one of both field set and not
the other

This last change is problematic as it overrides the required behavior of
the date fields.

On top of that, https://github.com/odoo/odoo/pull/143509 changed the
behavior of the datepicker widget that only display the full range by
default if both fields are required (which is not the case here if they
are empty).

The combination of those changes have the consequence that the planned
date field is unusable in the form view of projects.

Fix
===
The onchange being only useful in form view, it is deprecated as the
required attribute is sufficient for this usecase and provide the user
warnings if he forget a field. On top of that a required attribute is
also set on the end date field.

task-3628069

closes odoo/odoo#145167

Related: odoo/enterprise#52280
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
2024-01-03 10:58:02 +00:00
Hugo Carlier (Huca) bc98aad620 [IMP] web: add always_range option to daterange widget
always_range option on the daterange widget allows to always display this
widget as a range (two inputs separated by an arrow) even if both
start/end date are empty and not required.

task-3628069

Part-of: odoo/odoo#145167
2024-01-03 10:58:02 +00:00
Chrysanthe (chgo) c04d667912 [FIX] web: allow radio fields to wrap horizontally
This commit adds the possibility for the `.o_horizontal` class to wrap,
which is especially interesting in mobile.

When using a `radio` widget, you can choose to use two options :

- `horizontal` which will add a `.o_horizontal` class to the radios
and allow them to display with a `flex-row`

- `vertical` which will add a `.o_vertical` class to the radios
and allow them to display with a `flex-column`

Prior to this commit, the `.o_horizontal` class was not allowing elements
to wrap, which would cause overflow issues on small devices.

To fix this issue, we add a `flex-wrap` property to the class, to ensure
that if the buttons are larger than the breakpoint, they will wrap
and stay inside the container.

task-3580082

closes odoo/odoo#140651

Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2024-01-03 10:58:00 +00:00
Paolo Gatti (pgi) a0741f6427 [IMP] web: Settings default search context key
The Settings page lacks a default search context key, because it lacks
the `<search>` arch.
We add a context key to make actions target some settings.

closes odoo/odoo#147149

Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
2024-01-03 09:17:50 +00:00
Trinh Ngoc Hung db2c22f0d4 [FIX] l10n_vn: Account type
242: These future expenses must be deferred on the company’s balance
sheet until the moment in time they can be recognized, at once or over a
defined period, on the Profit and Loss statement.
6274, 6414, 6424: Fixed asset depreciation not expense

closes odoo/odoo#146802

Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
2024-01-03 09:17:49 +00:00
Theo VINCENT (thvi) 1479104495 [FIX] pos_online_payment: full flow test
- Replaces a randomly failing test by a simpler test.
As reported by XDO (https://github.com/odoo/odoo/pull/123237#discussion_r1410620206), executing web requests asynchronously during the execution of a tour which does an RPC is randomly failing.
The fix consists in not testing the full online payment flow with the cashier frontend interface, but instead simulate an order saved on the server and simulate real customer web requests for paying online for that order.

 - Simplifies the way payment portal URLs are build.

closes odoo/odoo#145595

closes odoo/odoo#146029

Task-id: 3632217
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Théo Vincent (thvi) <thvi@odoo.com>
2024-01-03 09:17:48 +00:00
Nicolas Martinelli 8239bfb226 [IMP] base: higher priority for vacuum
There are various cases where we observe crons which systematically
face a CPU / memory limit. In a setup where a single worker cron is
launched, a failing cron will prevent subsequent crons to run.

This happens because the limits are evaluated at the worker level: the
worker is killed, then starts over with the same job list order.

If the vacuum cron cannot be run anymore, it leads to tables not
garbage collected anymore (e.g. `bus_bus`), causing performance issues.
To avoid this, we give a higher priority to the vacuum cron.

closes odoo/odoo#144210

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2024-01-03 09:17:48 +00:00
Prakash Prajapati f1654683b6 [FIX] web: fix the test case related to the year
Before this commit, since we are no longer in 2023, the test failed
because there is no longer 2021 in the filters dynamically added in the
dropdown of the date filter. The reason is now we have the current year,
the previous one, and the one before, that is, 2024, 2023, 2022.

This commit adds a patchDate to be sure we will start the test in 2023,
to get the expected filters displayed (2023, 2022, 2021).

closes odoo/odoo#147809

Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2024-01-02 16:09:51 +00:00
Prakash Prajapati 9a3d51c1e3 [FIX] spreadsheet: fix the test case related to the year
Part-of: odoo/odoo#147809
2024-01-02 16:09:51 +00:00
Xavier-Do 1b5d6893c6 [FIX] l10n_hk_hr_payroll: remove from standalone tests
This is breaking since 2024-01-01, disabling the test waiting for a
proper fix.

closes odoo/odoo#147846

X-original-commit: 56cdb8a4ad4a4650df2399305ed6210833b325b5
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2024-01-02 15:48:46 +00:00
Odoo Translation Bot ad35458e8b [I18N] Update translation terms from Transifex 2023-12-31 00:18:24 +01:00