Commit Graph
150820 Commits
Author SHA1 Message Date
xlu-odoo e427dad102 [REF] mail: rtcInvitationCard, review and simplify scss
Part of the overall v16 SCSS optimization/restyle, task-2704984

task-2853300

closes odoo/odoo#91537

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-05-24 17:08:47 +02:00
Carlos Valverde a5cd14ec3a [REF] mail: discuss_sidebar_category_item scss refactoring
Current SCSS is replaced with global Bootstrap classes, in
order to reduce code lines and to increase performance.

Task-2833744

closes odoo/odoo#88925

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-05-24 17:08:44 +02:00
Carlos Valverde 9b7ac5980b [IMP] mail: user-select cross-browser compatibility
This commit improves cross-browser compatibility by adapting the css
statement to Safari's Webkit syntax.

Task-2825261

Part-of: odoo/odoo#88925
2022-05-24 17:08:43 +02:00
Carlos Valverde 9ee2f5472a [REF] mail: discuss_sidebar_category scss refactoring
Current SCSS is replaced with global Bootstrap classes, in
order to reduce code lines and to increase performance.

Task-2825261

Part-of: odoo/odoo#88925
2022-05-24 17:08:43 +02:00
Jacky (trj) 2e3e1ab71d [FIX] point_of_sale,pos_restaurant: fix auto FloorScreen when idle
- Restaurant shops should automatically go back to floor screen when
idle. However, after https://github.com/odoo/odoo/pull/89712, this
feature is broken when pos_hr is also installed - the screen doesn't
automatically go back to floor screen.
A simple fix is to clear the tempScreen name when the shown tempScreen
is closed. Note that this change is fine because when tempScreen is closed
(!isShown), the `tempScreen.name` information has no use.

- Once the `idleTimer` is set, it is never removed. This means that
even if the conditions to go back to the FloorScreen at the current
time T are not satisfied, the `_actionAfterIdle` is still run.
Checking if the action can be done once triggered fix the issue.

closes odoo/odoo#92177

X-original-commit: d77d7e90b8f437c012dea2da2ec01e59c14b34ff
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
2022-05-24 16:00:26 +02:00
Antoine Guenet a1e8d116d5 [FIX] mass_mailing: properly allow global customize separator colors
The design tab allows the customization of the separators' colors but
this is currently broken because it gets overridden by the default style
of the snippet, which has higher specificity.
Besides, the priority of styles was lost.

closes odoo/odoo#92174

X-original-commit: 098202ba584ca6ba3544ccd00397578f5deb12ad
Related: odoo/enterprise#27719
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-05-24 16:00:19 +02:00
Huy Le 504ff2a674 [FIX] website: exclude non installable theme on configurator
Exclude non installable theme from the configurator suggested themes.
Also, exclude themes which are found in the database (sql) but not in
the manifest (files/sources). This was reported after migration where
`theme_beauty_sale` was still in the database but did not exists
anymore.

Note that in prior versions, this was causing a `KeyError`.

closes odoo/odoo#92167

X-original-commit: 6e4faeb136e123e09d74cde06c47f7c822b1fd19
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2022-05-24 16:00:14 +02:00
Yannick Tivisse fdc54c4aab [FIX] hr_contract: Display the same count than the number of related contract
Purpose
=======

We open the contract history view, the count shouldn't be based on the
contracts, but on the history itself (to exclude canceled contracts for
example).

closes odoo/odoo#92040

X-original-commit: 5754eb95d681ec9ad63bf1a3c98a60cbb75d2869
Related: odoo/enterprise#27652
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2022-05-24 16:00:02 +02:00
Yannick Tivisse 19441d2902 [FIX] hr_contract: Reset current contract on stage modification
Purpose
=======

Let's say we have 2 contracts A and B:

A --> Running
B --> Cancelled
contract_id : A

B is set to Running
Contract_id : B

B is set to Cancelled
contract_id : B

In this case, the current contract should be reset to A.

