Commit Graph
162968 Commits
Author SHA1 Message Date
Kevin Baptiste 427d31766d [IMP] hr, hr_contract: show fields to employee manager
Adds a mechanism to have some fields available to the employee manager
on the public employee profile.

Here `first_contract_date` is available for the employee manager.

task-2882052

closes odoo/odoo#124640

Related: odoo/enterprise#42362
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
2023-07-11 18:03:18 +02:00
Leonardo Pavan Rocha 79d4a829e5 [IMP] web: many2many_tags_field allow passing noViewAll to Many2XAutocomplete
In sign, we don't want to show the view all option when choosing sign options
for a sign item in a template. This commit adds the noViewAll prop to the
many2many_tags_field component.

task-3233643

closes odoo/odoo#122157

Related: odoo/enterprise#39787
Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
2023-07-11 18:03:10 +02:00
Aaron Bohy b553163b4e [FIX] web: fix clickbot to enter studio
Since [1], the DOM of the studio icon has changed, and no longer
matches the selector of the clickbot menu. As a consequence, it
no longer entered Studio. This commit fixes the selector.

[1] odoo/enterprise#9da0c9fab6c066aa97bc8cb99eb0e54b5a76a08f

closes odoo/odoo#128040

X-original-commit: aba563c58ec890bbf33d4a7d3cc34e9b2a4012a0
Related: odoo/enterprise#43910
Signed-off-by: Luca Vitali (luvi) <luvi@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-07-11 12:00:49 +02:00
momegahed 6c8e3b2705 [FIX] hr_skills_slides: error on creating course
Steps to reproduce:
1. add the existing field `employee` to the `res.partner` form view
2. toggle it for the current user
3. try to create a new course in elearning
4. traceback

bug:
the code assume that the employee field is `partner.employee` however
it is just a boolean field

opw-3345462

closes odoo/odoo#127955

X-original-commit: 74e74c9a4df75148125268b901742c12799186fe
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-07-11 12:00:40 +02:00
xO-Tx 4691fc4bbe [FIX] website: fix current animated text update on text animation
Steps to reproduce:

- Go to website > drop a snippet with text content.
- Select a text > click on text animation button to activate the option.
- Click on the button to disable text animation > The text animation
cannot be applied again on the text.

Starting from 16.0 (exactly [1]), the `document` > `selectionchange`
event listener was added on `this.$body[0]`, which means the code from
`__onSelectionChange` will never be executed, and as a consequence, the
option will handle the text as if it has already an animation because
of the not correctly updated value in `this.$currentAnimatedText`.

Spotted while working on [2].

[1]: https://github.com/odoo/odoo/commit/3c2febddb67888617dad74af0e9e46ed60d105b7#diff-d2188391a9d83cc97f3220e08d259e82796d94191dcf5e5fdb9b77e57074e6a5
[2]: https://github.com/odoo/odoo/pull/122751

task-3414256

closes odoo/odoo#127812

X-original-commit: 1bf244c77f4bd1f52c0964b75e0ce5582bfa54f7
Signed-off-by: Guillaume Dieleman (gdi) <gdi@odoo.com>
Signed-off-by: Outagant Mehdi (mou) <mou@odoo.com>
2023-07-11 12:00:37 +02:00
Claire Bretton (clbr) 4466370eb5 [FIX] l10n_ch: Swiss QRCode relax origin country constraint
We allow creation of QR-Bill codes when they are issued from
another country than Switzerland.

Steps to reproduce :
1. Enable QRcode Bill in Accounting settings
2. Set a valid Swiss QR-IBAN account on your company.
(Contact > CH Company > Accounting tab > Bank Accounts:
Set account number to `CH21 3080 8001 2345 6782 7`.)
3. Set the CH Company's country to something else than Switzerland.
4. Create a Swiss partner (be sure to set all address/ZIP/city/country=CH).
5. Create an invoice to that Swiss partner and post it.
6. Click Print QR-BILL, it will raise an error.

closes odoo/odoo#127798

