Commit Graph
166237 Commits
Author SHA1 Message Date
Xavier Bol (xbo) 3489a0d28f [IMP] hr_org_chart: auto scroll in hierarchy view
Before this commit, when the user unfold a node in hierarchy view,
he has to scroll to be able to see the child nodes added.

This commit adds an auto-scroll when a new row is added to directly
show the child nodes added on the view when the user unfolds a node
in the hirarchy view.

task-3376776
2023-10-16 08:17:31 +02:00
Xavier Bol (xbo) 3e5e6fd3e3 [IMP] hr_org_chart: add new menu Org Chart in Employee menu
This commit adds a new menu called `Org Chart` in Emnployee menu
to directly have the Org chart view as first view when the user
clicks on that button.

task-3376776
2023-10-16 08:17:31 +02:00
Xavier Bol (xbo) 2f463b564b [IMP] hr_org_chart: add drag&drop in hierarchy view
This commit allows the user to drag and drop a record (hierarchy
node) into another one to set the one hovered as the manager of the
one dragged. It also allows to drag a record into a row to define
the manager of the row as the manager of the record dragged.
This commit also adds an new attribute on `hierarchy` tag to use
when we define that view for a certain model to enable the drag and
drop feature.

task-3376776
2023-10-16 08:17:31 +02:00
Xavier Bol (xbo) 5ade959732 [IMP] hr_org_chart: allow to define custom icon in hierarchy card
Before this commit, the icon displayed inside the Unfold button with
the number of child nodes is the default one. In the employee hierarchy
view, since the child nodes are obviously employees, the icon could
be the one displayed users (`fa-users`).

This commit adds a new attribute called `icon` on `hierarchy` tag
to be able to define another icon displayed on that button. By
doing that, the icon displayed inside employee hierarchy view can
changed to have the one expected and more relevant.

task-3376776
2023-10-16 08:17:31 +02:00
Xavier Bol (xbo) 7223f1ae8b [IMP] hr_org_chart: define hierarchy view for hr.department
This commit defines a hierarchy view for `hr.department` model.

task-3376776
2023-10-16 08:17:31 +02:00
Xavier Bol (xbo) 95e0149659 [IMP] hr_org_chart: define hierarchy view for hr.employee model
This commit defines a hierarchy view for `hr.employee` model.

task-3376776
2023-10-16 08:17:31 +02:00
Xavier Bol (xbo) 03ce25127d [IMP] hr_org_chart: add child_count in unfold button of hierarchy card
Before this commit, the user can unfold a node in hierarchy view but
before clicking on it he cannot know how many child nodes there are.

This commit adds the number of child nodes in the Unfold button with
the default icon.

task-3376776
2023-10-16 08:17:31 +02:00
Xavier Bol (xbo) 1048111a18 [IMP] hr_org_chart,web: define icon class on i tag for view button icon
Before this commit, the icon of the hierarchy view should be rotate
of 90 deg to have an appropriate icon for the view. The problem is
since the icon class is added on button classes, the button will
also be rotated with the icon instead of just the icon.

This commit defines a `i` tag inside the `button` element to select
the view to be able to apply css rotation only on the icon instead
of the whole button.

task-3376776
2023-10-16 08:17:31 +02:00
Xavier Bol (xbo) e28e1e5b25 [IMP] hr_org_chart,web: extend kanban compiler for hierarchy view
This commit extends the kanban compiler for the hirarchy view. Some
changes has been done in the kanban compiler to be able to reuse the
existing code.

task-3376776
2023-10-16 08:17:31 +02:00
Xavier Bol (xbo) 16c4a54d42 [ADD] hr_org_chart: add hierarchy view
This commit adds a new view called hierarchy view, that view allows
the user to visualize a hierarchy in a model. For instance, that view
could be used for `hr.employee` to easily visualize the hierarchy
inside the company (the manager and his employees) as an Organization
Chart.
That commit introduces a new method for the hierarchy view, called
`hierarchy_read`, that method will be when the view will be loaded
to get the initial data to display.

Some details for the definition of that new view:
------------------------------------------------

Some attributes can be defined on the `hierarchy` tag:
- `parent_field` (default='parent_id') contains the parent field name
  to use to find the parent record of the current to build the hierarchy.
- `child_field` (optional attribute) contains the child field name
  to use to find the child records (it is in fact the one2many field).
  If that field is defined then some queries can be avoided since we
  directly fetch the children when a read/search_read is done.

