Commit Graph
10156 Commits
Author SHA1 Message Date
fw-bot 715d270c45 [FIX] web: not able to scroll in long grouped kanban
Due to commit odoo/odoo@f4031c62f9
it was not more possible to scroll in a grouped kanban.

Steps to reproduce:
* Go to project app
* Select a project with a few numbers of task
* Create as need new task to have more task than visible on the screen
* Try to scroll (BUG)

Note: we also fix the swipe in empty column

opw-2080491

closes odoo/odoo#39168

X-original-commit: 023941e25cae34e60eaabcc54841b3d908a59414
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-10-22 11:12:01 +00:00
Lucas Perais (lpe) 52f67d87d1 [FIX] web: web_client o_content is scrollable, not action manager
Go on a kanban view with a scroll bar
scroll all the way down
Open a record in form view

Use the breadcrumb to go back to the kanban

Before this commit, the kanban was re-opened
but the position were we were before opening the record was lost

This was due to 40dd121938
which refactors the dom, puting the action manager on top of controllers

After this commit, when re-opening the kanban, we end up at the same position
we left it at

OPW 2074077

closes odoo/odoo#39120

X-original-commit: c0d48878c452b256859f067186567c126d8de27e
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-10-21 12:26:12 +00:00
Romeo Fragomeli 56b91ccdc0 [FIX] web: virtual keyboard is always showing during navigation
Before this commit, the search bar auto focus was already disable
on mobile based on media queries.
But "isMobile" equals false since we force the desktop mode.

To fix this, we use isMobileDevice which doesn't depend on the
resolution.

Task ID: 2090202
2019-10-18 12:59:48 +00:00
Romeo Fragomeli 78b9dad560 [REF] web,barcodes: simplify mobile device detection
In this commit, we introduce "isMobileDevice".
Do not confuse with isMobile.

isMobile:
A frequent use case is to have a different render in 'mobile' mode,
meaning when the screen is small.  This flag (boolean) is true when
the size is XS/VSM/SM. It is also updated dynamically.

isMobileDevice:
Mobile device detection using userAgent.
This flag doesn't depend on the size/resolution of the screen.
It targets mobile devices which suggests that there is a virtual keyboard.

Task ID: 2090202
2019-10-18 12:59:08 +00:00
jbm-odoo d669654895 [FIX] web pivot: Fix open position of selection
Description of the issue/feature this PR addresses:
In pivot, when we click on '+', it must open the selection box at
the point where we click.

Current behavior before PR:
The box opens at the top of the page

Desired behavior after PR is merged:
The box opens at the point where we click

id=2066675

closes odoo/odoo#39034

X-original-commit: 989df08fd8bbfa4a1f05784b599b1657a9b28fe5
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-10-18 12:19:50 +00:00
Julien Mougenot 33c406e3b1 [FIX] web: filter menu styling
Before this commit, the trash icons and "OR" indicator of each filter
was too far and couldn't be seen

Now, both of them are closer to the filter and can be seen in any circumstance.

Task 2073707

closes odoo/odoo#39026

X-original-commit: 87a91c78fb15ee941e72023e02e539de64f0486d
Signed-off-by: Julien Mougenot (JUM) <Arcasias@users.noreply.github.com>
2019-10-18 11:03:56 +00:00
Victor Feyens e92d302d2f [FIX] web: kanban archive / unarchive all
Since https://github.com/odoo/odoo/commit/f896afcc8a54eae3efcdf034e3fd256942f7fa78,
(un)archive all triggered toggle_active on all records, which doesn't consider
whether we want to archive/unarchive and on which records...

Closes #38903

closes odoo/odoo#39022

X-original-commit: 2c89cb0c92fc593e2e323e322c9228de268f64cf
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2019-10-18 10:25:58 +00:00
Lucas Perais (lpe) 1f6a7debf2 [FIX] web: custom filter on date[time] with changing the operator
On a list view, Add a custom filter on a date
Change the operator to "in between"
Change it back to "equal"
Apply the search

Before this commit, the label of the filter still was in between
Whereas it should have been "equal to ..."