Task: 3359821
X-original-commit: c456c78e347c707b0f5b684b47631e5566963289
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
2023-07-11 12:00:35 +02:00
Rodolpho Lima 17cd7fcd6d [FIX] web_editor: comment about transforming URL inside link
The previous comment referenced in this commit is no longer reflects
the code section that follows it, as it has undergone modifications in a
previous commit [1]. The code segment responsible for pasting image and
video has been relocated and is no longer positioned beneath the
comment, rendering it obsolete.

The comment has been reworded to accurately reflect the content of the
code section that follows.

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

closes odoo/odoo#128025

X-original-commit: 7929389a1c2f9e6cfdf34de813abc6f8c90b8371
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-07-11 09:10:31 +02:00
Rodolpho Lima ec302e06d0 [FIX] web_editor: line breaks pasted as BR
Before this commit, when pasting the clipboard content as plain text
(CTRL+SHIFT+V), line breaks ('\n') got converted to `<br>` elements.
This made the behaviour of the pasted section inconsistent with the
other parts of the edited document, in which line breaks are obtained
via paragraphs (`<p>`). In particular, when converting the pasted
content to a list, the whole multi-line content would be added to a
single list item, instead of one item per line.

This commit makes sure pasted line breaks result in new paragraphs.

task-3323873

X-original-commit: 18026ed2d4efaa6323e38b53eced77b1db666453
Part-of: odoo/odoo#128025
2023-07-11 09:10:30 +02:00
Carsten Wolff (cawo) 48972503c2 [FIX] sales_team: set forcecreate=0 on crm_team_member_admin_sales
A considerable number of upgrade requests fail on different python constraints,
because the DBs in question are missing the `crm_team_member_admin_sales`
xmlid, while the data is in conflict with the attempt to restore the default
data (e.g. `base.user_admin` and `team_sales_department` have been assigned to
different companies or simply the data still exists and is still marked as
active).

The removal of the xmlid can only be done by an admin in developer mode and it
is safe to assume that the intent was to no longer have the default data and
that it is of no use to recreate it.

To support this intention and to make these upgrades succeed, set
`forcecreate="0"` on the XML record `crm_team_member_admin_sales`.

opw-3414340

closes odoo/odoo#128020

X-original-commit: 73fa2c03928afb8a3bdc3533d3af0874505ff6b8
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Carsten Wolff (cawo) <cawo@odoo.com>
2023-07-11 09:10:27 +02:00
clesgow 51de4ab9b5 [FIX] web: handle focus for buttons cells in list
This is reproducible in lots of ways, here's one:
- Inventory -> Products -> Any storable product
- Click on Update Quantity
- Click on the cell where the 'History' and 'Set' button are

This raises a traceback as the `cell` assigned right before is null at
that point. Indeed, since those cells from a special kind of column made
of buttons (o_list_buttons), those don't have a `name` attribute to
find, hence the traceback.

closes odoo/odoo#128014

X-original-commit: 222dc64be51cc8e711278cff96392e755ba39fd4
Signed-off-by: Francois Georis (fge) <fge@odoo.com>
2023-07-11 09:10:24 +02:00
Maximilien (malb) e410bed643 [IMP] l10n_fi: Adding account + translation
Before this PR, a lot of account were missing from the finnish COA.
The goal of this PR was to add those missing account following this spreadsheet:
https://docs.google.com/spreadsheets/d/1hpQndK24UJ9efvl_Vyp5p-UczonIm_FxPnakf_Ugm68/edit#gid=1134177820

Also adding the according translations

closes odoo/odoo#128001

Task: 3241121
X-original-commit: 6833ba3b86df5ce3a28696e99c56aa186375a680
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
2023-07-11 09:10:21 +02:00
John Laterre (jol) 182648a1f1 [FIX] account: fix reversed move payment state
Currently, when reversing a customer invoice with a credit note
that included an exchange difference, the payment state would
switch to 'Paid' instead of 'Reversed'.

This was due to the fact that the exchange difference entry
changed the way the payment state was evaluated. This
is being fixed here.

task-3418480

closes odoo/odoo#128000

