Before this commit, a virtual record in form view always had the
o_form_dirty class, which is problematic when a tour ends with a virtual record.
After this commit, a virtual non-dirty record in form view doesn't have
the class o_form_dirty, and doesn't have the o_form_saved either as that doesn't make more sense.
closesodoo/odoo#102153
X-original-commit: 0041b9fd8eb75d5b680d94d491e2b9f684b2d0c1
Related: odoo/enterprise#32282
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
A new useDraggable hook is introduced and used in the various components that
use the feature.
It relies on the draggable hook builder which is a generic way to prepare
specific drag and drop features.
X-original-commit: cb1cfe5f5efe1b683d7fdffde3718bd8bf1bcd86
Part-of: odoo/odoo#102153
Have a form arch containing
```
<notebook>
<page class="myClass" />
</notebook>
```
Before this commit, "myClass" did not appear in the final DOM.
After this commit, it does.
X-original-commit: e886adcb38695bcfa8a9f741d4e496229fb199ff
Part-of: odoo/odoo#102153
In which case we just don't render any Renderer.
Useful when we want to render invisible fields.
X-original-commit: e77afa6266a66e9d126d9a0293bb3e0eb8fb0ff3
Part-of: odoo/odoo#102153
The mapping operations between the new RelationalModel API and the
BasicModel is now done in its own file
X-original-commit: 1202610ce6946ee4b2878e19e6ee6038edc9a71e
Part-of: odoo/odoo#102153
The goal of this commit is to fix the behaviour of clicking on a field
with the "many2one_avatar" widget in a list view.
Expected behaviour when clicking on a field with the "many2one_avatar" widget:
- Editable list view: switch row to edit
- Multi_edit list view with selected record: switch row to edit
- Other case: open the many2one_avatar record in a form view
Before this commit, clicking on a field with the "many2one_avatar" widget always
opens the record in a form view.
After this commit, the expected behaviour when clicking on a field with
the "many2one_avatar" widget is respected.
closesodoo/odoo#102146
X-original-commit: ad597d414c59723d3c6af5dfdc1a3a41fd4f4032
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Adds `width: 100%` on the `.o_field_widget` so the input it can take the
all width in the "Quick Create" form.
Also, this commit fixes the CSS selector for the `margin`
rule as in the "Quick Create" form view there is no `.o_group` anymore
on `.o_inner_group`.
Steps to reproduce:
* Go to project
* Select a project
* Click on the `Create` button => BUG
closesodoo/odoo#102151
X-original-commit: 774213758c7ddf7b74a9b370457f017e09d9bbcf
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Signed-off-by: Romeo Fragomeli (rfr) <rfr@odoo.com>
Toggling an optional field was unselecting the row, but didn't correctly
copy the same bahavior than legacy when it comes to the saving and
discarding of the data being edited.
However, by simply removing the line of code unselecting the row, we get
a better ux for no cost. The user can continue the record edition after
adding or removing columns.
Note that the focus will always be reset to the first column though.
closesodoo/odoo#102142
X-original-commit: 63c87eac6173af13ec84f90a7f25f07a074197f3
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Simon Genin (ges@odoo) <ges@odoo.com>
This commit is the revert of #98703.
closesodoo/odoo#102116
X-original-commit: 64c0ed09f058cff9b3cebfe5480a7efd0caa7be6
Signed-off-by: Simon Genin (ges@odoo) <ges@odoo.com>
Signed-off-by: Dardenne Florent (dafl) <dafl@odoo.com>
The event listeners were added to the upload object instead of the xhr
object making them being called before they were supposed to.
closesodoo/odoo#102061
X-original-commit: 804467d7b0a583ab36a47212d482b41d29ca2203
Related: odoo/enterprise#32247
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
This commit applies the proper spacing between FormView's buttons in a
Dialog's footer.
Steps to reproduce:
- Open Notes
- Enable debug mode
- In Debug menu, open "Edit View: List"
=> dialog's buttons have no spacing
closesodoo/odoo#101974
X-original-commit: f67a8fff6c86a67ce2f6a162f1de992fe25eefbd
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Allow our users to modify mail template more easily
- make the list accessible from the settings
- give them a link to update relevant views to update header/footer
- make the list and form of templates more readable
- add a description on templates, allowing to describe their usage
In order to better filter templates, a new category field is added that
is computed based on active flag, description being set and the template
having an xml ID. Master templates are active, with a description and an
xml ID.
Update master data to add description on some templates.
task-2944770
closesodoo/odoo#101730
X-original-commit: dfa867343ee8842f3f127ac62584fd471b41dde1
Related: odoo/enterprise#32079
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Have a list view with more records that can be displayed with the current
limit. Go to next page and group by some field that produces fewer groups
that the current offset. Before this commit, no group is shown because
the offset is kept when the list reload. The same thing can happen when
the domain is changed.
We fix that bug by setting the offset to be zero when the list reload.
closesodoo/odoo#101975
X-original-commit: bda0bd21c8e6772cbfb0680a2b8b497dbbcfd628
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Before this commit, printing an invoice which is not
created yet reloaded the view with a new record.
Now, the view reloads with the current record.
closesodoo/odoo#101947
X-original-commit: 0bad6ae4185d9b25684d0c47c9cee7c098053707
Related: odoo/enterprise#32191
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
Currently, the keys passed through the t-foreach for looping over the
groups has a flaw. It comes from a method that works as below:
It checks the group has a value => provide a key as group_key_{value}
if not => group_key_{i} where i is the iteration index
But the {value} is acutally just an id of some model. So in some cases,
with low ids (empty DB, tests, ...), you can run into situations where
the keys are duplicates, making owl crash.
This comit fixes the function to make sure it has no duplicates.
closesodoo/odoo#101925
X-original-commit: aadb38e259c25cea69d54c3c62b21d8e747f9b87
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
A rule was missing from the copied legacy rules
Note:
`form-break-table` was not only applied for small screen but also for
other case like quick edit in Kanban.
Steps to reproduce:
* Open Project
* Select a project
* Click on the Create button => BUG
closesodoo/odoo#101930
X-original-commit: de78e8bcbbc02be9024a1dd08379306ae56b0a2a
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Setting the attributes `can_create` and `can_write` in views
which are not editable is useless as you cannot edit the record
in these views.
This allow to gain some KB when serving the view to the web client,
as well as making the view cleaner.
e.g. the graph view in the CRM > My Pipeline menu
Before:
```xml
<graph string="Opportunities" sample="1">
<field name="stage_id" can_create="true" can_write="true"/>
<field name="user_id" on_change="1" can_create="true" can_write="true"/>
<field name="color" modifiers="{"invisible": true}"/>
</graph>
```
After:
```xml
<graph string="Opportunities" sample="1">
<field name="stage_id"/>
<field name="user_id" on_change="1"/>
<field name="color" modifiers="{"invisible": true}"/>
</graph>
```
This revision takes the opportunity to port the `editable` concept
from the server to the web client MockServer,
in order to be able to test the removal of these attributes from the views
in the QUnit tests.
The `_editableNode` JS function added here is the translation of the
existing `def _editable_node` method in `addons/base/models/ir_ui_view.py`
https://github.com/odoo/odoo/blob/f5edde3624f4fe40f87cc7fed7dcfc4bbce1f19f/odoo/addons/base/models/ir_ui_view.py#L1282-L1301closesodoo/odoo#101902
X-original-commit: f0beddf534a57e972ac3a7bef6afa1caae1dcff3
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
This commit removes unecessary overrides of the Notebook component
styling in the Form and Kanban columns examples.
Additionally, it also moves the most generic styles (like responsive)
into the Notebook component itself.
closesodoo/odoo#101868
X-original-commit: c1b9905b2e17ca0fda3aeb152c2927031d1662c4
Related: odoo/enterprise#32158
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
*: im_livechat, survey, utm, website_crm_iap_reveal, website_forum,
website_livechat, website_sale, website_sale_comparison
Before this commit all cookies were considered essential.
This commit makes some of them optional. It also makes it possible for
the website visitor to only accept the essential cookies.
task-2800976
X-original-commit: 9a8a9463289a7446e9be0ef62ff895feb37a4de4
Part-of: odoo/odoo#101845
Co-authored-by: Benoit Socias <bso@odoo.com>
On the invoicing, the subtotal/total element is misaligned due to the
nesting inception of groups. This commit forces to push the element to
the end (`right`) of the line.
Steps to reproduce:
* Go to Invoicing
* Select an invoice => BUG
closesodoo/odoo#101835
X-original-commit: 27119175d89fbb874967816886eced80cf4b22bb
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Since the merge of the CSS Grid system in form view, in form view where
there is a "subtotal", it was miss aligned.
In this commit, we fix two point:
* we use the following CSS rules to don't be impacted by the
`float: right` elements (e.g. "Coupon Code") and to push all element
to have the space between.
```css
.o_field_section_and_note_one2many ~ .row.o_group {
clear: both;
justify-content: space-between;
}
```
* we modified the form compiler (group) to not add layout/positiong
CSS rules on the empty `clearfix` element from the ARCH. As before this
commit this `DIV` was also used for the formula to spread the size on
the children of a group.
Steps to reproduce:
* Go to sales
* Select a quotations => BUG
X-original-commit: cdc00b03b77cc08bde14ffbc9e6867650f316ea3
Part-of: odoo/odoo#101835
We don't we to add padding on the listview embedded in a form view.
So we have added a `:not(.o_field_x2many_list) > ...` on the original
rule to avoid adding these padding on `o_field_x2many_list`.
Steps to reproduce:
* Go to Sales
* Select a Quotation => BUG
X-original-commit: c016560b6b199f00e0d248025a81be02caddff54
Part-of: odoo/odoo#101835
Since the `Many2OneAvatarField` field was rewritten in OWL component,
there is a newline between the image and the input.
We apply a `d-flex` on the parent to fix the problem.
Steps to reproduce:
* Go to Helpdesk
* Select a ticket
* The field `Assigned to` is on two line => BUG
X-original-commit: 1c88a43a4332ea4fa21ae2b04fdb8869300250d8
Part-of: odoo/odoo#101835
On large screen, the sheet in form view has too much space around.
This is due as the `max-width` was set to the `width` of the `XL`
container and not the `XXL`.
Note the size in `$container-max-widths` are:
* sm: 540px
* md: 720px
* lg: 960px
* xl: 1140px
* xxl: 1320px
Steps to reproduce:
* Open a form view with a sheet => BUG
X-original-commit: 27450c9c5d76fee9922a4625f5129b91976a6c55
Part-of: odoo/odoo#101835
This commit restores the highlight on the row when we navigate with the
keyboard.
Note we use `:focus-within` to maintain the highlight when we are in a
sub element of the row (e.g. `th`, `td`, some sub `div`, ...)
Steps to reproduce:
* Open a list view
* Use the keyboard to navigate => BUG
X-original-commit: 277fbfadd03133187b6d015f996e5197db5da5b1
Part-of: odoo/odoo#101835
Some overrides of search might allow to sort on non sortable fields like
my_activity_date_deadline on crm_lead. An option allow_order was used
to indicate that to the legacy list view. The new list view introduced
with https://github.com/odoo/odoo/commit/bc0a0cead62edd1e0b299fb9a90cd21792814618
no longer consider that option and consequently the Pipeline list view
of crm can now longer be sorted by my_activity_date_deadline. The same
happens in some other views.
In this commit, we reintroduce the use of that option in the list view
and fix that problem.
closesodoo/odoo#101837
X-original-commit: 52481d55ef857ffc1004d27216cbf6b81a527b14
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, open an act window action asking for a tree view
would cause a crash. We fix that.
closesodoo/odoo#101831
X-original-commit: fa6fd8b079ad3347f3571654f07bf9751834654d
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, with its default props, the SelectCreateDialog
displayed a "Create" button in its footer, but clicking on it does
nothing.
This commit simply opens a FormViewDialog to create a new record
of the given model, like in legacy. This default behavior can still
be overridden thanks to the props "onCreateEdit".
X-original-commit: 3afaad687e8ca8cb34a7bf7121e75a5a583762ed
Part-of: odoo/odoo#101819
Before this commit, in a form view, the state selection button was
placed on the left. It should be on the right.
closesodoo/odoo#101818
X-original-commit: c5f22e1f0b8f1f0eae42666ec5732e590957e21e
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
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.
closesodoo/odoo#101817
X-original-commit: c97551a5aac6eaa0ca3d750039a65e3e03a453da
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
The calendar view and all its extensions have been converted to
owl, so it's time to get rid of the legacy implementation.
closesodoo/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>
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.
closesodoo/odoo#101802
X-original-commit: 31c6ecb7f9ad68d337cbc7f0fd3b4d682c088b85
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
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.
closesodoo/odoo#101787
X-original-commit: 68cfd4b08bc9ab0305ae9033e42820370b52bdf3
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
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
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.
closesodoo/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>
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
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
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