X-original-commit: f736264881cbb3086430ea8cd7dba7c4f5a351f4
Part-of: odoo/odoo#92040
2022-05-24 16:00:02 +02:00
Leonardo Pavan Rocha 2981fdec6f [IMP] hr_fleet: overwrite ir.attachment kanban view
In the assignation logs in hr_fleet, it is possible to access the list of
attachments and upload new files to a certain log. However, we currently
enter the form view for ir.attachment to create the record and many technical
fields are shown that are not necessary. This commit overwrites the kanban view
adding an upload button that will open the file upload dialog of the OS and
automatically add the uploaded files to that certain assignation log.

task-2742923

closes odoo/odoo#83755

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2022-05-24 15:59:57 +02:00
Leonardo Pavan Rocha 299bb47a53 [FIX] hr_fleet: fixes demo data vehicle assignation logs
In the demo data from hr_fleet, we add address_home_id's to some employees in
order to create the correct vehicle assignation logs. However, as the driver_id
is already set at that moment, the _compute_driver_employee_id is not called
again as no dependency was changed, resulting in an empty driver_employee_id
for some logs. This commit fixes this by calling the compute method on the demo
data with the assignation logs that have no driver_employee_id set and have a
driver_id.

task-2742923

Part-of: odoo/odoo#83755
2022-05-24 15:59:56 +02:00
Leonardo Pavan Rocha 5dba452227 [IMP] fleet, hr_fleet: improve assignment logs view
Assignment logs list view can be accessed both from fleet and from hr_fleet,
however they show many repeating fields and, for this reason, this commit
improves these views by leaving the repeating fields as optional="hide".

task-2742923

Part-of: odoo/odoo#83755
2022-05-24 15:59:56 +02:00
pedrambiria c3030c3a7c [FIX] pos_restaurant: get table draft orders without employee
Before this commit: In the PoS Restaurant, if the employee is not
installed, the orders wouldn't contain employee_id, and UI couldn't get
table draft orders.

Steps to reproduce the first issue:

	- Install the' Point of Sale' module
	- Make sure Employees (hr) isn't installed
	- Create a PoS with "Is a Bar/Restaurant" enabled
	- Open a PoS session in the incognito window
	- Add the product to the orders for different tables
	- Close the incognito window and open it again

	It couldn't get table draft orders from the back-end.

Solution

	It must check that "employee_id" exist in the dictionary.

opw-2856653

closes odoo/odoo#92157

X-original-commit: 822d444f74edf8dd9bae7a01d3646e0888128901
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
2022-05-24 14:51:19 +02:00
Odoo's Mergebot bb4a4ce740 [FW][MERGE][FIX] website_{,sale_}slides: fix join/buy links and resource access
This commit fixes
* One link that was not updated to use the post_link class
* The join course link for "payment" courses after completing the quiz once
  logged in.
* The link to resources that became accessible for non-authorized users for
  "payment" courses

See underlying commits for details.

Task-2818136
Part of Task-2663320

closes odoo/odoo#92104

Forward-port-of: odoo/odoo#92055
Forward-port-of: odoo/odoo#88454
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
Signed-off-by: Florian Charlier (flch) <flch@odoo.com>
2022-05-24 14:51:15 +02:00
Florian Charlier ab71f778ba [FIX] website_slides: fix resource ACLs
This commit fixes ACLs for slide resources:
 * Access to resources should be blocked for non-members (except publishers
 for the course: responsible and managers)
 * Tests are included

NB: As links are resources from this minor version on, their access
is protected as for files.

Task-2818136
Part of Task-2663320
FwdPort of odoo/odoo#88454

X-original-commit: 075a647d58dc7e817b31a80c2ac804b06c8492bb
Part-of: odoo/odoo#92104
2022-05-24 14:51:14 +02:00
Florian Charlier bff5daa40b [FIX] website{,_sale}_slides: fix join/buy links
This commit fixes the following fronted bugs:
  * One link to "buy course" that was not updated to use the post_link class
  * The join course link for "payment" courses after completing the quiz once
    logged in.
  * The link to resources that became accessible for non-authorized users for
    "payment" courses