Inside the `hierarchy` tag, the fields to read can be added and then
a template as to be defined as we do when we define the kanban view.
The template to create is called `hierarchy-box` and that template
will be used to display the card inside a node in the hierarchy view.

task-3376776
2023-10-16 08:17:31 +02:00
Xavier Bol (xbo) 6ff5f9eb16 [REF] hr: create hr_presence_status widget
Before this commit, the hr presence status icon is hardcoded in
each view in which the icon is needed.

This commit creates a widget for that icon to be able to use that
widget in the views in which the icon is needed to avoid duplicating
the code.

task-3376776
2023-10-16 08:17:30 +02:00
Xavier Bol (xbo) adbcf6e1da [FIX] web: remove border-end-0 in search view
Before this commit, when search menu is not displayed in the
search view, then the border right is missing.

This commit removes `border-end-0` class added in the search view
to always have a border. Even with the search menu, it does not
seem to have an extra border.

task-3376776
2023-10-16 08:17:30 +02:00
Xavier Bol (xbo) c143f1dca2 [IMP] web: manage parent_of operator in domain in mockServer
Before this commit, `child_of` operator is managed in the mockServer
but not the `parent_of` one.

This commit manages `parent_of` operator in mockServer to be able
to find the record when the domain used contains that operator

task-3376776
2023-10-16 08:17:30 +02:00
VAN BOSSUYT Nicolasandbvr-odoo 507b80a125 [IMP] web_editor, website: add button/video/image as building block
This commit introduces 3 new inner snippets: button, image and video.

What sets these snippets apart is that, once dropped onto the page, they
transform into basic HTML code, just like if they were created using the
editor (no data-snippet etc).

task-3248881

closes odoo/odoo#126717

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Co-authored-by: bvr-odoo <bvr@odoo.com>
2023-10-15 12:39:20 +00:00
Soukéina Bojabza a98926d642 [FIX] website: fix the new design of the Banner snippet
In commit [1], the Banner snippet has been redesigned in order to be
in grid mode by default, to highlight some cool features of the editor.
However, some grid classes and attributes are missing or not well set:
- the first column has a `g-height-4` class despite having 8 rows: this
causes the vertical resize to not work correctly.
- the row does not have the `data-row-count` attribute, which is needed
to display the background grid correctly.

This commit fixes this by replacing the class by `g-height-8` and adding
the `data-row-count` attribute, which is set to 11 rows.

[1]: https://github.com/odoo/odoo/commit/3cbdf754ff8fac8a77887c4307b658cb86b0be1d

task-3369695

closes odoo/odoo#136683

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-10-14 23:52:16 +00:00
Soukéina Bojabza bd5678f907 [FIX] website: make the "Text Cover" snippet look good in grid mode
Before this commit, toggling the "Text Cover" snippet to grid mode did
not produce a good-looking result: the column containing the background
image loses all its padding and therefore appears smaller and shifted
compared to the normal mode.

This commit adds a background color to the image column. Indeed, with a
background color, and more precisely thanks to the `o_cc` class, the
padding is taken into account when computing the grid items size, making
them look similar to how they were in normal mode.

task-3369695

Part-of: odoo/odoo#136683
2023-10-14 23:52:16 +00:00
Soukéina Bojabza 0a52320d44 [FIX] web_editor: make background grid more visible on dark backgrounds
When redesigning the grid layout and handles, commit [1] removed the
filter that allowed the grid to be clearly visible on dark backgrounds
(added in commit [2]). Without this, the background grid when dragging/
resizing and the highlight effect when changing the gaps are difficult
to see.

This commit adds this filter back, but with a lowered opacity in order
to not obstruct the view too much.

[1]: https://github.com/odoo/odoo/commit/70f723a9f78c406746f5409f6a89cbe93ad21580
[2]: https://github.com/odoo/odoo/commit/1aa81243b7c80069c576381e2f3b04281455794f

task-3369695

Part-of: odoo/odoo#136683
2023-10-14 23:52:16 +00:00
Soukéina Bojabza 4345df3aee [IMP] web_editor, website: add a spacing option to modify the grid gaps
The `display: grid` property allows to modify the spacing (or gaps)
between the rows and columns of the grid with the `row-gap` and `column-
gap` CSS properties. When the grid mode was added with [1], these
properties were deliberately ignored and the gaps were forced to 0px.

This commit adds the "Spacing (Y, X)" option that allows to modify these
grid gaps. A grid preview is also added when using this option, in order
to visualize what is being changed in the grid.

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