X-original-commit: 01cb9804d46d75d820e7e16ce065e1034d7a8c20
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Signed-off-by: John Laterre (jol) <jol@odoo.com>
2023-07-11 09:10:18 +02:00
tsm-odoo 9728406695 [FIX] mail: fix transient messages wrongly positionned
Before this commit, transient messages were inserted at the
wrong position.

Steps to reproduce:
- Send a message on a channel
- Execute the `/help` command
- The transient message is positioned before the message
that was sent first.

When a message was posted, the message fetch route was called
and the transient messages were inserted again.

They are two issues here:
- Messages should not be fetched when posting a message
- Transient message index is wrongly computed when it is
the last one.

This PR fixes both issues.

closes odoo/odoo#127979

X-original-commit: bebea00e1ff0757ce5ce34d6ae87f6adef2e515c
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
2023-07-11 09:10:12 +02:00
Julien Mougenot 1fdfe36d9b [FIX] web_tour: support pointer events in tour helpers
This commit adds support for pointer events in tour helpers. The way it
works is that every event triggered in the "click" helper has been
changed to be a pointer event, and when needed the equivalent mouse
event is also triggered for compatibility.

closes odoo/odoo#126772

Related: odoo/enterprise#43305
Signed-off-by: Géry Debongnie <ged@odoo.com>
2023-07-11 09:10:07 +02:00
paso-odoo 0fab57e4eb [FIX] l10n_es_edi_tbai: check company vat for sender
If the vat is not set on the company and calls the method of web service
parameters for Bizkaia, it will raise an AttributeError like the 'bool' object
has no attribute 'startswith'.

Fix this issue by adding a condition to check the company's vat.

Sentry - 4282481635

closes odoo/odoo#127954

X-original-commit: 2eb66299a2edc5dd5194a7ea7a2ef208a135d533
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Parth Solanki (paso) <paso@odoo.com>
2023-07-11 06:52:57 +02:00
Benoit Socias 62bdd7adae [IMP] website, web_editor: placeholder in empty sanitized HTML fields
When an HTML field is empty and no block can be dropped inside it, it
is very difficult to locate or even notice.

This commit adds a placeholder text inside sanitized HTML fields.

Steps to reproduce:
- Install website_crm_partner_assign.
- Go to a contact without website description.
- Go to its website page.
- Edit page.

=> The `partner.website_description` field is difficult to locate.

task-3293600

closes odoo/odoo#120588

Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-07-11 03:35:39 +02:00
Benoit Socias 1bf2a891dd [IMP] *: make HTML fields with sanitized attributes edited as text-only
*: web_editor

When an HTML field sanitizes its attributes, it can still be filled with
HTML content (blocks, styling, power box commands) using the website
builder. This causes problems because those elements can then be broken
by the sanitizing.
It is possible to break elements so badly that the page cannot be
edited anymore to fix the problem.

This commit prevents the user from dropping snippet blocks inside the
content of such fields.

Steps to reproduce:
(Unless `slide.slide`'s `description` becomes
`sanitize_attributes=False` in the meantime.)
- Edit a single Course's slide.
- Drop a Carousel into the description field at the bottom.
- Save.

=> Carousel did not work.

Worse:
- Instead of the Carousel, drop a Countdown.

=> An error happens on each page reload, and the edit mode cannot be
reached anymore.

task-3293600

Part-of: odoo/odoo#120588
2023-07-11 03:35:39 +02:00
Xavier ALT 4978894a1b [FIX] hr_timesheet: fix access error on 'all timesheets' list view
After odoo/odoo@ad40298a9, when a user having access to timesheet app
but not to accounting app tries to see his timesheet in list view, and
some lines have been invoiced manually, an access error is raised.

This commit ensure that user can compute `readonly_timesheet` even when
user has no accounting access.

opw-3415661

closes odoo/odoo#127996

X-original-commit: 8f224acaac2d3c67d06284726a75194c9dc20a28
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-07-10 23:43:41 +02:00
Thomas Lefebvre (thle) e937d480d0 [FIX] hr_attendance: correct timezone in report
Steps to reproduce:
-------------------
- with timezone "Europe/Brussels" (UTC +02:00);
- create an attendance that starts at 1:00 AM;
- go to pivot view in Reporting tab.