Task-2818136
Part of Task-2663320
FwdPort of odoo/odoo#88454

X-original-commit: 1a4368b3fce6206da555a1d04751b1aea53c6a29
Part-of: odoo/odoo#92104
2022-05-24 14:51:14 +02:00
Antoine Guenet b45cfda756 [FIX] mass_mailing, web_editor, website: remove bg shape/video in m_mail
The conversion of background images for mass_mailing doesn't support the
conversion of shapes on them (limitation of html2canvas), and emails
should not contain videos. This removes these options for mass_mailing.
Since the video option was added in place by `website`, this adds an
option in its template so it can be disabled. A similar option was added
for shapes, which depends on images being enabled as well.

task-2856858

closes odoo/odoo#91314

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-05-24 14:51:08 +02:00
Antoine Guenet 420d914384 [IMP] mass_mailing: make masonry text white by default
The default image in masonry is very dark, making the black text on it
(if the user starts typing) practically invisible. This makes that text
white by default.

task-2856858

Part-of: odoo/odoo#91314
2022-05-24 14:51:08 +02:00
Antoine Guenet 14cb5ccfea [FIX] mass_mailing: do not allow links within background-image elements
Since background-image elements and their children will be flattened
into images, links within them won't work. This removes the link button
of the editor toolbar, as well as the link and button commands in those
contexts.

task-2856858

Part-of: odoo/odoo#91314
2022-05-24 14:51:07 +02:00
Antoine Guenet 61f7366d68 [FIX] mass_mailing: do not open link dialog with Powerbox
There are two ways of editing links: the link tools (in the sidebar) and
the link dialog. In `mass_mailing`, the link tools were in the sidebar
but using the link command of the Powerbox opened the link dialog. This
makes it so only one mechanism is in use (the link tools).

task-2856858

Part-of: odoo/odoo#91314
2022-05-24 14:51:07 +02:00
Antoine Guenet 64fb91ec01 [FIX] web_editor: properly hide link tools on selection over blocks
When the user selects across several blocks, the link tools are supposed
to be hidden. This was however broken due to other mechanisms restoring
it after it got hidden.

task-2856858

Part-of: odoo/odoo#91314
2022-05-24 14:51:06 +02:00
Elisabeth Dickinson 9be73fd087 [IMP] mass_mailing: remove negative margin on iframe
When the first snippet in a mail is for example a cover image,
the html2canvas library exports the image with a white line along the
top caused by the negative top margin on the iframe.

task-2856858

Part-of: odoo/odoo#91314
2022-05-24 14:51:06 +02:00
Antoine Guenet 1f8b1f0791 [ADD] mass_mailing: add background image to s_cover
The `s_cover` snippet was designed to have text over it but this was not
supported in `mass_mailing` because of a limitation of Outlook on
Windows so we replaced it with just an image with no text. Now that we
support text over images thanks to the conversion process, we can offer
that possibility for the `s_cover` snippet in `mass_mailing` as well.
Note that buttons over images are not supported so they were not added
to the snippet like they are in `website`.

task-2856858

Part-of: odoo/odoo#91314
2022-05-24 14:51:06 +02:00
Antoine Guenet efbb4a1f3e [FIX] mass_mailing: restore background image styles
When importing snippets from `website` to `mass_mailing`, the styles for
`.o_bg_img` were not carried over. This makes the image of the `Masonry`
snippet size poorly. This duplicates that scss into mass_mailing.

task-2856858

Part-of: odoo/odoo#91314
2022-05-24 14:51:06 +02:00
Antoine Guenet 6b628ebd5b [FIX] web_editor: flatten background-images in convert_inline
Outlook on Windows doesn't support background images. This has the
unfortunate effect that there is now way to write text over an image and
have it be seen on Outlook Windows.
This "flattens" background images by converting them and all their
contents to a `png` image, using `html2canvas`.
Note that _all the contents_ of the element with a background-image are
flattened into an image. This means that any interactive content such as
buttons is unsupported in that context.