task-3369695

Part-of: odoo/odoo#136683
2023-10-14 23:52:16 +00:00
Soukéina Bojabza 62985e8329 [REF] web_editor, website: remove duplicated grid/column options
When adding the grid options in commits [1] and [2], some of them have
been duplicated in order to cover the different use cases: grid-only,
columns-only and grid + columns. However, they should have been declared
only once and then called when needed.

This commit extracts the common options into views, to avoid duplicating
them.

[1]: https://github.com/odoo/odoo/commit/cc406afcea7bf5846233a9f97a4a8ac5f618f3ec
[2]: https://github.com/odoo/odoo/commit/85b352af319edec84407f2046cf795b4e5503460

task-3369695

Part-of: odoo/odoo#136683
2023-10-14 23:52:16 +00:00
Soukéina Bojabza 11418cc6f0 [IMP] web_editor, website: add individual Padding option for grid items
Before this commit, the "Padding" grid mode option, added in commit [1],
was impacting all the grid items at the same time, which was not
convenient since all these elements would have the same padding and
could not be styled individually.

This commit improves this option in order to modify the padding of the
grid items individually. The highlight effect, added in commit [2], when
changing the padding is still added.

[1]: https://github.com/odoo/odoo/commit/cc406afcea7bf5846233a9f97a4a8ac5f618f3ec
[2]: https://github.com/odoo/odoo/commit/f3f2c4c73ce08d3898b8c88e1ef045f7bbd1f624

task-3369695

Part-of: odoo/odoo#136683
2023-10-14 23:52:16 +00:00
Soukéina Bojabza e828683820 [REF] web_editor: refactor some grid code
In the grid mode code, the code managing the transformation of a grid
item into a normal column (when it is dropped or when we toggle the
normal mode) is repeated at several places.

This commit fixes that by creating a function doing this conversion
instead.

task-3369695

Part-of: odoo/odoo#136683
2023-10-14 23:52:16 +00:00
Soukéina Bojabzaandqsm-odoo 75331fd46a [IMP] web_editor: add support for data-min/max to InputUserValueWidget
Before this commit, when using a `we-input`, there was no way to easily
specify the min and max values that could be entered in the input, which
could be useful when too low/high values could break some behaviors, for
example.

This commit adds the support for the `data-min` and `data-max` data-
attributes in `InputUserValueWidget`. More precisely, when these
attributes are added on a `we-input`, if the user writes a value smaller
than the `data-min` or bigger than the `data-max`, the value snaps to
these bounds. When using the arrows, the value cannot be decreased/
increased beyond them either.

task-3369695

Part-of: odoo/odoo#136683
Co-authored-by: qsm-odoo <qsm@odoo.com>
2023-10-14 23:52:16 +00:00
Soukéina Bojabzaandqsm-odoo df7b8a17cd [IMP] web_editor: clean the snippet UI before cloning it
When cloning a snippet, if it had some previews displayed, the previews
may be cloned with it. This is not a good behavior because the clone
is a new snippet so it should not have all the preview classes that were
added when editing. Moreover, these previews could also cause bugs.

To solve this, an idea could be to call the `cleanForSave` function of
all its options before cloning the snippet. But the problem is that in
some options, the `cleanForSave` function does more than simply clean
the UI (as it was originally supposed to) and so it cannot be used for
that purpose only.

As a solution, this commit adds a new function called `cleanUI` whose
exclusive purpose will be to clean the snippet UI. In the future, it
will replace the `cleanForSave` function.

task-3369695

Part-of: odoo/odoo#136683
Co-authored-by: qsm-odoo <qsm@odoo.com>
2023-10-14 23:52:16 +00:00
Martin Trigaux 3314ec94e5 [FIX] website_event: avoid double indexing
Similar to d2edee2f6a6

Before this commit, web crawlers may endlessly index pages with tags,
the number of combinations were very large very quickly and could lead
to thousands of requests

opw-3525473

closes odoo/odoo#138718

X-original-commit: 953ac4bde2258d31c2d2f3f6233fb00c802b6e7f
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-10-14 03:27:11 +00:00
Xavier ALT 5b914326f1 [PERF] account: speed up _compute_days_sales_outstanding
Followup of odoo/odoo@eb7a32c31c, on large database with lot of
account.move computation still take certain amount of time and database
resources.

This commit limit the computation of `days_sales_outstanding` only
to the commercial partners that we need.

