Commit Graph
10240 Commits
Author SHA1 Message Date
Christophe Simonis d45c32baac [MERGE] forward port branch saas-15 up to bdd051bf78 2018-06-13 18:13:48 +02:00
Jairo Llopis 71334b13bd [IMP] web: Expose datepicker configuration to view declarations
The lower-level widget itself supports passing options to the underlying
datepicker library. However this is not exposed to higher-level view
declaration. With this patch, one can declare a field in a view such as:

```xml
<field name="datefield" options='{"daysOfWeekDisabled": [0, 6]}'/>
```

That option would land in the widget and disable those weekdays.

Documentation has been updated accordingly.

Closes #25044.
2018-06-13 14:53:11 +02:00
Christophe Simonis bdd051bf78 [MERGE] forward port branch saas-14 up to c43c540172 2018-06-13 14:12:12 +02:00
Christophe Simonis c43c540172 [MERGE] forward port branch 10.0 up to 788750ea51 2018-06-13 10:55:58 +02:00
Jeremy Kersten 51acdeba4f [ADD] qweb: add tests for widget=date with datetime
This commit is related to #24761
2018-06-12 15:48:21 +02:00
Adrien Dieudonne 25955f6d94 [FIX] web: prevent web client from blocking some view
Before this commit some rpc was blocked and we didn't see
lost connection notifications.

Steps to reproduce:
1) Go to any form view
2) Force disconnected from the network
-> The "Connection lost" notification appears
3) Get connection back
-> The "Connection restored" notification appears
3) Close the connection again
-> No notification appears and the user aren't notify
that the internet connection is lost.

Related commit: @47cf31b53

Note: It's now important to notify the user about connection loss
because a recent improvement in mobile app replaces the 'retry screen'
and let the webclient handle connection issues by itself.
The single odoo mobile app is supposed to work with all databases
from 10.0.
2018-06-12 15:41:24 +02:00
Mathieu Duckerts-Antoine e1aac71769 [IMP] web: add support for interval selection in groupbys
In this commit, we extend the search view to allow the selection
of some intervals for date or datetime fields in groupby menu.
The valid intervals are day, week, month, quarter, and year.

It is also possible to add a button 'Group By' in the control panel
owned by a graph view in case it is declared 'embedded' (e.g. in a
dashboard view).

Note that have three new generic reusable widgets have been introduced
in this commit: DropdownMenu, GroupByMenu, and FiltersMenu.
2018-06-12 09:22:20 +02:00
Mathieu Duckerts-Antoine 7bf5dd687b [REF] web: split search_menus in separate files 2018-06-12 09:22:04 +02:00
Arnold Moyaux 32b18dd07e [FIX] web: correct 'popup blocked' error message.
task-30450
2018-06-11 16:33:52 +02:00
Géry Debongnie 247299b35b [FIX] web: increase timeout for warning in logs
Before this commit, it could happen quite frequently that the runbot
displayed a warning (coming from the JS) when some tests/tours were
executed.  This is the standard warning that some modules are not yet
loaded.  This is not harmful in anyway, but is visible in the runbot
logs.