task-2856858

Part-of: odoo/odoo#91314
2022-05-24 14:51:06 +02:00
Antoine Guenet 3fcb74533a [MOV] web_editor, point_of_sale: move html2canvas to web_editor
This moves the `html2canvas` library from `point_of_sale` to
`web_editor` so as to be able to use it in `convert_inline`.
`point_of_sale`, depending from `web_editor`, doesn't lose access to the
library.

task-2856858

Part-of: odoo/odoo#91314
2022-05-24 14:51:05 +02:00
Philippe Wauthy c934652660 [IMP] hr_holidays: set time off default employee when created from allocation smart button
In hr_holidays, each allocation granted to an employee has a smart button to see the linked
time off for this employee.
The create button on the tree view that shows these time off opens the form
with self.env.user.employee_id as default employee.

This commit changes the default employee of the time off to be the one of the original allocation

task-2844554

closes odoo/odoo#90739

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2022-05-24 14:50:48 +02:00
Antoine Guenet 12107a4e5f [FIX] mass_mailing: properly parse all values in design tab
The default values of borders for buttons were not properly parsed in
the design tab because they come from the `btn` class, which was not
part of the selectors for buttons in the design tab. The fake element
created to get computed styles therefore didn't have that class and thus
didn't have a border value.

The separator width value was also broken whenever it was "auto" since
we're expecting values of "25%", "50%", "75%" or "100%". This interprets
"auto" as equivalent to "100%" in all cases.

closes odoo/odoo#92138

X-original-commit: 56521a69d9cb61ec726722a2b102150bb1714070
Related: odoo/enterprise#27708
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Antoine Guenet <age@odoo.com>
2022-05-24 12:48:20 +02:00
Antoine Guenet 332da2e2fb [FIX] mass_mailing: prevent website s_hr interference with mass_mailing
`wWebsite`'s `s_hr` snippet css targets the same element as
`mass_mailing`'s `hr` snippet, resulting in interferences. This raises
the speciticity of `mass_mailing.s_hr`'s css to counter that issue.

X-original-commit: 112758b7c07870c5d002a87f4eed58bd8feb9bee
Part-of: odoo/odoo#92138
2022-05-24 12:48:20 +02:00
Elisabeth Dickinson 20449d3fab [IMP] mass_mailing: replace deprecated snippet in theme_default
X-original-commit: 076bd5ef1067549befdc18248575c40f7e9794fa
Part-of: odoo/odoo#92138
2022-05-24 12:48:19 +02:00
Elisabeth Dickinson 3333ba0084 [IMP] mass_mailing: various styling fixes for theme_default
Remove default styles which remove underlines on links.
Add global styling for theme_default.

X-original-commit: 4ec9847057d9888820c3d9b1b068e3658e80acd4
Part-of: odoo/odoo#92138
2022-05-24 12:48:19 +02:00
Antoine Guenet 742ba38e5d [FIX] mass_mailing: center separators by default
Separator widgets were not centered by default which looked weird when
we resized them with the design tab.

task-2821155

X-original-commit: 60190e283e4c75bb6480ba37b8c2ccf4246cf769
Part-of: odoo/odoo#92138
2022-05-24 12:48:19 +02:00
Antoine Guenet 5bf043567e [FIX] mass_mailing: make sure #design-element is prepended to .o_layout
When styling a theme in XML, we don't have access to the top of
`.o_layout`, leading to the design element being located in different
places depending on whether it's been added programmatically or in XML.
This harmonizes it, ensuring it's always at the top of `.o_layout`.

X-original-commit: ab61f1d38b2852ec0b6727122a1cfc2cd81cfc9f
Part-of: odoo/odoo#92138
2022-05-24 12:48:18 +02:00
Antoine Guenet 417fc95b72 [FIX] mass_mailing: prevent overriding font awesome font-family
When changing a font-family style in the design tab, we need to make
sure we don't override the font-family of font awesome icons or it will
break them. This takes font-family out of its selector and applies
it to special selectors that exclude `.fa`.

