Commit Graph
13479 Commits
Author SHA1 Message Date
FrancoisGe 40c79a8a5f [FIX] web: state selection field on the right
Before this commit, in a form view, the state selection button was
placed on the left. It should be on the right.

closes odoo/odoo#101818

X-original-commit: c5f22e1f0b8f1f0eae42666ec5732e590957e21e
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-10-01 14:52:24 +02:00
FrancoisGe 23e7052861 [FIX] web: delete a record in a grouped kanban
Before this commit, in a grouped kanban view, when the "delete" button
of a card is clicked, the card is deleted but a "Load more..." is
displayed in the column.

Why is this?
The group counter is not correctly decremented when the record is deleted

How to reproduce :
- Go to a grouped kanban view with a delete button on its cards
- Click on the delete button

Before this commit:
The record is deleted and "Load more..." is displayed in the record column.

After this commit:
The record is deleted.

closes odoo/odoo#101817

X-original-commit: c97551a5aac6eaa0ca3d750039a65e3e03a453da
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-10-01 14:52:22 +02:00
Aaron Bohy 40df434b2d [REF] web: remove legacy calendar view
The calendar view and all its extensions have been converted to
owl, so it's time to get rid of the legacy implementation.

closes odoo/odoo#101816

X-original-commit: 681a6a98c9919021c2f688609e5e4263a9cf4d14
Related: odoo/enterprise#32130
Signed-off-by: Michaël Mattiello <mcm@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-10-01 14:52:16 +02:00
Michael (mcm) 9087b3c2d8 [FIX] web: display "Oh snap" dialog when needed
Before this commit, the "Oh snap!" dialog could be displayed anytime
a server validation error was returned by an RPC. Also, clicking
on the "discard" button in this dialog always triggered an `historyBack`
even when we open a new action.

Now, this dialog is only opened on error while saving and does not
`historyBack` anymore.

closes odoo/odoo#101802

X-original-commit: 31c6ecb7f9ad68d337cbc7f0fd3b4d682c088b85
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-10-01 13:01:50 +02:00
Aaron Bohy 96c590504b [REF] web: remove toggle_button field from registry
This field widget is no longer used in form, list or kanban views,
so it hasn't been converted to owl. This commit removes its legacy
implementation from the registry, s.t. we ensure nobody use it
again. Moreover, we adapted a new view test using it to use another
field widget instead, to remove the dependency and ease the removal
that should happen soon.

closes odoo/odoo#101787

X-original-commit: 68cfd4b08bc9ab0305ae9033e42820370b52bdf3
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-30 18:42:37 +02:00
Aaron Bohy 91e7dfd63a [FIX] web: FieldTooltip: display component description in debug
In debug, we want to see the field component description in its
tooltip. For instance, for a many2one: `Widget: Many2one (many2one)`,
`Many2one` being the `displayName` attribute of the Component, and
`many2one` the key in the registry (to use with `widget="many2one"`
in archs).

X-original-commit: 39fbb4620b5e846cd597ecbbfefdbda8bc4cb8e1
Part-of: odoo/odoo#101787
2022-09-30 18:42:37 +02:00
luvi efad2b1a10 [FIX] sms: fix sms_button in form views
This commit brings back the Send SMS button, which was no longer
visible in form views since they are now displayed in edition by
default.

It also solves the missing enable_sms option, which was not yet
ported from the legacy implementation.

A test file has been added to the sms module to verify the presence
of the button in the view.

closes odoo/odoo#101786

X-original-commit: fdb38657904202d9bfa75817289a53596b914406
Related: odoo/enterprise#32108
Signed-off-by: Michaël Mattiello <mcm@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2022-09-30 18:42:32 +02:00
luvi 909a510120 [FIX] web: add a send email button to field in edit mode
This commit brings back the functionality to send e-mails when using
the EmailField in form views. Since they are displayed in edition by
default, the link was no longer available and the feature was missing.

A test has been adapted to assert the presence of the button.

X-original-commit: dbaa1c1083803f31d932445fed8d6324c5191c4b
Part-of: odoo/odoo#101786
2022-09-30 18:42:31 +02:00
luvi e8a9868605 [FIX] web: add a Go to URL button to UrlField in edition
This commit adds a Go to Url button next to the UrlField input. Since form
views are always set in edition mode, it was no longer possible to open
URLs by clicking on the link. Now, a button has been added directly after
the input to bring back the original feature.