Issue:
------
Attendance appears to be a day early.

Cause:
------
When converting a date to UTC for database storage,
it's possible that the date may change
(due to a large offset or hours close to 00:00).
Therefore, when we use `CAST(check_in as DATE)`,
we will keep the date that has potentially changed.

Solution:
---------
Use postgresql's `at time zone <timezone_name>`
statement to convert the recorded attendance
to UTC in the employee's timezone.

Note:
-----
On an employee's form view, the "Working Hours" field
(`resource_calendar_id`) is required.
The `resource_calendar_id` field is a Many to One
to the `resource.calendar` model.
The `resource.calendar` model contains
the `tz` field, which is required.

As a result, it will always be possible to find
an employee's timezone via his calendar resource.

Hypothesis:
-----------
Attendances are created using the browser's timezone.
It is normal to think that the employee's
calendar timezone is the same as his browser timezone.

opw-3370874

closes odoo/odoo#127989

X-original-commit: 8ac7e19ce94685438ab16f052c6550e86e692a75
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
2023-07-10 21:25:51 +02:00
Victor Feyens 9ac7694b9f [CLN] sale_management: leftover dead code
closes odoo/odoo#120229

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-07-10 21:25:48 +02:00
Valeriya(vchu) 27ec7bf1ea [IMP] sale_management: allow edit optional products in portal
Before, if the product was both in the order and in optional
products, the user could not edit the quantity.
Now, the user can edit the quantity for all optional products.

task-3290530

Part-of: odoo/odoo#120229
2023-07-10 21:25:47 +02:00
Antoine (anso) 715eba5a47 [FIX] mail: close chatter button in attachment view
This commit fixes the style of the close chatter button in the
attachment view to match new Milk button design

It also fixes a no spacing issue between `.o-mail-Chatter-close` and
`.o-mail-Chatter-follow`

task-3415853
part of task-3326263

closes odoo/odoo#127978

X-original-commit: f655bdfda5caf6608d4364f49bdddf25f3abf201
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-07-10 18:16:39 +02:00
Chrysanthe (chgo) de6650cb8c [FIX] web: fix calendar buttons spacing
=== ISSUE ===

If you open the calendar module with an event with attendees, the status
button showing if the user accepted the invitation or not is missing a
left margin.

=== AFTER ===

We add a `ms-1` class to the buttons to space them correctly.

task-3389679
part of task-3326263

closes odoo/odoo#127976

X-original-commit: 86595f718ec5824d53f49ae7495677dd31551d57
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-07-10 18:16:36 +02:00
lejeune quentin 5eeae30fd3 [FIX] point_of_sale: Update raspberry pi os for iot use
With this update the version of python goes to 3.9.2
In addition, a unique password system has been put in place

closes odoo/odoo#127975

X-original-commit: a0feb285ff2ff4a9b82f87ff5abefb307847f25a
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2023-07-10 18:16:33 +02:00
Xavier Morel 489566d4bb [FIX] website: don't error on inaccessible model
When deleting a page, `search_url_dependencies` tries to trawl through
all models to see if they might have a link to the page being deleted.

However if the user invoking that function does not have access to a
model with an HTML field, it raises an error. Given pages are managed
by website designers which are *not administrators* there is no reason
to believe the current user has access to every model in the
database (not that even admins do these days). Since
`search_url_dependencies` is a best-effort search anyway, just ignore
any model to which the current user doesn't have access.

An alternative would be to do the search in sudo mode, but that
doesn't seem necessary, and could even be problematic if a match is
found:

- it might leak information the user should not access (because the
  record name is returned, as well as the model & field names)
- it will trigger further access errors (because links to problematic
  records are provided, on which the user might want to click)

closes odoo/odoo#127973