After this commit, the label of the filter is correct

OPW 2085951

closes odoo/odoo#38705

closes odoo/odoo#38869

closes odoo/odoo#38936

Original-signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Original-signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
X-original-commit: bb775152b79f1212258ff47daac387eaf11f64e2
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-10-17 10:50:03 +00:00
Lucas Perais (lpe) a4910628b3 [FIX] web: date[time] custom filter format
In a list view, create a custom filter involving a date or datetime field

Before this commit, the domain that was sent to the server
contained the date or datetime as the pure string
representation that Moment.js constructs
that is a ISO compliant one, containing info on timezone

After this commit, the format is the one of the server, in UTC
and NOT ISO compliant. Also, the format for date is dealt with

OPW 2085936

X-original-commit: 1f1fa173c38dae105637edeb3a1e856e9748a14f
2019-10-17 10:50:03 +00:00
Debauche Stéphane e981e3312d [IMP] web: many2many_binary, binary, image, add the option `accepted_file_extensions`
Purpose
=======
We want to add an option on the widgets
- many2many_binary,
- binary,
- image

This option specifies what file extensions the user can pick from the file input dialog box.

Examples
========
```xml
<field widget="many2many_binary" options="{'accepted_file_extensions': 'image/*'}"/>
<field widget="many2many_binary" options="{'accepted_file_extensions': '.png,.jpeg'}"/>
<field widget="many2many_binary" options="{'accepted_file_extensions': 'application/pdf'}"/>
<field widget="image" options="{'accepted_file_extensions': '.png,.jpeg'}"/>
<field widget="binary" options="{'accepted_file_extensions': '.pdf,.svg'}"/>
```

How
===
Add an option (accepted_file_extensions) in the template ``HiddenInputFile`` (the widget many2many_binary is using this template)
So, we can also use this new option in others widgets using ``HiddenInputFile``
In the many2many_binary, read the ``nodeOptions`` and set the widget attribute ``accepted_file_extensions``