Tests assert the right behavior regarding this button.

X-original-commit: e97215e78500a7b36aa0da073c767f5f96198d3f
Part-of: odoo/odoo#101786
2022-09-30 18:42:31 +02:00
luvi aea8a49a35 [FIX] web: adapt Call button for PhoneField
Since form views are always visible in edition mode, it was no longer
possible to click on the phone number to start a call. Now, a button
is displayed next to the input, allowing the call to start despite
the state of the view.

Tests have been adapted to assert the presence of the button.

Enterprise PR: https://github.com/odoo/enterprise/pull/31954

X-original-commit: 4ac2f17ce6279aa745b1a930f52b86635a04753c
Part-of: odoo/odoo#101786
2022-09-30 18:42:31 +02:00
Younn Olivier fa4cc2f969 [FIX] web, portal: re-introduce w-0 and h-0 utility classes
When updating bootstrap to bootstrap 5 with [1], the h-0 and w-0
extended utility classes were lost.

This commit adds them back, using the Utility API of Bootstrap described
here [2], and the $utilities-sizes from [3]. Therefore, the code
introduced in [4] is not needed anymore (those classes are now available
in all Odoo instead of just the frontend).

This commit fixes the footer "scroll to top" option of the website
builder.

[1]: https://github.com/odoo/odoo/commit/971e5a91aab9
[2]: https://getbootstrap.com/docs/5.0/utilities/api/
[3]: https://github.com/odoo/odoo/commit/e377a084174d
[4]: https://github.com/odoo/odoo/commit/da55072a6935

closes odoo/odoo#101691

X-original-commit: 3a2ad02962fdea254ca46af1f7728b537a6af9cd
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2022-09-30 15:33:00 +02:00
Romain Estievenart 63e3afb783 [FIX] web: DnD a record increment the width of a folded kanban columns
When we introduced the `useSortable` hook [1] and [2], the kanban column
fit the size of the kanban record when the DnD record hovers the column.
This behavior is not desired when the record is hovering over a folded
column, so we apply now a `display:none` value on the record to avoid
the resize of the column.

Steps to reproduce:

1. Go to project
2. Open Office design
3. Try to drag and drop a record to a folded column
   The width of the folded column is incremented to the width of the
   record => bug

Links:
1. https://github.com/odoo/odoo/commit/ebb410accbe3aac051e73031384f640a40544efc
2. https://github.com/odoo/odoo/commit/cf4a8f198fd2daa2b4d9f9f69c5c769c21ff13c5

closes odoo/odoo#101690

X-original-commit: 94e4d6fb432fe64dedf1e65a6ab021855d4c955e
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-30 09:32:34 +02:00
Bruno Boi 7e1304c137 [FIX] web: color edition of many2many_tags_field
Before this commit
Can display the color list picker event if no color_field has been set.
This could lead to a traceback if a color is selected.

After this commit
The field does not allow to show the color list without a color_field.

closes odoo/odoo#101679

X-original-commit: 160ba4b4edfde052d9881a23294ceafc0ceec278
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-30 09:32:18 +02:00
Aaron Bohy ba82155b8a [IMP] web: add legacy view logging in debug mode
This helps tracking views that still need to be converted, like we
already do for fields.

closes odoo/odoo#101676

X-original-commit: aea1b4af1d88b19392eb9f42a42fd970017d5630
Signed-off-by: Géry Debongnie <ged@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-30 09:32:11 +02:00
luvi 8912bb4dfb [FIX] web: add binaryFormatter for files
This commit fixes the display of files in list and in the BinaryField,
which was displaying the complete file value instead of a human readable
size.

A new formatter has been added, and the isBinSize utils has been added
to its own utils file instead of depending from the field.

A test has been added to verify the correct visibility of a file in a
list view instead of showing the file content.

closes odoo/odoo#101673

X-original-commit: ff8485b2289a1157cdae608bd4223012fc67b77c
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-29 20:51:18 +02:00
Aaron Bohy f026c8a4d4 [FIX] web: convert iframe_wrapper field to owl
This field has been forgotten in the PR converting all web fields
to wowl.