Note: the field is only shown in the Partner form view, so most of
  the time we were only computing it for a single record

| Before | After |
|--------|-------|
| 900ms  | 20ms  |

opw-3530408

closes odoo/odoo#138703

X-original-commit: f968ea2898d7ce314fd575da5446b0dd9d711524
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Xavier Alt (xal) <xal@odoo.com>
2023-10-14 03:27:10 +00:00
Louis (wil) 6ba2972b4f [I18N] l10n_din5008_sale: change Verkaufsauftrag to Auftragsbestätigung
closes odoo/odoo#138671

X-original-commit: ca7b21cdd3078a9f6bd981dcd1281ecb6d59ff4f
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2023-10-14 03:27:09 +00:00
Josse Colpaert 581f3d34e6 [IMP] l10n_ar,l10n_es,l10n_se: remove unnecessary same inherited tax groups
closes odoo/odoo#137796

Signed-off-by: William André (wan) <wan@odoo.com>
2023-10-14 03:27:04 +00:00
b27d52c193 [IMP] website: introduce new pages templates design
This commit defines new page templates that are related to specific
use-cases.

task-3381714

closes odoo/odoo#126719

Related: odoo/design-themes#692
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Co-authored-by: Benoit Socias <bso@odoo.com>
Co-authored-by: Arthur Detroux (ard) <ard@odoo.com>
2023-10-14 03:27:03 +00:00
Benoit Socias 1b8a1d97d6 [REF] base, website, *: rename snippets_list to configurator_snippets
*: theme_default

This commit renames the `snippets_list` manifest key to
`configurator_snippets`.

task-3381714

Part-of: odoo/odoo#126719
2023-10-14 03:27:03 +00:00
Benoit Sociasandstefanorigano e0796020ee [IMP] website: make it possible to create new pages from templates
This commit modifies the "New Page" dialog so that it displays a list
of page templates to pick from in addition to the possibility to create
a blank page.

task-3381714

Part-of: odoo/odoo#126719
Co-authored-by: stefanorigano (SRI) <sri@odoo.com>
2023-10-14 03:27:03 +00:00
Benoit Socias 928eeca714 [IMP] website: use dedicated templates in configurator
This commit adapts the configurator so that the pages it generates are
composed of the primary templates generated from the manifest by the
previous commit.

task-3381714

Part-of: odoo/odoo#126719
2023-10-14 03:27:03 +00:00
Benoit Socias a2f8e18b76 [IMP] website, base: generate distinct templates for new pages
This commit is a preparation for the new page from template feature.

In order to make it possible for new page templates to be customizable
at several levels from themes, it was decided to create several layers
of primary templates.
Those templates are build from the descriptions found in manifest files
under the new `new_page_templates` key.
The same principle is also applied for configurator pages (described in
manifest files under the `snippet_lists` key) because we noticed that
some of the changes that were made in themes for some blocks were not
supposed to impact the "drag'n'drop" version of the block, but only
the version used inside the pages generated by the configurator. (E.g.
connecting shapes between blocks)

The manifest entries now have the following structure:
```py
'snippet_lists': {
    'somepagename': ['s_block_name', ...],
},
'new_template_pages': {
    'somecategoryname': {
        'sometemplatename': ['s_block_name', ...],
    },
},
```

This commit finds those entries in the manifests and creates the
following primary templates:
- `s_block_name`: already exists, this is the block that is drag and
dropped using the website builder
- `configurator_s_block_name`: specialization of `s_block_name` used in
all pages generated by the configurator
- `configurator_somepagename_s_block_name`: specialization of
`configurator_s_block_name` for that specific page
- `new_page_template_s_block_name`: specialization of `s_block_name`
used in all new page templates
- `new_page_template_somecategoryname_s_block_name`: specialization of
`new_page_template_s_block_name` used in new page templates of that
specific category
- `new_page_template_somecategoryname_sometemplatename_s_block_name`:
specialization of `new_page_template_somecategoryname_s_block_name` for
that specific template

For the template pages defined in `website` it also creates primary
templates that assemble `t-snippet-call`s of the most specific block
templates. Those templates are named
`new_page_template_sections_somecategoryname_sometemplatename`.

task-3381714

Part-of: odoo/odoo#126719
2023-10-14 03:27:03 +00:00
tsm-odoo e9446a511e [FIX] bus: fix race in websocket tests
Before this commit, websocket tests were sometimes failing with the
`no result to fetch` error. This is due to a race between the
`subscribe` event being received which itself leads to dispatching bus
notifications interferring with the rest of the test (the connection
is shared).