With this commit, we increase the timeout to 6s.  This is not really a
good sign, hopefully cold starts for building assets will not
increase again in the future.
2018-06-08 16:53:50 +02:00
oco-odoo d4cd8be48f [IMP] web: add decoration support for all field widgets (#25160)
It is sometimes useful to be able to customize slightly the color of a
field depending on some conditions on the current record.

For example, imagine that we want to show a VAT number field in green/red, if
it was validated or not. To do that, we can add a field with an
onchange, and simply add decoration-danger and decoration-success
attributes to the field.
2018-06-08 15:20:49 +02:00
Géry Debongnie e1f2e72384 [FIX] web: properly apply css in mobile search view
In some cases, if the device is in a mobile mode, but does not support
touch, then the mobile search view is shown, as expected, but the css
is not applied.

Maybe this is not a big deal in practice, since the only way to notice this is
to use odoo on a browser with a small window and no touch emulation, but
this is still annoying and wrong: if the mobile search view is
displayed, the its css should be applied in all cases.

We simply fix the css rule to make it work like expected.
2018-06-08 10:29:00 +02:00
Siddarth Gajjar d4b5668c1a [IMP] calendar: generic improvements
We need the calendar view to be consistent in the usage of time formats
currently the week column (on the far left) is not consistent with what
we display in the meeting time slot.

It is currently not ovious that you can add and view anybody's calendar
so we need to add a placeholder.

In order to create a meeting you have to click on create which is not
explicit.

Task #1838108
Closes #24675
2018-06-07 13:40:10 +02:00
XavierDo aa7fb8c723 [IMP] mail: add warning when partner email is invalid
Change the border and cross color of a recipient in mail
composer when the email is invalid (doesn't contains "@").

When sending an mail from composer the user will see easily
if an email adress is invalid and will cause a NO_VALID_RECIPIENT
error.

Task: #46158
PR: #24628
2018-06-07 11:46:28 +02:00
Christophe Simonis 2ab7ad8361 [MERGE] forward port branch saas-11.3 up to c00df14654 2018-06-07 11:43:07 +02:00
Christophe Simonis 969eb3fa2f [MERGE] forward port branch saas-11.2 up to c834c0f587 2018-06-06 15:46:36 +02:00
Christophe Simonis 116826e02d [MERGE] forward port branch 11.0 up to e7aff3775f 2018-06-06 10:47:53 +02:00
Goffin Simon 9d943f7a99 [FIX] web: Button delete on SO line unclickable
Due to ef540eb006, the button delete was not clickable on a SO line
on safari.

opw:1848652
2018-06-06 09:59:49 +02:00
Lucas Perais (lpe) 654ee788d9 [FIX] web: new record with o2m also with new records prevent name_get
Have a model A with a o2m to B.
In the list have a field  B > m2o > C

Also have a sequence field (widget handle) on B

Then Create a record A
Arrange yourself to have two new records B popping right away (through an onchange)
in the o2m. Their C field have to be empty

Resequence those two B lines with the handle

Before this commit, there was a traceback when trying to do an name_get on the C fields
Since both of them are empty, there is no record in the localData
Hence, no model. And also no records anyway, so no need to do a name_get

After this commit, there is no traceback, the name_get is avoided when no data is to be fetched

OPW 1853088
closes #24988
2018-06-06 09:51:56 +02:00
len-odoo 1b272a2050 [FIX] web: display correct week number in calendar views
To compute the week number, the fullcalendar.js library uses the locale.
It depends on the day on which the week starts (usually Sunday in the Americas,
Monday in Europe), as well as which week is considered the first of the year.
In commit:
https://github.com/odoo/odoo/commit/717b472ef9ad6d2998cbefb4aafe2d1199e6235d
the starting day was explicitly added, however it was computed as isoWeekday.
The ISO first day of the week is always on Monday.
It resulted that if the locale used Sunday as first day of the week, the
calendar would consider it to be of the previous week, and thus displayed
(weeknumber - 1).
The fix does the same thing as was done in v10, taking the locale into account:
https://github.com/odoo/odoo/commit/df124080b624a8bdb86fec352fe690725ed36bac

opw 1853745
2018-06-05 16:01:19 +02:00
XavierDo 3a2c87674b [FIX] web: getFocusableElement error in tree view
When a line in a editable tree view has no acivable element
(readonly or toggle_bollean fields only) the currentFieldIndex
will be null after selecting the row, and when trying to edit a
field (boolean field_toggle in this example) an error will be
thrown when trying to put focus on currentWidget.
We need to check that the currentWidget is not undefined.
2018-06-04 16:49:24 +02:00
Barad Mahendra 4a59f93d15 [IMP] mail, calendar: add today meetings in systray
Purpose of this commit is to display today meetings in the systray. This will
help people in their daily job to have quickly access to their meetings.
It is displayed along with activities and reminders to have all current work
to do in the same place.

Displayed meetings are ongoing or not yet started ones of the current day.
All-day meetings of the current day are also shown. Done meetings are not
displayed to lessen noise.

Clicking on the systray will open the calendar view of meetings in a day
mode. This is done by a small modification in the calendar view allowing
to choose the display mode from context in addition to the mode attribute
of the action definition.

This commit is linked to task ID 60593. Closes #24438. Thanks to @ged-odoo
for quick reviewing.
2018-05-31 16:49:56 +02:00
Fabien Pinckaers 361070a45e [IMP] web, crm: minor copywriting in Kanban and CRM flow 2018-05-30 20:42:17 +02:00
Fabien Pinckaers 84c1ed4c26 [IMP] web: better copy for adding a column in kanban views 2018-05-30 20:16:14 +02:00
Siddarth GajjarandMohammed Shekha c75c2fa9e3 [IMP] web: add a badge based widget for selection fields
This commit introduces a new widget to be used for selection-based fields.
Valid choices are displayed using rectangular badges and not like the
standard list. This widget is valid for selection and many2one fields
like selection or radio widgets.

Co-authored-by: Siddarth Gajjar <sga@odoo.com>
Co-authored-by: Mohammed Shekha <msh@openerp.com>
2018-05-30 15:39:15 +02:00
Christophe Simonis e008ef302a [MERGE] forward port branch saas-11.3 up to 53300648ed 2018-05-30 12:18:52 +02:00
Christophe Simonis 53300648ed [MERGE] forward port branch saas-11.2 up to aaea6fd088 2018-05-30 12:09:44 +02:00
Mathieu Duckerts-Antoine 3cfd3e6b0b [FIX] web: proper rendering of widget tag
There was no consideration of the fact that the widget
rendering process could be asynchronous. This commit
fixes that situation so that render a node of type
<widget name="..."> is now possible.
2018-05-30 12:03:24 +02:00
Géry Debongnie aaea6fd088 [FIX] web: small performance fix in calendar view
In some cases, the calendar view sends a trivial domain, such as
["partner_id", "not in", []]

This is clearly not really useful, and it could hurt performances in
some cases (for example, if the partner_id field is a related on a large
table, and non stored).

This is clearly not a complete fix, but it is easy, safe and does not
hurt.
2018-05-30 11:47:06 +02:00
Christophe Simonis c2c9a60466 [MERGE] forward port branch saas-11.2 up to a2f275dfc4 2018-05-29 21:05:26 +02:00
Christophe Simonis a2f275dfc4 [MERGE] forward port branch 11.0 up to 4ea3838d89 2018-05-29 20:00:31 +02:00
Christophe Simonis f36e6917bd [MERGE] forward port branch saas-11.3 up to 37eed7c509 2018-05-29 17:34:43 +02:00
Martin Geubelle 66ccc6503d [IMP] web: correctly handle attributes on non inline view
Before this rev. the `column_invisible` and `default_order` attribute, set in a
x2m list view were only taken into account for inline views.

The technical reason behind is because non inline views are fetched after the
main view processing.

Non inline x2m list views now correctly handle these two attributes.
2018-05-29 15:55:05 +02:00
Jigar Patel ecbafe92d2 [IMP] web: _mockReadGroup method support week and year
Before this commit _mockReadGroup method support only day and month aggregate
function and return invalid domain for date type field.

With this commit _mockReadGroup method support week and year aggregate function.
And return correct domain having start date and end date if date type field.
2018-05-29 15:22:22 +02:00
Kinjal Mehta 4e5f826ce5 [IMP] web: use burger menu for tablet in vertical mode
Task #34853
2018-05-29 14:18:38 +02:00
Lucas Perais (lpe) 94a7bef5db [FIX] web: domain evaluation in parented m2o in o2m list
Model A has a o2m to model B
Model B has a m2o parent_id on B

In A's form, add a B item,
then in the m2o, create record
Save and New
Click on the m2o

Before this commit, the python crashed on name_search.
This was because we sent the virtual ids to it

After this commit, there is no crash

OPW 1850212
closes #24948
2018-05-29 13:44:23 +02:00
Géry Debongnie 20454038d0 [IMP] web: small optimization in calendar view
In some cases, the calendar view sends a trivial domain, such as
["partner_id", "not in", []]

This is clearly not really useful, and it could hurt performances in
some cases (for example, if the partner_id field is a related on a large
table, and non stored).

This is clearly not a complete fix, but it is easy, safe and does not
hurt.
2018-05-29 09:34:55 +02:00
Lucas Perais (lpe) 9654f6b8e0 [FIX] web: o2m editable decorated, paged, ordered supports adds/cancel
Have a decorated (conditional on field) editable list, with a default_order.
Have more records than the pager allows.

Add an item, and hit escape to cancel addition.

Before this commit, the cancellation crashed because the first record on the other page
was trying to evaluate the decoration for its row, which is wrong in the first place.
This was because creating a record increases the limit of the list, to be able to see the record
being created.
At cancellation though, that limit was never decreased.

After this commit, the whole flow happens without problem.

OPW 1844495
closes #24682
2018-05-28 17:25:51 +02:00
Benjamin Stiens 6383120f3b [IMP] all: Improve error messages
Many error messages are misleading or too "vague"
This task aims to improve all error message.

Task #47042
PR #23321
2018-05-28 16:45:48 +02:00
Géry Debongnie d9c035ae42 [FIX] web: do not hide button in pdf viewer in some cases
The pdf viewer uses an external library to display a pdf file.  This
library displays a few controls, such as a 'Download' button.  However,
this button is sometimes displayed in the top bar, sometimes in the top
right dropdown menu (depending on the size of the widget).

For some unknown reason, the pdf viewer widget disabled the download button.
But this was inconsistent: the download button was only hidden when it
was in the tob bar, and not in the dropdown menu.  With this commit, we
simply remove this behaviour.
2018-05-28 14:33:07 +02:00
Pankaj KamaniandMohammed Shekha 1a7815f8b7 [IMP] web,base_setup: add option to disable special effects
Some people prefer not to be disturbed by any flashy information.  In
this commit, we add an option to do just that.  When the 'show_effect'
option is set to false, then the messages that would be displayed by an
effect will be displayed in a notification.

Task #37712

Co-authored-by: Mohammed Shekha <msh@openerp.com>
2018-05-28 11:14:20 +02:00
Aaron Bohy 5aa0e0bc24 [FIX] web: Controller: concurrent control panel updates
Let's assume the following scenario: in a kanban view with a
domain, remove that domain and quickly click on a record to open it
in form view. On a slow network, it may happen that the reload of
the kanban view (triggered by the domain change) returns after the
load of the form view.

Before this rev., when this happened, the form view was correctly
displayed but the control panel contained the buttons, searchview,
pager... of the kanban view.

Note that this fix is quite ugly, but it won't be necessary anymore
as soon as the control panel won't be shared between actions and
controllers, i.e. as soon as each controller will have its own
control panel.
2018-05-28 07:24:16 +02:00
Christophe Simonis 37eed7c509 [MERGE] forward port branch saas-11.2 up to 58e3552246 2018-05-25 14:34:18 +02:00
Christophe Simonis 58e3552246 [MERGE] forward port branch 11.0 up to 2ca7296000 2018-05-25 11:50:02 +02:00
Aaron Bohy 04ba755f82 [FIX] web: AbstractController: handle concurrent reloads
Let's assume the following scenario in a Kanban view with a default
filter. The user removes the filter, and quickly adds a new one.
On a slow network, it may happen that the second reload request
returns before the first one. On odoo.com, this is easy to
reproduce on the tasks Kanban view.

Before this rev., when this occured, the result of the first
request was displayed, whereas it should have been ignored as
another request was done later on.
2018-05-25 08:11:49 +02:00
Rémi Rahir 58acf26ea4 [IMP] web: improve act_url
By default, Chrome browser will block pop-up windows which will block
all actions from type act_url with a different target than 'self' (i.e.
'_blank').
This commit adds a check when such an action is called and sends a
warning in the web client when it fails to open. This mimics the
behaviour already present for the report actions.
2018-05-24 15:47:43 +02:00
rrahir cb8682607e [FIX] web: correct style on btn-link class (#24889)
Due to the switch from less to scss, changes were made. Especially, the
class oe_link is now 'deprecated' and interpreted as 'btn-link'. The
previous style defined on the latter removed the padding which breaks
the style when several buttons follow each other.

This commit should fix the style while maintaining the intended behaviour, 
a vertical alignment between the button and the text inside the pane.
2018-05-24 12:52:06 +02:00
Christophe Simonis 2bc6ea1b37 [MERGE] forward port branch 11.0 up to 02ee3fd88e 2018-05-23 19:33:40 +02:00
Géry Debongnie d01787c19d [IMP] web,mail: improve search view for mobile devices
With this commit, we introduce a better screen to manipulate the search
view in a mobile device.

Note: most of this work was initially done by suh-odoo, then was adapted
and moved to community by myself.

task 31464
2018-05-23 10:48:36 +02:00
Alexandre Kühn 8dbebe0242 [FIX] web: fetch name_gets on list only when there are data
Revision on 8ac98fc78a

The commit above does not check whether the list contains data or not.
As a result, if there are no data in the list, there is no reason to
fetch `name_gets`.

In fact, there could be a traceback because some parameters of this rpc
are computed from data in the list. So if there are no data in the list,
the parameters of the rpc are undefined. This was the case for a test
in enterprise.
2018-05-23 09:43:12 +02:00