closes odoo/odoo#101661

X-original-commit: 2e1c78b3818cdcb97afe4cd1496e0da6f8bac1b7
Related: odoo/enterprise#32041
Signed-off-by: Géry Debongnie <ged@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-29 20:51:07 +02:00
Aaron Bohy 4f4fae261b [FIX] web: stop using legacy Many2one field in kanban
Before this commit, if there was a kanban view with a field with
widget="many2one" explicitely set, the legacy KanbanMany2oneField
was used. That field simply displays the name of the related
record, with no link.

In the wowl kanban view, we only use a FieldComponent if the
field is explicitely set, and we use a formatter otherwise. For
that reason, this commit simply removes the kanban special case
instead of re-introducing it. So by default, a many2one will be
displayed in a span, and if someone wants the link in the kanban
card, he has to set widget="many2one" (this wasn't possible before).

Temporarily, until we remove the fallback on the legacy field
registry, we need to add a "fake" entry in the wowl registry, to
prevent from fallbacking on legacy.

X-original-commit: a3cd97c5c81422e33a5715ecc4dd017cf5172ea8
Part-of: odoo/odoo#101661
2022-09-29 20:51:06 +02:00
Aaron Bohy 85bbbd2381 [FIX] web: re-introduce many2one_reference field and formatter
This field type has been forgotten in the PR that converts web
fields to wowl, probably because it wasn't tested. This commit
defines a Component and a formatter to use for that field type,
in wowl views, s.t. we no longer rely on the legacy implementation.

X-original-commit: 540e113d107b59af23dc9726a55f5b8376248247
Part-of: odoo/odoo#101661
2022-09-29 20:51:06 +02:00
Aaron Bohy e81c93380b [FIX] web: convert CopyClipboardButton field to owl
There are several versions of the CopyClipboard field (char, text,
url). There's also the version where the field's value isn't
displayed (only the copy button is), aka `CopyClipboardButton`.
This one has been forgotten during the owl conversion. This commit
restores it.

X-original-commit: 3dfbfb5b9568b72ebbe7c376cd56ebf056a86c75
Part-of: odoo/odoo#101661
2022-09-29 20:51:05 +02:00
Adrien Dieudonné 98d093b3c2 [IMP] web: FormView, remove unnecessary mixin
task-2918464

X-original-commit: a1f4f8ea930425c9556691d518905b2fe5ee6da2
Part-of: odoo/odoo#101655
2022-09-29 19:54:49 +02:00
Brieuc-brd 929769ecdd [REF] web: FormView, replace tables with grids
This commit replaces the FormView group tables with css grids.
Part of the overall v16 SCSS optimization/restyle, task-2704984

task-2918464

X-original-commit: a2b894989ea33364dd29a7d412e4bd4260c1f5ef
Part-of: odoo/odoo#101655
2022-09-29 19:54:49 +02:00
Brieuc-brd 139e0e257c [IMP] web: add d-[device]-contents classes
This commit extends the `display` class with a new value to fine-tune
the layout in several circumstances. Classes added:
- 'd-[device]-contents'

task-2918464

X-original-commit: 1c871cc847f305649a4329b653540109596fa149
Part-of: odoo/odoo#101655
2022-09-29 19:54:49 +02:00
William Braeckman 286eee3320 [FIX] web: prevent selecting an invalid scale in calendar
By pressing the date in the calendar's date picker, a function computes
a new scale to be used depending on the previous focused date and scale,
for example clicking on the focused date in month scale will switch to
week and so on.
However it bypasses the scales that are available on the calendar's
definition.
It is now prevented.

X-original-commit: a9059b0bee02f635d563b45ee94f04bab5532fe4
Part-of: odoo/odoo#101603
2022-09-29 15:27:05 +02:00
FrancoisGe f360965dc2 [FIX] web: group a list view with a date field
Before this commit, in a grouped list view, if a date field is between
two fields with an operator_group then the view crashes.

Why is this?
The view will try to format the aggregated date value but the date does not have one.

Solution:
Use the value false if there is no aggregated value for a field.

closes odoo/odoo#101573

X-original-commit: c9485ea3dd377f486fb7543fc1092175006fc987
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-29 13:23:09 +02:00
Achraf c120f43905 [FIX] web: Allow users to enable list view with group_by_no_leaf
- Go to accounting/Report/Invoices Analysis
- Open studio
- enable list view
- empty view

This code bellow compute count_field as `__count` because group_by_no_leaf
is in the context.

But in the basic_model we don't consider this case.

https://github.com/odoo/odoo/blob/5797fd80a63309269f15bcbe4948d4429a53eec2/odoo/models.py#L2798-L2802

opw-2980923

closes odoo/odoo#101570

X-original-commit: bde2985959ef8914da4b8aca96efc5772262d0c0
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-29 13:23:01 +02:00
FrancoisGe 43908c5fcd [FIX] web_editor: translatable html fields
Before this commit, clicking on the translate button of a web_editor
html field throw an error.

closes odoo/odoo#101551

X-original-commit: c5199c8e21abd90e2904e31240e427fa2e920803
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-09-29 12:17:14 +02:00
Pierre Paridans 7fbc49d486 [FIX] web: ListView colspan for empty lines
Before this commit, empty lines on non-editable form's list are 1 column
too long and breaks the list's layout (ie. squish other columns and
empty space on non-empty columns).