In order to solve this issue, the `WebsocketCase` now exposes a
`subscribe` method that waits for this dispatching to be done in order
to ensure it will not interfere with the rest of the test.

Some tests were also failing because the subscription was done with 0
as the last notification id. This is an issue since this could lead to
notifications being sent while they are not expected.

In order to solve this issue, `last_notification_id` is now correctly
passed when subscribing to channel notifications.

fixes runbot-24226

closes odoo/odoo#138649

X-original-commit: 3256885fd08d33a67d7165fa33d373fd039ef7af
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
2023-10-14 02:26:53 +00:00
Xavier-Do 3ee7cb6680 [FIX] invalidate t-cache in all cases
The issue with the t-cache (discribeds with a test in previous commit)
is that the key/value can be anything. It can be based on other t-cache
(assets in the example) but could be anything else.

The proposed solution will clear the t-cache when ANY other cache is
cleared. This is similar to the behaviour when the t-cache was
introduced (single ormcache)

Also sligly improve logging to precise what was cleared

closes odoo/odoo#138647

X-original-commit: aa69fa9f8efed0da45c601e5d57ce252446e376f
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2023-10-14 02:26:52 +00:00
Xavier-Do 10d2df35d0 [IMP] add a test for t-cache invalidation
The issue that can happen is a t-cache covering a t-call-asset.

The asset_cache is invalidated but not the t-cache, meaning that the url
pointing to the asset will lead to a 404 once another request, without
t-cache, will regenerate the asset.

X-original-commit: fffc198914b8c885905e9dddd72b6490fcc4c120
Part-of: odoo/odoo#138647
2023-10-14 02:26:52 +00:00
Benjamin Vray e9cc96ddf2 [FIX] fix dropping the facebook snippet onto the page
Since commit [1], the 'jquery.ba-bbq' library has been removed. Now,
when you drop the Facebook snippet into a page, there is a traceback.

This is because we were still using the 'querystring()' function from
'jquery.ba-bbq' to combine the parameters of the Facebook iframe's URL
with its URL.

[1]: https://github.com/odoo/odoo/commit/507c36883675a45a15485ce5c73aa4557ba23639

task-3543529

closes odoo/odoo#138592

Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-10-14 01:24:54 +00:00
Pierre Masereel 55e3b8f30c [IMP] base_import_module: use only one wizard
The wizard is overriden by studio, but we don't really need it so, we
modify it and we'll remove the override for studio.

closes odoo/odoo#138520

Related: odoo/enterprise#48860
Related: odoo/upgrade#5274
Signed-off-by: Pierre Masereel (pim) <pim@odoo.com>
2023-10-14 01:24:51 +00:00
Joseph Caburnay e227e7c3a2 [IMP] point_of_sale: consistent price on the combo lines
**ISSUE**

- Given a combo product with 2 combo_ids (pos.combo).
  - Combo A
    - A1, A2
  - Combo B
    - B1, B2
- When adding this combo product, it's possible that the user selects the
  combination A1 & B1.
- And in another order, A2 & B1.
- ISSUE: Between those two orders, prices of first line (component A) will be
  different. What we want is that the price of line corresponding to a component
  (pos.combo.line) is consistent between orders.

**SOLUTION**

This can be achieved by establishing a constant in each pos.combo.line. We
choose the minimum lst_price of the components as this constant which we call as
`base_price` field.

The calculation will be practically the same as before, except unit price is now
based on the `base_price` field:

- Compute the original price - which will be based on the `base_price`.
  - Recall: `base_price` is the minimum price among the `combo_line_ids` of a
    pos.combo.
- We then divide the original price to the target price (which is the price of
  the combo product) which we'll call the "prorateFactor".
- The price of the components are computed by multiplying the "prorateFactor" to
  the `base_price`.

**Rounding error:** Both the original procedure and the new strategy introduced
in this PR suffers from rounding error. To prevent the rounding error, we
compute the error and distribute it to the last line of the combo.

**Combo (Extra) Price:** The `pos.combo.line.combo_price` is added on top of the
prorated price.

closes odoo/odoo#138352

Signed-off-by: Vlad Stroia (vlst) <vlst@odoo.com>
2023-10-13 23:20:15 +00:00
Joseph Caburnay 5fc63dea81 [FIX] point_of_sale: make sure no trailing space in product name
**Steps to reproduce:**