X-original-commit: 47a69a186bc415bf61a523da9686ca96c0beb74e
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-07-10 18:16:31 +02:00
Robin Lejeune (role) b29733ce37 [FIX] website: add test for website filter in list view
With the Milk redesign in [1], the possibility to select a website on
the filter/search view on our custom list views (e.g. on website.pages)
to filter out the ones not related to a website and only keep the ones
with a website_id or no website_id (and not shadowed by a website_id
one) disappeared.

It has been fixed in [2], but in order to prevent future breaks, this
commit tests this functionality.

task-3355253

[1]: https://github.com/odoo/odoo/commit/caef16ee4e5351142ef04f02798999ccb38a56bc
[2]: https://github.com/odoo/odoo/commit/9237ca777fb9c5e9bda03c2d0dbe0deed8e1b2e5

closes odoo/odoo#127911

X-original-commit: d4a77cb112d3596b4313fcc4962d9d9d5af99d1d
Related: odoo/design-themes#670
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-07-10 18:16:24 +02:00
william-andre 111843361c [FIX] account: currency change not propagated
Create an invoice and without saving it:
- Add a line
- Switch currency

Issue: currency change of the move is not propagated to the move line.
Not even after saving and confirming the invoice

opw-3267497

closes odoo/odoo#127878

X-original-commit: 4774a66771d66c20011ed4d8b543b007ec21e059
Signed-off-by: Andrea Grazioso (agr) <agr@odoo.com>
Signed-off-by: William André (wan) <wan@odoo.com>
2023-07-10 18:16:22 +02:00
Raphael Collet 884522ebd1 [FIX] core: infinite recursion when accessing Html field on new record
closes odoo/odoo#127718

Related: odoo/enterprise#43815
Signed-off-by: Raphael Collet <rco@odoo.com>
2023-07-10 18:16:19 +02:00
Raphael Collet 59afbf6686 [FIX] web: web_read() on new records with _inherits
Part-of: odoo/odoo#127718
2023-07-10 18:16:19 +02:00
Raphael Collet b3e8560c9c [FIX] tests: make first call to onchange2() return complete x2many value
The use-case is a first call to onchange2() where:
 - a one2many field has a default value with a new line
 - some onchange method discards that line

The diff should not return a "delete" command for the discarded line,
since the client does not know about it.  Instead, for that first call,
it should behave like if the initial value of the field was empty.

Part-of: odoo/odoo#127718
2023-07-10 18:16:18 +02:00
abd-msyukyu-odoo 4c111c1324 [FIX] web_editor: properly close all connections during PTP stop
Ensure to close all connections before setting the flag that prevents any
notification (notably the notification to disconnect).

task-3392096

closes odoo/odoo#127953

X-original-commit: 905307e8d08ed3595a1f965fe846f1fe6ebe9d5c
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-07-10 16:59:58 +02:00
Victor Feyens f96c5a61a9 [FIX] website_sale: unable to confirm zero-amount cart
When the cart has a zero amount (because of pricelist, coupons, ...),
providers are not loaded nor displayed.
Furthermore, if there is no need for delivery (because the cart only
contains services), delivery carriers logic is not loaded either.

In this case, without carriers nor providers managing the disabling/enabling
of the confirmation button (o_payment_submit_button), the base logic handling
the T&C checkbox didn't properly enable the button when it should have.

Introduced by 608e90e998, already fixed
for payment form by 04059d09dfd7dc57a5c86c842d6fea300e1441aa

opw-3418472

closes odoo/odoo#127950

X-original-commit: d3bcf03adb93d2727ed81e1b9ffe0a2bbc5707b0
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-07-10 16:59:55 +02:00
Soam (sold) e1295ee65f [FIX] sale: fix amount to invoice for credit notes
Issue:
The `_compute_amount_to_invoice` computation wasn't taking
into account the fact that invoices have a direction (i.e. either
going outbound(+) or coming inbound(-) (cf. `_compute_direction_sign`)).
This, in turn, makes the value of `amount_to_invoice` incorrect
for sales order with a credit note.

Solution:
In  `_compute_amount_to_invoice`, multiply the value of
`invoice_amount_currency` with the opposite of  the
`direction_sign` of the invoice, to account for the invoice direction.

opw-3360439