This commit fixes it by properly calculating the number of columns and
their application on the empty lines' colspan. It also fixes an assert
in the list view's tests which mistakenly required that list's records
should be editable in a non-editable form.

Steps to reproduce:
- Open a Contact
- In the notebook, choose the Accounting tab
=> The Bank Accounts list has broken layout

closes odoo/odoo#101550

X-original-commit: 543134e215200bafd89edc1303032a210a4206cf
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2022-09-29 12:17:12 +02:00
Aaron Bohy 23e93f9341 [FIX] web: Mutex: do not fork rejected promise
Have a many2one field in a form view, and try to quick create a
record. If the name_create returns an error (e.g. ValidationError
in the model), the many2one field opens a form in a dialog (aka the
slow create). It thus properly handle the error.

However, before this commit, the error returned by the RPC was also
displayed in its own dialog (behind the form dialog).

This was due to a mistake in the Mutex, which forks the promise
returned by the registered action. When that promise was rejected,
the forked one was thus rejected as well, and it wasn't caught.
That later promise is only used to unlock the mutex, so we can
safely catch it.

closes odoo/odoo#101549

X-original-commit: fe9e044b9e03ac7fff5d314e6e207921a15c8965
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-29 12:17:09 +02:00
Aaron Bohy 0796802bca [REF] web,*: don't rely on legacy for specialData/fieldsToFetch
Before this commit, the BasicRelationModel, and thus the new form
view, still relied on the existence of legacy field Widgets for
their `specialData` and `fieldsToFetch` attributes. This commit
removes that dependency, s.t. we always look in the converted
Field component. To make this work, we needed to defined those
attributes on several Field components that need them:
 `fieldsToFetch`: this was a mistake, it must be defined on new
      Field components
 `specialData`: the introduction of `legacySpecialData` is
      temporary, until we stop using the BasicModel

closes odoo/odoo#101548

X-original-commit: d2a2fd94bfcef8360805b46a1692ba7eb84fbe1c
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-29 12:17:04 +02:00
qsm-odoo 7a91044372 [FIX] web: smoothly scroll to header and footer (scrollTo utils)
Before this commit, when you clicked on a link which was supposed to
reach the top or the bottom of the page, the animation looked strange.
This was because the scrollTo util cannot handle fixed-positioned
elements correctly, which the header and footer can both be.

While the animation did look strange, it was still working. So the time
was never took to investigate. However, if [1] was to be reverted (as
it will partially be in master to restore the scrollbar at its rightful
place now that it can be done (see [2])), using scrollTo on those
elements simply did not work at all anymore.

This commit fixes the problem by making an exception for those elements
specifically. Notice that there is another "bug": if the header or
footer is removed (as there are options to do so), not only scrolling to
"top" or "bottom" cannot work properly but the option also does not
show up in the editor panel. This will be considered as a limitation for
stable versions and be fixed later in master.

[1]: https://github.com/odoo/odoo/commit/4e7be69825163c0a0ff41c882a196fc7f3158fb3
[2]: https://github.com/odoo/odoo/pull/98429