- Install pos and pos_restaurant.
- Make sure preparation display tracks a pos.category, e.g. 'Food'.
- Open restaurant with the 'Food' category in mobile mode.
- ISSUE: The product reminder just above the 2 switch pane buttons is not shown.

**FIX:** The product reminder is not shown because the "change" name used in the
calculation for comparison has a trailing space. We just have to make sure that
the trailing space is not there.

Part-of: odoo/odoo#138352
2023-10-13 23:20:15 +00:00
Joseph Caburnay 874c7fc6b5 [FIX] pos_self_order: show correct total in order widget
Part-of: odoo/odoo#138352
2023-10-13 23:20:15 +00:00
Joseph Caburnay c3e412aafd [FIX] point_of_sale: products w/ unloaded category belong to root
It's possible that a product is loaded but its pos.category is not, e.g. when
loading a menu product (product with detailed_type='combo'), the components will
also be loaded.

In this case, the product's pos.category will be null and the product won't be
visible even when in the root category. This commit makes sure that if a
product's pos.category is not loaded, the product will be visible in the root
category.

Part-of: odoo/odoo#138352
2023-10-13 23:20:15 +00:00
Josse Colpaert 14886eb662 [IMP] l10n_ec: add active field on payment method
Because some payment methods get deprecated or are
used very little, an active field comes in handy.

closes odoo/odoo#137914

Related: odoo/upgrade#5253
Signed-off-by: William André (wan) <wan@odoo.com>
2023-10-13 23:20:14 +00:00
Josse Colpaert 331eaf2122 [IMP] l10n_ec: remove unused field l10n_ec_emission_type
The field was foreseen in advance in the community module,
but the final implementation of the electronic invoicing
did not need it.

Part-of: odoo/odoo#137914
2023-10-13 23:20:14 +00:00
niyasraphy 168b56e069 [IMP] product: pricelist option in label printing
before this commit, on printing product labels there
is no option to select the price list, always the
printed price is the default product price

after this commit, in the label printing wizard
the price list field is introduced and user can
select the price list before printing the labels

closes odoo/odoo#137190

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-10-13 21:11:55 +00:00
Benoit Socias 3c72683aac [REV] website: avoid crash in search snippet when page has no url
This reverts commit f75ec6131eff9165b06d42d27a49dd756387f4a0.

task-3443119

closes odoo/odoo#136764

Related: odoo/upgrade#5195
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-10-13 21:11:53 +00:00
Benoit Socias b082a1a546 [IMP] website: make website page URL required
Commit [1] was made to avoid that the search snippet fails when there
are pages without URLS.

In master this can be reverted and the URL field can be made mandatory.

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

task-3443119

Part-of: odoo/odoo#136764
2023-10-13 21:11:53 +00:00
Valeriya(vchu) 997aa444cb [IMP] payment: payment methods improvements
closes odoo/odoo#136525

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-10-13 21:11:53 +00:00
Bruno Boi 25423820ed [REF] web,mail: add popover props: arrow,animation
Better API as the arrow was not displayed when the fixedPosition
prop was true, which is as we were mixing apples and pears.

And as for the animation prop, it permits to remove the hacky
"o-fast-popover" class usages.

closes odoo/odoo#135188

Signed-off-by: Michaël Mattiello (mcm) <mcm@odoo.com>
2023-10-13 21:11:52 +00:00
Bruno Boi 31c52824be [REF] web_tour: replace a deprecated function
**Before this commit**
The TourPointer component make use of a deprecated
function (reposition) in order to position itself.

**After this commit**
The TourPointer now make use of the usePosition hook,
which is the recommended way to compute this kind of positioning.

Part-of: odoo/odoo#135188
2023-10-13 21:11:52 +00:00
Bruno Boi b449ae6036 [IMP] web: improve usePosition API
**Before this commit**
The usePosition hook takes two arguments:
- the target element (could be a function returning an element)
- the positioning options, which are optional.

This API is a bit weird for these reasons:
- the target argument's type is variable
- the "popper" option is not very meaningful and has a
  default value of "popper", which is not clearly stated

**After this commit**
The usePosition hook now takes three different arguments:
- first is "refName", which is the reference to the element to position
  in the template
- then is "getTarget", a callback that must return the target element,
- finally the "options"

Part-of: odoo/odoo#135188
2023-10-13 21:11:52 +00:00