X-original-commit: 06ef17f2eefe89abfca64721185ac053fa8de820

[FIX] sale: fix amount to invoice for credit notes

Issue:
The `_compute_amount_to_invoice` computation wasn't taking
into account the fact that invoices have a direction (i.e. either
going outbound(+) or coming inbound(-) (cf. `_compute_direction_sign`)).
This, in turn, makes the value of `amount_to_invoice` incorrect
for sales order with a credit note.

Solution:
In  `_compute_amount_to_invoice`, multiply the value of
`invoice_amount_currency` with the opposite of  the
`direction_sign` of the invoice, to account for the invoice direction.

opw-3360439

closes odoo/odoo#127914

X-original-commit: d258774f120fb470d969e68c05cf0d8da0c4557a
Signed-off-by: John Laterre (jol) <jol@odoo.com>
2023-07-10 16:59:45 +02:00
Xavier ALT 26bbabb1cb [FIX] website_slides: fix access error when user lists its own courses
To reproduce (on runbot):

- as admin, open "Furniture Technical Specifications" course
- click on "Add attendees" and select "Joel Willis" and "Send" it

- as "Joel Willis" ('portal' user) go to eLearning (/slides)
- click on "All Courses" (/slides/all?my=1)
- user get a 403 Forbidden error.

As `slide.channel.partner` is restricted to only "eLearning / Officer"
group, do the subquery as sudo() so that user can filter on it's own
courses

closes odoo/odoo#127913

X-original-commit: 085b42ea512859bda979dd566295cd8f9394c913
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Xavier Alt (xal) <xal@odoo.com>
2023-07-10 16:59:39 +02:00
paso-odoo 3810ce75a0 [FIX] l10n_es_edi_facturae: certificates deleted for facturae EDI
When the user deletes the certificate of facturae EDI invoices on Spain and
tries to send an invoice from the `Send & Print`, button error will be produced
says, the local variable 'xml_content' referenced before the assignment.

Steps to produce:
- Install the 'l10n_es_edi_facturae' module and change the company to ES Company.
- Accounting > Configuration > Spain Facturae EDI > Certificates.
- Delete all the certificate(s).
- Now create one Invoice > Confirm > Send & Print > Click on `Send & Print`
a button from the wizard.
- Error will be produced.

Fix this issue by handling the error from the
`_l10n_es_edi_facturae_render_facturae` method. If the certificate is not found,
`userError` will be raised.

Sentry-4265566923

closes odoo/odoo#127910

X-original-commit: 14e6954bf35c19f5415ad71e52591dd25794e47b
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Parth Solanki (paso) <paso@odoo.com>
2023-07-10 16:59:36 +02:00
Yolann Sabaux b970caef22 [FIX] hr_expense: set correct account_id on upload
Steps to reproduce:
- On the expense product by default, set an account_id
- Upload an expense

Issue:
The account_id that we set is not the one on the newly created expense

Cause:
We don't give any account_id during creation. Therefore, the account_id by default is set:
https://github.com/odoo/odoo/blob/7bcd64c51b2e87ece462c75a528c9ad6e1601633/addons/hr_expense/models/hr_expense.py#L31-L32

opw-3343007

closes odoo/odoo#127891

X-original-commit: c6b048196be92392ee34e50cc7ab13107632b87e
Signed-off-by: John Laterre (jol) <jol@odoo.com>
2023-07-10 16:59:33 +02:00
Denis Ledoux 3d2f76671c [FIX] core: missing escaping in sql constraint name_manual_field
Oversight in revision
8c38baee85

In SQL,
The underscore character ( _ ) represents a single character
to match a pattern from a word or string.

Meaning
`name LIKE 'x_%'`
allows names starting by `x`, and not names starting by `x_` as expected.

Add the escape in the constraint to enforce starting by `x_`
and not just `x`