We also have to fix some other widget, because an property ``image_only`` was already existing in the template ``HiddenInputFile``
(we just need to replace ``image_only=True`` to ``accepted_file_extensions='image/*'``

The widget ``FieldPdfViewer`` (pdf_viewer) now use the new option to filtrate PDF
(instead of removing the <input/> and adding <input accept='.pdf'/>).

Tests
=====
We also test if the option is correctly set on the <input/>
- binary
- image
- many2many_binary

Impacted widgets
===============
- many2many_binary
- image: this widget use ``options="{accepted_file_extensions='image/*'}"`` instead of ``image_only=True``
- tablet_image: same as ``image``

Task #2082815

closes odoo/odoo#38351

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-10-16 13:57:49 +00:00
jbm-odoo c0bbd2fc24 [FIX] web: Kanban height with few element and searchpanel
Before this commit:
When there few elements in kanban and a search panel, all kanban
cards try to take a maximum of height and become deformed.

After this commit:
The behaviour of dimensions of kanban cards must be the same with
or without searchpanel.

closes #38556

closes odoo/odoo#38871

X-original-commit: a95cbbd631a2fa9be62eb42cba43e853fdf4b789
Signed-off-by: jbm-odoo <jbm-odoo@users.noreply.github.com>
2019-10-16 11:51:46 +00:00
Géry Debongnie 258a04664a [IMP] web: increase file limit from 25mo to 64mo
The fieldbinary widget has an internal max upload limit set to 25mo.
This was set a long time ago, probably more than 5 years ago.  Since
then, a lot of things have changed and it may be more frequent for users
to hit the limit.  And it happens for some users, we had to increase
locally their limit.

Also, nginx is configured to accept files up to 64 mo, so it makes sense
that the web client also uses that same limit.

closes odoo/odoo#38856

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-10-16 09:25:09 +00:00
Quentin Nicolay d59b67a915 [FIX] web: add 'no_edit_color' option to many2many_tags
This option, if set to True, prevents the user from modifying the
color of the tags.

Part of task 2070454

closes odoo/odoo#38848

X-original-commit: a62b65a8f9114493064d4efae92825814a880c04
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-10-16 08:26:10 +00:00
Arnaud Joset 92c26dff56 [IMP] web: CopyClipboardCharLong widget for long strings
- The copy CopyClipboardChar widget is not nicely rendered for very long strings (e.g. URL).
 - This commit modify the behavior of the CopyClipboardChar widget to display it nicely win such cases.

TaskID: 2059972
2019-10-11 12:44:47 +00:00
Romeo Fragomeli 547d2d87fc [FIX] web: not possible to show a notification via client action
Before this commit, it was not possible to show a message using a client
action. (e.g. show a success message only with core in Python)

Now, it's possible using a client action. This client action call
displayNotification and so we can use the same options also.

A test is added to be sure that this action do not change the current action

Note: in the future a custom registry may be created in a refactoring
to specific function action registry.

X-original-commit: 8775fd670b6b3ec19a77fc0eab72d2223baa36c8
2019-10-14 12:11:23 +00:00
Romeo Fragomeli 3e5cc15d16 [FIX] web: warn is show when a client action is a function
Before this commit, if we use some client action like: reload, logout, ...
in the console a warning is show, because the action are function and not
AbstractAction.

After this commit, if the client action is not an function and not
a AbstractAction the warning is show.

X-original-commit: 122b76594aeb2c5d923d13c040c2da2048133aac
2019-10-14 12:11:22 +00:00
jbm-odoo 3fa123d69f [FIX] web: List editable top select last row
Before this commit, when we have a list (editable top) in a form
with some mandatory fields and some existing rows. If we click on
'add a line', a new empty line appear on the top, then we click on
the last row, the empty row will disappear and we will have a
traceback.

After this commit, if we repeat this scenario, we click on the last
row, we will be able to edit this last row.

closes odoo/odoo#38471

X-original-commit: 996f77b03eaf6dd646b1816e7f70209d5ee6f8df
Signed-off-by: jbm-odoo <jbm-odoo@users.noreply.github.com>
2019-10-11 09:15:09 +00:00
fw-bot bc4b7c5036 [FIX] web: can't edit subscription with end date beyond 200 years in the future
-Import a subscription with end date beyond 200 in the future (ex: 2500-01-01).
-Open the subscription and click the Edit button.

Before this commit:

A stacktrace appears indicating that a date is not valid. It's not possible to
edit the subscription.

After this commit:

The maxDate of the date picker has been increased to 31/12/9999, allowing the
user to edit subscriptions whose end date is that far in the future.

A test `toggle datepicker far in the future` for this case has been created.

closes odoo/odoo#38527

Opw: 2079696
X-original-commit: 32b6131c04fef7a542a0ccbdb924d177627bfe38
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-10-11 16:12:34 +00:00
fw-bot 3a2c69edbf [FIX] web: use language week_start in datepickers
Before this rev., if the week_start param (the first day of week)
of the user language was changed, it wasn't reflected on datepickers
(however, it worked fine in the calendar view). This rev. makes this
work by updating the moment locale with the corresponding param.

Fixes #36450
Closes #36532

closes odoo/odoo#38472

X-original-commit: eeb518316f25d652bea3ec6d387db6ad93284fb2
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-10-11 09:15:43 +00:00
jbm-odoo 6a2179fafc [IMP] web calendar: Keep width box while drag or resize
When there are many events at the same moment in a calendar,
events are thin and on mouse hover the event take all the width.

Before this commit, when we drag or we resize a event in calendar,
the event returns to the state thin.

After this commit, the width event stay width during resizing and
draging.

closes odoo/odoo#38384

X-original-commit: 405294602070590083a2b438f631615f72000292
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-10-10 11:58:07 +00:00
Romain Derie 9bbf57f915 [REM] web: remove unused controller /apps/<app>
This controller never really worked in the last 3 versions.
It was fixed in 11.3 with e9350993ca but broken with refactoring in 12.0 at a
higher level with 19eacf7d23.

It was even worse in 13.0 as it was leading to a traceback: `view_type` field
got removed with 3cd7ed07a2 but this controller was still reading that
field.

closes odoo/odoo#38355

X-original-commit: a5c4e262449fef03d05d5250e4523832db5fbf00
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-10-10 08:56:22 +00:00
Sébastien Theys 9fc948f963 [FIX] base: fix company logo placeholder
- fix condition to correctly display company logo placeholder
- use avatar_grey on the "Contacts & Addresses" as white on white is not visible
- use `cover` to avoid excessive zoom on mobile

closes #38001

closes odoo/odoo#38319

X-original-commit: 1210cb70bec421936c9d332b1347797bc83845cf
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2019-10-10 06:28:03 +00:00
fw-bot 126788ec14 [FIX] web: list many2one quick-create
Allows the quick create on m2o in list views

Before this commit, when entering a new value in a many2one in a list and
exiting the cell through a click, the quick-create modal appeared for the
duration of the mousedown.

Now, the modal remains and allow to edit the new many2one value

Task 2076380

closes odoo/odoo#38289

X-original-commit: c00f84eb0a176b8d23927080078eb02dc2e5d806
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-10-09 13:42:59 +00:00
Mathieu Duckerts-Antoine 64293fbdb0 [FIX] web: prevent browsers inputs autofill
We don't want the browser to fill inputs in the backend.
Most of the time this is useless but sometimes it is
even problematic. For example, focusing an input in a
modal can trigger autofill not only in the modal but
also in the whole page. If there is an input outside
the modal and it is recognized by the browser as a
candidate to fill, bad things occur.

For that reason, we set the attribute autocomplete to
"none" by default for input elements.
Note that "off" does not work all the time because
the browsers sometimes decide to ignore it.

Task ID: 2076730

closes odoo/odoo#38039

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-10-07 08:40:53 +00:00
Jeremy Kersten 17b0215ed5 [FIX] http_routing: remove useless redirection /website/translations
This reverts commit 08108486d5.
+ Fix the url that add a useless ending / and so a useless redirection.

There are no problem of mixed content or anything else, if you configure nginx
and launch your server in proxy-mode as specified into the documentation.

closes odoo/odoo#38196

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-10-08 12:22:54 +00:00
fw-bot f22ccb624c [FIX] web: calendar first day of week from res.lang domain
The feature that allows res.lang's first day of week parameter
to be the reference point of web calendar
has been introduced at 27b30daea5
A few other came on top of it to fix a few things

Before this current commit though, only Fullcalendar was
rendered using that initial value, nothing was done
to actually fetch the right data

After this current commit, we fetch data from the server
according to the range displayed by the calendar

OPW 2072872

closes odoo/odoo#38131

X-original-commit: 0bd82ef6489f3ea1da26fb6ee337b15e3f13d4e5
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-10-08 09:52:06 +00:00
Romain Derie 9f5fd9e2ed [FIX] web: add missing utils dependency
Since bb37077610 (apparently), trying to regenerate the assets through the
crash manager result in a traceback.

Indeed, utils was not defined.

closes odoo/odoo#38129

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-10-07 17:08:32 +00:00
Mathieu Duckerts-Antoine b919d438c7 [FIX] web: repair keyboard navigation in filter menu
Before this commit, invisible filters were rendered by
QWeb but hidden in the filter menu. This used to break
the keyboard navigation in the filter menu.
Now we don't render at all those filters since they were
completely useless anyway. This fixes the original
problem.

Task ID: 2057012

closes odoo/odoo#37567

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-10-01 08:32:14 +00:00
Ivan Yelizariev 236b8f120b [IMP] web: print js logs on warning in UI
It helps easily catch an error in headless tests

closes odoo/odoo#24792

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-10-07 11:37:34 +00:00
Lucas Perais (lpe) 5fe83fc6a4 [FIX] web: dropdown boundary overflow
Open a search view modal ("search more" on a m2o)
Select a filter that will make records fall to zero
The modal will shrink
Trigger the opening of a dropdown (Filters), and make sure
that there are many many menu items there (many filters)

Before this commit, the dropdown was bigger than the modal
which had a scroll bar,
however, the dropdown itself was not scrollable properly
So, clicking in it to select a menu item will fail when scrolled
all the way down, because elements did not actually followed the scroll

After this commit, the dropdown follows the scroll, and it is possible
to use it even way down

We use a behavior of bootstrap 4 itself:
FIX: https://github.com/twbs/bootstrap/pull/24976
ISSUE: https://github.com/twbs/bootstrap/issues/24251

OPW 2076337

closes odoo/odoo#38080

X-original-commit: c3273b7a1c0c09aeef23df4ba4be8d68fd46a6f3
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-10-07 12:27:03 +00:00
Julien Mougenot da2b247146 [FIX] web: m2o updates its value after reload
Changes the behaviour of many2ones when their value is changed via a form dialog.

Before this commit, when editing a m2o with a form dialog opened by an external button,
the field triggered an onchange with its old value before reloading its widget.
This caused the edition in list views to display outdated information when
saving multiple records.

Now, the reload is executed first, then the onchange occurs so that the value is
the newly updated one.

Part of task 2078807

closes odoo/odoo#37576

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-10-07 11:22:04 +00:00
Luis González 1e75b46c25 [FIX] base: access button apply with keyboard
The button to apply a custom group (Group By -> Add Custom Group ->
Apply) was unreachable when using the keyboard.
Remove the unnecessary attribute `tabindex="-1"` probably added for no
apparent reason.

closes odoo/odoo#37982

X-original-commit: 373c69bca366180601b760f05f219a4698e3c014
Signed-off-by: Luis González [Vauxoo] <luisg123v@users.noreply.github.com>
2019-10-04 12:40:31 +00:00
Romeo Fragomeli ce879f2be4 web: kanban more menu is cropped on mobile
This commit removes some historical overflow-x properties needed
for old kanban views.

Steps to reproduce:
* Open Project App
* In kanban view and with one element, click on "more button" (3 dots)
* This menu will be truncated at the end. (BUG)

Task ID: 2058510

closes odoo/odoo#37727

Original-signed-off-by: Romeo Fragomeli <rfr@odoo.com>
X-original-commit: f4031c62f97fa170b74b0d13a0856b7d58ed4da6
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-10-01 15:59:38 +00:00
Romeo Fragomeli 6b847c543a [FIX] web: calendar some operation enable swipe in mobile
This commit avoids the swipe feature when we are moving/resizing an event.

Task ID: 2071605

closes odoo/odoo#37715

Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-10-01 14:10:53 +00:00
qsm-odoo 6991f300cd [FIX] web, *: review Bootstrap tooltip/popover sanitization
* website_sale_comparison

The Bootstrap sanitization introduced with BS 4.3.1 was disabled with
https://github.com/odoo/odoo/commit/36caf5fc16b5a95a0bf37f08f0caf974683b2df6
https://github.com/odoo/odoo/commit/ee94decd30c4514d5bc410b1652bc6464bb600aa

This commit re-enables it by default but extends it to accept more
common tag names like tables and buttons. If a specific tooltip or
popover must accept custom tags or attributes (such as data-* attributes
required by a related JS), they must be supplied through the whitelist
BS parameter explicitely (see example with website_sale_comparison in
this commit).

Note: data-oe-* attributes are also whiteListed by default.

We cannot disable sanitization because bootstrap uses tooltip/popover
DOM attributes in an "unsafe" way.

closes odoo/odoo#37631

Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2019-10-01 15:33:28 +00:00
David Monjoie 5f65f1e0c8 [FIX] web: fix optional fields invisible overflow
Before this commit, the "renderer with search panel" have a max-height
of 100% but no min-height. Because of this, it is possible that the
list view optinal fields dropdown would be smaller than the "renderer
with search panel" container. Since this particular container has to
be in overflow: auto (see the comment on the line above the change),
it hides the overflow of the optional fields dropdown.

This commit sets the height of the "renderer with search panel"
container to 100% such that it does not truncate the optional fields
dropdown. The bug was observed on the General Ledger menu of Accounting,
and the change does not look to change anything other than correctly
displaying the optional fields dropdown without truncating it.

closes odoo/odoo#37660

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2019-10-01 08:46:58 +00:00
Julien Mougenot 652414ca4e [FIX] web: grouped list multi edit with m2m
Before this commit, m2m fields were not updated when multi editing
in a grouped list.

Now, the fields are updated no matter how many levels of groupBys
are applied to the list.

Part of task 2078807

closes odoo/odoo#37589

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-09-30 12:53:18 +00:00
Romeo Fragomeli 53bb1387b5 [FIX] web: control panel: error by clicking on padding on mobile
o_control_panel have this layout:
 +-------------------------------------+
 |  PADDING                            |
 |  +----------------------------------+
 |  |  breadcrumb      o_cp_searchview |
 |  |  o_cp_left       o_cp_right      |
 |  +----------------------------------+
 +-------------------------------------+
As you can see, there is a padding on the edge of the widget.

In Odoo 12.0, before the control panel refactoring (odoo/odoo@40dd121938)
the search view was a widget by itself (addons/web/static/src/js/views/search/search_view_mobile.js).
Note that in this case, once the following condition:
"ev.target === this.el" was reach the normal behavior
was executed.

But now the search view is embedded in the control panel.
There is a side effect: clicking on the padding of the control panel
triggers the "_onOpenMobileSearchView" and the condition is always true.
Therefore we try to open the search more even if it doesn't exist.
But anyway, the search view (full) shouldn't be opened when we click on
the control panel.

After this commit, the listener is scoped to o_toggle_searchview_full,
to avoid this side effect.

Steps to reproduce:
* Open any app with a control panel (e.g. accounting)
* Select a record (e.g. an invoice)
* Click on the padding of the control panel (BUG)

closes odoo/odoo#37587

Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-09-30 12:27:57 +00:00
Vincent Schippefilt e06117bd85 [FIX] web: multi-hell-ditable list
only activate multi-edit on list with specific attribute.
When the attribute multi_edit="1" is set on the tree view the user
can select a/some records and it will activate the multi-edit
with confirmation dialog (even for a single record).
Also, on-change are not applied when using multi-edit

closes odoo/odoo#37525

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-09-30 08:57:23 +00:00
Priyanka KakadiyaandMohammed Shekha 9b57bfb6a2 [FIX] web, *: button special not working to close dialog
*: event_sale
   mail
   sale_product_connfigurator
   stock

Before this commit: if we open dialog from acitivity view and try to
discard it (i.e. close it), it throws traceback.

Issue arises from following commits:
https://github.com/odoo/odoo/commit/d3d576cf8ec9e5b5f6ae5f9d8845cf384435f12d
https://github.com/odoo/odoo/commit/3210f108272be89f1a7b01f4e1816b7f04ae0a3b

Previously, special attribute was passed directly, but now `on_close`
gets action info as an object.

After this commit, it passes special key as an object for `on_close`,
also changed special action based logic in other modules.

Task-Id 2072181

closes odoo/odoo#37078

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Co-authored-by: Mohammed Shekha <msh@odoo.com>
2019-09-27 14:45:51 +00:00
Aaron Bohy 48b76921be [FIX] web: display action title in breadcrumb
Create a simple subclass of AbstractAction (a client action), with
property hasControlPanel set to true. By default, the name of the
action should be displayed in the breadcrumb. Before this rev.,
it wasn't the case, as it displayed 'Unnamed' instead.

Bug spotted when doing an exercice for the JS smartclass.

closes odoo/odoo#37465

Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-09-25 20:00:16 +00:00
Priyanka KakadiyaandMohammed Shekha c536b369d3 [FIX] web: visible studio hooks in listview
Before this commit, there are no hooks when dragging a field over an
editable listview. This was caused by wrong computation of column
width in studio mode.

This commit isolate the computation of column width, so that studio
can override it and make the correct computation.

Task-Id 2057829

closes odoo/odoo#36959

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Co-authored-by: Mohammed Shekha <msh@odoo.com>
2019-09-25 14:43:55 +00:00
5d82725f62 [FIX] web: stop defaulting on empty kanbans when you should not
1/ Write a form view with a o2m field that has its own inline tree view
(no other view exist in db for the target model)
2/ Open that view in a mobile environment
3/ Instead of having a list view, you get a kanban view. No luck for
you, since the default kanban generated by `models.py` is an empty one,
your records are *invisible* \o/

From what I can tell, the previous condition made no sense:
```
if (there is a list view and a kanban view)  <-- this seems absurd
  then (use the list mode)
elif (there is no list view but a kanban view)
 then (use the kanban mode)
else (use both modes)
```

The first condition seems absurd: it *actively* ignores a kanban view
if there is one. Even better, the list view whose existence it checks
is never there: it checks for a `tree` when it should be checking for a
`list`. In short, the first condition was *never* met, and you ended up
either with exclusive kanban mode or with both modes - even if you had
no existing kanban view for the target model...

This commit moves the normalization of `tree` into `list` before
attempting to process the x2many field's subviews. It clarify the usage
of `tree` vs `list` (cf. only use `list`) which  prevents weird edge
cases like described above.

closes odoo/odoo#36237

Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Co-authored-by: Adrien Dieudonné <adr@odoo.com>
Co-authored-by: Pierre Paridans <app@odoo.com>
2019-09-25 12:50:59 +00:00
Christophe Simonis f1c0b08504 [MERGE] forward port branch saas-12.4 up to bef26222b8 2019-09-25 16:53:26 +02:00
Christophe Simonis 257a382b5c [MERGE] forward port branch saas-12.3 up to dd627b9698 2019-09-25 13:43:26 +02:00
Aaron Bohy 1787ff0b52 [FIX] web: don't allow to aggregate date(time)
Go to Accounting > Accounting > General ledger. The view is grouped
by account. There is a layout issue as the first column (date) is
positionned after the group names, leaving a large blank space.
This is because the date field is considered as an aggregated field
(for sorting purpose, in python), but the JS can't (and we don't
want to) display it. This rev. ensures that such field types are
completely ignored by the JS, s.t. they do not impact the layout.