closes odoo/odoo#101517

X-original-commit: 4883ae872c57f8c8db60ea5f9f4fd9df8bba4948
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2022-09-29 12:17:01 +02:00
qsm-odoo b910f3405d [FIX] web, web_editor: fix utils wherever the main page scroll is
With [1], the frontend main scrollbar was moved to the #wrapwrap element
and with that change came many scroll utils and code adaptation. The
goal was for the code to be generic but after multiple bug fixes, only
the case of #wrapwrap being the element which scrolls (this stable
version's standard case) was actually working. As the scroll is being
moved back out the #wrapwrap in master (see [2]), those non-properly
working generic features were found. This commit solves the stable utils
in preparation for that master merge. Indeed even if the standard 14.0
case was not impacted by those faulty utils, they were still wrong and
could impact users migrated from 13.0 and earlier.

Note: some adaptation actually handles the case of multi-documents in
the page (like triggering a scroll in an iframe from out-of-the-iframe
JS code). This is not needed here in 14.0 but will be in the forward-
ported version in master for the 'website-in-backend' features merged
at [3].

This actually includes some (parts of) fixes that were done in the wrong
version, like [4].

[1]: https://github.com/odoo/odoo/commit/4e7be69825163c0a0ff41c882a196fc7f3158fb3
[2]: https://github.com/odoo/odoo/pull/98429
[3]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
[4]: https://github.com/odoo/odoo/commit/f240a42ab501fe37b52f92957c144536a9faf09d

X-original-commit: ffc19547c8da2ef7fee8e2ac743ab99a607dcf90
Part-of: odoo/odoo#101517
2022-09-29 12:17:01 +02:00
stefanorigano (SRI) b633a95bb6 [IMP] web, web_editor, website, spreadsheet: use system fonts
Use system fonts for backend and web-editor's UI.
This commit removes references to proprietary fonts and allows the OS
to use the system ones. The aim is to reduce http request and the
general footprint (see enterprise counter-part).

The new font-stack:

- apple-system (San Francisco): iOS Safari, macOS Safari, macOS Firefox
- BlinkMacSystemFont (San Francisco): macOS Chrome
- Segoe UI: Windows
- Roboto: Android, Chrome OS
- Helvetica Neue: old OSX versions
- Ubuntu: Ubuntu
- Liberation Sans: Linux (others)
- Arial: Any
- sans-serif: General fallback

This was actually already introduced for the website default theme and
as a general option with [1] but it was not complete: if reaching the
need to use Roboto of the font stack, the repo Roboto was used instead
of the potential system one. It was not shown during testing with the
previous font stack. With the new one, on Ubuntu, it was revealed as
the Ubuntu font comes after Roboto.

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

task-2995248

closes odoo/odoo#101533

X-original-commit: 9f8f8f2ef88aee746819469c918b2d31ec29d031
Related: odoo/enterprise#31985
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2022-09-29 11:13:10 +02:00
Dardenne Florent (dafl) 9a132ba95f [FIX] web: many2many_tags_field: fix mobile placeholder
Before, in mobile, the placeholder for `many2many_tags_field` when in mobile
was the text "props.placeholder".

Now the placeholder text is dynamically set.

closes odoo/odoo#101513

X-original-commit: b7fe9f2cf2b04b1172ec2ecbb3998328976f4960
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-29 09:09:09 +02:00
Patrick Hoste 385fc1c7eb [IMP] web: allow custom 'modal-body' class on Dialog component
This commit simply enables a custom prop for the Dialog component so that it
can have a hand-picked background instead of the default 'white'.

Will notably be useful for the social images carousel where we need a dark
background.

Task-2855647

closes odoo/odoo#101505

X-original-commit: 8da44acadbd4ad4c03dba496daf317f1f2ab8371
Related: odoo/enterprise#31973
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2022-09-28 21:26:37 +02:00
Julien Mougenot e8124d2e38 [FIX] web,*: Fix style in sample data views
This commit defines new rules to disable elements in views using sample
data.

Previously, this was done by setting a 'o_view_sample_data' class on the
view and then setting another class 'o_sample_data_disabled' on elements
which had to be disabled.