task-2821155

X-original-commit: d25b38969d1d0f2f791ad33f2591ea4f3b7b5ed8
Part-of: odoo/odoo#92138
2022-05-24 12:48:18 +02:00
Antoine Guenet 3eaba29e2b [FIX] mass_mailing: respect minimal use of 'important' in design tab
Some styles added by the design tab require the use of the 'important'
keyword. Prior to this that keyword was added to all styles of a
selector that contained at least one priority style.

task-2821155

X-original-commit: e41de41c6f1e8d3f34368e191b9debc03c57ab05
Part-of: odoo/odoo#92138
2022-05-24 12:48:18 +02:00
Antoine Guenet 116371805e [FIX] mass_mailing: prevent creating non-sense styles
When adding a font-family style, we need to make sure it trickles down
to all its descendants. This implies adding selectors with a trailing
`*` to the selectors involved. The way it was done was
undiscriminatingly, leading to selectors ending in `* *`, which is
obvious non-sense.

task-2821155

X-original-commit: bb8685cc9829ab0e76d98c4c1196a344d2475759
Part-of: odoo/odoo#92138
2022-05-24 12:48:17 +02:00
Jeremy Kersten 79d7d78b75 [FIX] base: allow to duplicate an External ID
Before this commit, the ir_model_data_module_name_uniq_index constraints avoid
to duplicate an XML ID.

Now on copy, we add a random suffix to allow the end user to update just the
record id (and rename the name).

closes odoo/odoo#92108

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-05-24 12:48:01 +02:00
Jeremy Kersten 87fd20c9b4 [FIX] web: show datetime localized in Metadata view from debug menu
Before this commit, the dialog 'View Metadata' open the date in utc since the
refactoring of Owl. It is not coherent with all others dates shown in form.

Now we show the date in the timezone of the current user.

Part-of: odoo/odoo#92108
2022-05-24 12:48:01 +02:00
Jeremy Kersten df4782164f [IMP] web: allow to create ExternalId from the debug manager
Now, if you don't have ExternalID for the current record when you open the
'View Metadata' submenu from the debug menu, we add a button to create one.

Part-of: odoo/odoo#92108
2022-05-24 12:48:00 +02:00
root fa83960449 [IMP] cli: propose HTTPS website URL by default
As by now pretty much all of the internet runs on HTTPS & it is
recommended everywhere let's do so our in our manifest do.

closes odoo/odoo#91281

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2022-05-24 12:47:53 +02:00
tsm-odoo 038e83e7aa [IMP] mail, *: replace target by document
*: hr, hr_holidays, im_livechat, test_mail.

The target returned by the mail's test utils start method is useless since it's
almost the same thing than querying document. Let's remove it and replace it by
document. This will reduce the diff in the PR introducing the new environment in
the discuss app.

task-2582313

closes odoo/odoo#92077

Related: odoo/enterprise#27670
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-05-24 11:43:57 +02:00
Josse Colpaert 2217380317 [FIX] l10n_gcc_invoice: right align customer address
closes odoo/odoo#91604

X-original-commit: 9c015379e782a115af72f4bec7962d1669f10937
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
Signed-off-by: Josse Colpaert <jco@odoo.com>
2022-05-24 11:43:50 +02:00
Arnold Moyaux 4f3f485f03 [FIX] mrp_subcontracting: only add transfer in landed costs views
Currently the linked receipt (in case of subcontracting)
is visible in the tree view and search view of every MO.
However we want to limit the feature to landed cost scope
since it's only useful in that case and it adds noise otherwise.

We need a new module since we don't have any bridge between
subcontracting and landed costs

closes odoo/odoo#89399

Signed-off-by: Steve Van Essche <svs@odoo.com>
2022-05-24 11:43:46 +02:00
Yolann Sabaux aed71fc897 [FIX] mass_mailing: allow duplicate in test mode
Steps to reproduce:
- In Marketing Automation - Campaigns
- Select the demo campaign
- Click on "Launch a test"
- Select Brandon
- Send the two mails from the campaign
- Redo all the steps with a new Test but the same contact