closes odoo/odoo#37113

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-09-25 07:20:36 +00:00
Julien Mougenot 3147e5fada [IMP] web,*: editable readonly list views
*:board,hr_skills

Hold on tight, this is a tricky one.

Allows *any* readonly list view (only plain lists, not x2manies) to
become partially editable when checking records.

This means that once checked, a record line acts just like it was
in an editable list. You can click on it, edit any of its values as long as
they're not constrained by readonly modifiers, and save them on the fly.

Clicking on an unchecked record will have the same effect as before:
it will open the record, regardless of the other selected records.

You can also check multiple records and edit them all at once by
changing the value of one selected record (just like standard multi edition).

Keyboard navigation is also allowed between selected records (TAB and SHIFT+TAB
to navigate and ENTER to save).

/!\ If a list is only made of records having all of their fields locked by
readonly modifiers, checking a record and clicking on it will do absolutely
nothing. This is to keep consistency with the rest of the specs.

Task 1967602
2019-09-25 07:20:36 +00:00
Aaron Bohy 3023cd24af [FIX] web: more precise textarea autoresize
Setting 'overflow: hidden' on the (hidden) textarea used to compute
the (visible) textarea height ensures that there is no vertical
scrollbar, which would lead to a not so precise computation of the
height. The bug could be observed in sale.order form view, in the
order line x2many (description field), and had been introduced by
ef46378cd3.
2019-09-25 07:20:36 +00:00
Julien Mougenot f328b9ca8c [IMP] web: list multi edition confirmation modal
Changed the information dipslayed by the confirmation modal in multi edition
in list views.

Before this commit, the modal simply showed a one-line message with the amount of valid records.

Now, there are 3 elements:
- If all of the fields cannot be changed, a first line warns the amount of valid records.
- A second (or first if all fields can be updated) line ensuring that the user is aware of
the occuring changes.
- A table displaying the affected field and the updated value (readonly widget with the new value).

Part of task 1967602
2019-09-25 07:20:36 +00:00
Aaron Bohy e6d2175577 [FIX] web: list: horizontal scrollbar bottom of page
... instead of at the bottom of the table (which may be several
scrolls down).
2019-09-25 06:16:55 +00:00