Now, the logic determining which elements are disabled has been moved to
each view's SCSS file to avoid polluting the templates with redundant
class assignations. A mixin (o-sample-data-disabled) has been defined in
the SCSS utils to have the same rules on these elements.

closes odoo/odoo#101485

X-original-commit: 3e413c96ff2dff60de22e1d5e1fed7070ac2943d
Related: odoo/enterprise#31960
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2022-09-28 21:26:32 +02:00
Julien Mougenot 05d361d383 [REF] web: Rename legacy sample view class
This commit renames the 'o_view_sample_data' class to
'o_legacy_view_sample_data' in legacy views to allow new views to use
different sets of rules.

X-original-commit: 05ae053dc94f9ce91c099d74f6740604e3e376c3
Part-of: odoo/odoo#101485
2022-09-28 21:26:32 +02:00
Arnaud Joset e34a9322b4 [FIX] web: fix missing labels for week_days widget
If the day fields are missing from the fields in the view the labels are
not loaded.
This commit adds default labels to the fields to avoid them being empty.

TaskId-2999194

X-original-commit: c6f8a229e9a8bcb798dc2944185fc48c3c871025
Part-of: odoo/odoo#101492
2022-09-28 20:29:51 +02:00
William Braeckman 99adf83e38 [IMP] web: expose sub template of calendar components
Make it easier to override component's sub templates by making them
overridable on the component.

TaskId-2999194

X-original-commit: 4f4e91ebb14d563dd3ec6d305b9984db25e06cbf
Part-of: odoo/odoo#101492
2022-09-28 20:29:50 +02:00
clesgow e8367f2df8 [FIX] web: Bootstrap 5 vs wkhtmltopdf incompatibilites
In Bootstrap 5, the `container` class was updated to use variables for
its left/right paddings. This seems to conflict with wkhtmltopdf, and no
paddings are added, shifting all reports.
This introduces the set paddings defined in Bootstrap 4 for the reports.

Steps to reproduce:
Go to Inventory -> Products -> Products -> Any consumable/storable
product -> Print labels -> Dymo

Also with Bootstrap 5, the `table-borderless` class wasn't working
properly on the PDFs either, as the borders were still visible. This
removes all borders within a `table-borderless`.

Steps to reproduce:
Go to Inventory -> Products -> Products -> Any consumable/storable
product -> Print labels -> 2x7 with price

Part of task-2985735

closes odoo/odoo#101490

X-original-commit: 0b9acefb18ad8b4a0df72789c853ed8d113a495b
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2022-09-28 19:31:59 +02:00
std-odoo 89a9253ccf [IMP] web: always reset the autocomplete input for properties tags
Purpose
=======
Always reset the autocomplete value when creating a new tag,
even if the tag already exists.

Technical
=========
The input value is reset when the tag is created because the props
of the autocomplete component change, but if we do not change the props
of the autocomplete component (e.g. because the tag already exist and
nothing should be done), the text value is not reset.

Add a new option for that purpose.

Task-2965523

X-original-commit: 352e811e821ef7c1fc075c32dda7272145749526
Part-of: odoo/odoo#101487
2022-09-28 19:31:53 +02:00
std-odoo 76a7247b37 [FIX] web: allow to close a popover when it's inside an other popover
Bug
===
When a popover is inside an other popover (e.g. tags color popover
inside the properties definition popover), when clicking on the other
popover, the first one is never closed.

Task-2965523

X-original-commit: d782dbf5cfbeb31f98ca39935db4f6ab046a9f43
Part-of: odoo/odoo#101487
2022-09-28 19:31:52 +02:00
std-odoo a6e7a560ef [IMP] base, web: improve the properties behavior when a record is not accessible
Purpose
=======
Improve the behavior / visual of the properties field when the user does
not have access to some relational properties (many2many, many2one).

When the user does not have access to one many2many value,
show the others record in the list.

Fix a traceback when the model is not set on the definition.

Task-2965523

X-original-commit: cb8b751a335b01192aab185cd0230fa0f036b974
Part-of: odoo/odoo#101487
2022-09-28 19:31:51 +02:00
std-odoo 1260496c9d [IMP] web: improve the usability of the properties component
Purpose
=======
Allow to display an avatar image for the relational properties
(many2one and many2many). This is hardcoded for res.users and res.partner,
because we don't want an option in the property definition, and we can't
read ir.model because of access right...