Issue:
- The mails won't be sent

Cause:
- Since for this campaign we already sent these mails to Brandon, the mails will be considered as duplicate in:
https://github.com/odoo/odoo/blob/11b7d89114178fa43545fb8e6224cb4ccbcf8ec1/addons/mail/wizard/mail_compose_message.py#L499

Solution:
We want to make sure that:
- when doing a test, since there is only one linked partner to it, we can send as many mails as we launch tests.
-> repeated tests make sense as we want to fine tune campaigns and maybe get feedback from actual customers
- when launching the actual campaign, there are no duplicates (normal flow) but that eventual test-customers receive the final campaign

In order to do that, we have to filter out from the seen_list
https://github.com/odoo/odoo/blob/9b25a4b5a782146e8c0b41eb75ceea7ac3cd3abf/addons/mass_mailing/models/mailing.py#L736
the test-records.

opw-2810298

closes odoo/odoo#92062

X-original-commit: 4cebf53aa89c21ef255f5d5da450fdf98c4c9ac1
Related: odoo/enterprise#27660
Signed-off-by: yosa-odoo <yosa@odoo.com>
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-05-24 10:40:17 +02:00
Pierre Masereel 64f4288cfa [TEST] point_of_sale: test fixed tax included
After a fix made in rev:bd621fd456811e7f3ce646e3ecade5e9e4a826e8

It was not possible to generate an invoice from the POS when you have a
fixed tax included applied on a base amount with tax included.

As it was not detected by a test, we are now creating a test with this
use case.

closes odoo/odoo#92106

X-original-commit: 291b564ffebaf8b8708072c981d1072b8bb33677
Signed-off-by: Masereel Pierre <pim@odoo.com>
2022-05-24 09:41:35 +02:00
Achraf (abz) daec4e6694 [IMP] web: Update Luxon to 2.4.0 version
closes odoo/odoo#92036

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-05-24 09:41:31 +02:00
Leonardo Pavan Rocha 31bf4abcb3 [IMP] hr: improves department kanban view
The recruitment kanban view was redesigned and it looks good, so it was
decided to implement the same design on the department kanban view. This commit
adds the number of employees to the "Employees" button and makes the kanban
cards wider.

task-2849418

closes odoo/odoo#91293

Related: odoo/enterprise#27324
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2022-05-24 09:41:24 +02:00
Laurent Stukkens (LTU) 5860736ee0 [FIX] hr_timesheet: prevent trace back when opening report
Prior to this commit, when running the `timesheets.analysis.report`, a
traceback was thrown `TypeError: tuple indices must be integers or slices,
not str`.

After this commit, not traceback is thrown.

closes odoo/odoo#92024

Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-05-23 23:31:57 +02:00
Romain Derie 88194dd941 [FIX] website: make s_map work in sanitized fields
Before this commit, the `<iframe/>` element of the `s_map` snippet would
be removed from the field value if the field was sanitized.
The map would then not be displayed, obviously.

The way that `s_map` snippet work is simple:
1. The snippet is defined with a hidden `<iframe/>` element
2. The snippet options are stored as data attributes on the `<section/>`
   element.
3. When those options are changed, the iframe `src` is updated and it is
   shown if needed.

The fix is simple, as we already have all the data attributes available,
we just need to recreate that iframe when the snippet is started without
one. It most likely means it got deleted through the sanitization during
the save.

opw-2844010

closes odoo/odoo#91866

X-original-commit: c2e9bd0e60014b6a42931cf300e0f89f8cf7c225
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2022-05-23 23:31:53 +02:00
Barad Mahendra 482b539351 [IMP] rating: add oe_structure class and IDs
Purpose of the commit is to make the rating thank you
page as editable on website and to make a page editable
we must have to add the oe_structure class and id which
contains oe_structure string.

task-2772369

closes odoo/odoo#86231

Related: odoo/upgrade#3341
Related: odoo/enterprise#25185
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-05-23 23:31:44 +02:00