closes odoo/odoo#127883
2023-07-10 16:59:24 +02:00
Didier (did) 5e18390858 [IMP] mail: add missing type def
closes odoo/odoo#127868

Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
2023-07-10 16:59:21 +02:00
Romain Derie a1aa2db7c5 [FIX] web_editor: avoid fetching optimized images which can't be shown
Before this commit, when opening the media dialog, the optimized images
would be fetched too.
An optimized image is an image related to an original one which received
some modification (crop etc).
Those optimized images are hidden by default, and can only be shown when
toggling the "Show optimized" option, which can be shown only in debug
mode.

So, fetching those images outside debug mode is:
1. Useless, as we don't do anything with those and never show them
2. Buggy sometimes, as a full patch of "Load more" images could be
   composed of only optimized images, meaning the "load more" will
   actually look like it did nothing, as all received images are (and
   will remain) hidden.

There is a tiny exception: if the edited image is an optimized one, we
still need to fetch it's attachment so we can show this image in the
media dialog as selected.

This fix thus filter out all the optimized images (except the one from
the explained exception) from the `search_read()`.

opw-3372811

closes odoo/odoo#127853

X-original-commit: 24177b5e2b56a94a51ac4b922d555beda9347611
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-07-10 16:59:18 +02:00
Julien Carion (juca) 3cc9836400 [FIX] web: fix checkbox component's width
This commit simply restricts the clickable with of any checkbox component
to be restricted to the checkbox (or toggle) itself so that the user can
no longer toggle it from possibly a long range.

opw-3378955

closes odoo/odoo#127118

Signed-off-by: Luca Vitali (luvi) <luvi@odoo.com>
2023-07-10 16:59:14 +02:00
Odoo's Mergebot 10c9f07523 [IMP] base, mail: split company email colors from document colors
PURPOSE

Settings allow to change colors used in emails (primary and secondary colors). Those are used for headers and buttons. They are currently shared with colors used for documents and reporting: changing email colors change documents colors, which is not expected nor clearly indicated.

SPECIFICATIONS

Split configuration: colors used in documents may differ from colors used in emails. Duplicate color fields (primary and secondary). To ease setup when updating documents colors, update mail colors accordingly. Inverse is not true as we consider documents being the main configuration, and emails a more fine-grain configuration.

Task-3346388

closes odoo/odoo#123678

Related: odoo/upgrade#4735
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2023-07-10 16:59:12 +02:00
Thibault Delavallée 50762307e4 [IMP] base, mail: split company email colors from document colors
PURPOSE

Settings allow to change colors used in emails (primary and secondary colors).
Those are used for headers and buttons. They are currently shared with colors
used for base documents and reports layout: changing email colors change
documents colors, which is not expected nor clearly indicated.

SPECIFICATIONS

Split configuration: colors used in documents may differ from colors used in
emails. Duplicate color fields (primary and secondary). To ease setup when
updating documents colors, update mail colors accordingly. Inverse is not
true as we consider documents being the main configuration, and emails a
more fine-grain configuration.

Task-3346388

Part-of: odoo/odoo#123678
2023-07-10 16:59:11 +02:00
Thibault Delavallée 3d4cf03ca6 [MOV] bus, mail: move and regroup some tests
Purpose of this commit is to regroup some tests, or rename some too specific
files in order to avoid explosion of files, making tests hard to find when
looking for feature-specific tests.

Task-3346388

Part-of: odoo/odoo#123678
2023-07-10 16:59:11 +02:00
Romain Derie 3fec4bb448 [FIX] website: allow load_menus_root to force action
The website frontend apps menu list is not working when the user has a
`Home Action` defined on his user.
The `Home Action` is meant to redirect to the defined action whenever
that user is login in.
But since the backend menu links on the website have most of the time
no `action` defined but just a `menu_id` defined, the `Home Action` will
kick in and take over the redirection, the same way as if the user just
type `/web` without any params.