Automatically select the default property label when we create a new
property, so the user can just enter the new property name without
removing manually the default label.

Hide the up / down arrow used to move the property, if it's already
the first or the last property in the list.

Close the popover when pressing enter in the label

Fix a traceback when we try to delete a property after changing the type.

Fix a traceback with Falsy default datetime.

Task-2965523

X-original-commit: 316f5462d438306899c53eb625d1d573f1a93d8d
Part-of: odoo/odoo#101487
2022-09-28 19:31:51 +02:00
std-odoo f5c7555d1b [IMP] web, base: shorten generated property names
Purpose
=======
Shorten the property name to take less space in database (while keeping
a very low probability of collision).

E.G.: "aa34746a6851ee4ea1f8d95746e45788" -> "aa34746a6851ee4e"

Automatically generate property name in python if they are missing.

Task-2965523

X-original-commit: d597083ff5e0a4abde67a450a61e04e6bf119c26
Part-of: odoo/odoo#101487
2022-09-28 19:31:51 +02:00
std-odoo 9e2a3ff662 [IMP] web: clean the code about property attributes reset
Purpose
=======
When changing the type or the model of a property, the name is
re-generated, so the others record values are reset. If we change back
to the original model / type, the original property name is restored.

This is a super important behavior of the properties component and
it should be fully tested.

Reset the model and model description when changing the type.

Now that the form view is always in edit mode, even if we changed the
model / type of a properties, then save, we are able to restore the old
properties as long as we don't refresh the page.

Task-2965523

X-original-commit: 54ae82974b836a0badab3c4c767916a1daf88f76
Part-of: odoo/odoo#101487
2022-09-28 19:31:50 +02:00
std-odoo 3c356808c0 [IMP] web: remove the properties formatters from legacy
Purpose
=======
Move the the properties formatters from legacy
to the new formatters file.

Task-2965523

X-original-commit: 6e8b49ba8a213bc2dd600fd91b7acd4a38147926
Part-of: odoo/odoo#101487
2022-09-28 19:31:50 +02:00
std-odoo a631a333b0 [FIX] web: fix the properties field test about many2many
Purpose
=======
The many2many properties have "res.users" as model, but the model and
records were missing in the test data.

Task-2965523

X-original-commit: 974999d32e14fcfca94b327fb8d6efa06d6bf06e
Part-of: odoo/odoo#101487
2022-09-28 19:31:50 +02:00
Renaud Thiry 0553e16dbd [FIX] mail, web_editor: dialog file update event
An event was not called on uploading files in a media dialog.
This meant the parent of html field didn't know of the new attachments
which resulted in attachments being linked to no record at all
and  not being garbage collected later.

This adds a reference inside the media dialog file input so that it can
trigger that event on behalf of the html field.

The attachments newly uploaded in media dialog are uneditable
to prevent users from unlinking attachments
that are still used in the body of the composer (causing the same issue)

Task-2860761

closes odoo/odoo#101405

X-original-commit: f4dd1eb3f25672e7309759c347e2b552c5652b2f
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-09-28 14:19:11 +02:00
Victor FeyensandHoracio Tellez Perez f05c4ae9c8 [IMP] web: util method to apply multiple changes on a x2m field.
X-original-commit: 429357c706c43a67febec05e84b290decf542427
Part-of: odoo/odoo#101352
Co-authored-by: Horacio Tellez Perez <hote@odoo.com>
2022-09-28 11:14:34 +02:00
Victor FeyensandValentin Chevalier 673b784f86 [FIX] web: magic commands in search domain
Before this commit, when we used a domain on many to many relational
fields, the `dataContext()` returned the context of the field, which
contained a command tuple.

This causes an error server side, when a domain [('id', 'in', [[6,
False, [3,4]]])] is provided to search available records to fill the x2m
field.

Now, it returns the `currentIds`, which correctly gives the id(s) of the
records.

Approved by SAD

X-original-commit: 5653e23a333262683257575d071575a63981ca33
Part-of: odoo/odoo#101352
Co-authored-by: Valentin Chevalier <vcr@odoo.com>
2022-09-28 11:14:34 +02:00