To solve that, we simply force the `action` of those links (if they
don't already have one).

This will make sure that the redirect is working as it should for users
having a `Home Action` set.

Step to reproduce:
- Set a Home Action for any user, like "Contacts"
- Go to the website frontend, eg on `/`.
- Click on the top left button to show the backend app menus list
- Click on any menu (CRM, Invoicing, Calendar..)
-> Most of those menu will not redirect you were you are supposed to be
   but on your Home Action instead.
   You can figure which one will be buggy or not by just mouseovering
   the link and see if the URL param `action` is set to something or
   not.

--- Technical hints ---

There is multiple methods to get the list of menus in Odoo:
- `load_web_menus`: called by the web client rpc, calling `load_menus`.
  If a top/app menu has no action defined on it, it sets the first found
  action of their children menus to it.
  It returns the full (flat) list of menus, not only the top/app ones.
  This method is not ormcached but is calling an ormcached method and
  just doing some tiny work on the data.
- `load_menus_root`: called only by website backend template to add the
  app list on the website (in the frontend) to jump to the backend.
  It does not force the action if a menu has no action set on it.
  It returns only the top/app menus.
  This method is ormcached.
  Note that this method seems only used by the website module.
- `load_menus`: returns the full (flat) list of menus without a force
  action
  This method is ormcached.

Fixes https://github.com/odoo/odoo/issues/119971
task-3378963

closes odoo/odoo#127840

X-original-commit: f28a349aa40b2ea48ef8f2b71e806b965777014f
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-07-10 15:33:09 +02:00
Sébastien Theys 6dacefd50a [FIX] mail: standardize way to get guest from context
Backport of `_get_guest_from_context`.

Prevent crash when unexpected (not recordset) values are in the context.

Ensure the mere existence of a value (example integer) does not lead to
executing flows where an actual guest is expected.

task-2819597

closes odoo/odoo#127831

X-original-commit: 3d1890e88b99f059377d8b227b56d77798157397
Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2023-07-10 15:33:06 +02:00
Brieuc-brd f90253d3a3 [FIX] website: change translate btn to lowercase
Prior to this commit, the translate button was in uppercase.

To maintain consistency with other buttons, this commit changes the
button to lowercase.

task-3414983
Part of task-3326263

closes odoo/odoo#127828

X-original-commit: 52f0bf2f2581b77a32d5e92fe1ae03d9787db5b4
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-07-10 15:33:03 +02:00
Antoine (anso) 615c5ed6a5 [FIX] web: kanban header vertical padding
This commit reduces the vertical padding of `.o_kanban_header` to
display more kanban cards at a time in the view vertically

part of task-3326263

closes odoo/odoo#127827

X-original-commit: dc5f4f7cef67b256eb50cb15e1ae1f22aa124966
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-07-10 15:32:56 +02:00
Antoine Guenet e47bc1115f [FIX] web_editor: prevent traceback on convert single-col align stretch
When converting a row with items that are supposed to be stretch-aligned
we need to set each of its column's height. However this failed when
the row contained less than two columns.

opw-3371134

closes odoo/odoo#127813

X-original-commit: 7df4cc0d9aaccf0dabcc4a7863549b276efaa403
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-07-10 15:32:53 +02:00
Renilkumar Kajavadra 88ac225011 [FIX] website: hide publish and unpublish actions
If user tries to publish or unpublish the forum post from forum posts list view,
a traceback will appear.

Steps to reproduce the issue:
- Install website_forum
- Configure website
- Go to Website -> site -> Forum Posts
- Select any post -> Action -> 'Publish' or 'Unpublish'

Error: A traceback appears:
"ValueError: Invalid field 'is_published' on model 'forum.post'"

https://github.com/odoo/odoo/blob/551685368971161975d64f480e9bec326db8931e/
addons/website/static/src/components/views/page_list.js#L69
Here we will receive 'forum.post' in this.props.resModel.
is_published field is not present in the 'forum.post' model,
So it will lead to above traceback.

sentry-4256037237

closes odoo/odoo#127476

X-original-commit: 16943c482c9ba8e12eab697ceb48a3ef6ee6c2fb
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Renilkumar Kajavadra (reka) <reka@odoo.com>
2023-07-10 15:32:38 +02:00
Maximilien (malb) a638c06f8e [IMP] l10n_dk: invoice label translate
In the translation PR (#111044), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

closes odoo/odoo#125017

Task: 3369579
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
2023-07-10 15:32:29 +02:00