Commit Graph
6284 Commits
Author SHA1 Message Date
Géry Debongnie 23bb735908 [FIX] web: datetime widget didn't detect all changes
The datetime widget use the "keypress" event to detect if it has been
changed.  Unfortunately, some keys, such as backspace, do not fire a
keypress event.  This commit listen instead on the 'change' event, which
should fire when the input has changed.
2015-03-23 10:50:34 +01:00
Christophe Simonis 3baab9b22d [MERGE] forward port of branch 8.0 up to 7780004 2015-03-19 18:48:41 +01:00
Christophe Simonis 7780004f95 [FIX] web: correct many2one dropdown visibility.
The dropdown should only be append to visible elements.
2015-03-19 18:41:45 +01:00
Olivier Dony 694fe1fb3f [FIX] web: remove deprecated hack for future_display_name
This temporary patch was used to simulate the presence of a
`display_name` field in all models. It is not needed anymore
as of version 8.0, which comes with the actual magic to make
`display_name` work everywhere.
2015-03-18 14:10:18 +01:00
Christophe Simonis 3440501fd0 [MERGE] forward port of branch 8.0 up to 890174b 2015-03-12 14:46:06 +01:00
Christophe Simonis 97389d34da [MERGE] forward port of branch 8.0 up to 1ac4d31 2015-03-12 14:30:24 +01:00
Géry Debongnie f9cdd19cdb [FIX] web: fix searchview menus height
first, I want to say that I'm not proud of this.  Let's just say that it
is better than the previous code (of which I'm not proud either).

The issue is that the sub menus (filters/groupbys/favorites) aren't very
good when their height is too big, and they're hidden below the screen
without scrollbar.  Previous code tried clumsily to compute the correct
max height in js, but it was only done in filters menu, and did not
always work.  This code do the same in css.  This would be good except
that it is just an estimation: calc(100vh - 125px).  It assumes that
the header will approximately take 120px, and size the max-height
accordingly.
2015-03-12 11:46:33 +01:00
Aaron Bohy a1d319a8fb [FIX] Web: view_list.js: _.template()
The signature and behavior of function template() of underscore.js has
been changed from rev. 1.7.0. It doesn't accept an initial data object
anymore, and always returns a function.

This commits adapts our calls to _.template(). This fixes display bugs in
list views (e.g. the progressbar which was not displayed).
2015-03-12 11:16:06 +01:00
Olivier Dony df4bd736f1 [FIX] search view: autocomplete: further improve support for rapid barcode scanning
This patch removes the asynchronous code that was
still used to open the autocompletion drawer.
Even with the setTimeout delay forced to 0, the
asynchronous handling meant the final ENTER
keyUp event could be processed before the opening
of the autocompletion drawer related to the last
key pressed. This would trigger the search with
the search string of the previous autocompletion
popup, missing the last few keys.

Also handle ENTER at keyDown, because in some
rare cases a barcode scanner may emit only
the keyDown event for ENTER, without the
corresponding keyUp, causing a merge of two
successive scanned barcodes.

Based on many tests conducted with different
barcode scanners, the only thing that
is guaranteed is the correct order of the keyPress
events for all regular characters, and the
fact that the ENTER keyDown and/or keyUp will
always be sent after them.

All other events can be mixed or simply missing
if you make a rapid succession of scans, especially
if done with a long series of barcodes.

Scanners tested (with 1ms data transmission delay):
 - Honeywell Eclipse MS5145
 - Dacomex Slim 50mm CCD scanner
2015-03-11 17:59:46 +01:00
Géry Debongnie 438c33ed5f [FIX] web: usability fix in searchview
* when users press ENTER after editing some custom search, the resulting
  filter is now applied.
* when users press ENTER in favorite menu, save current search, the
  current search is now saved
2015-03-11 13:58:17 +01:00
Géry Debongnie cda9221d7c [FIX] web: prevent graph view from crashing (sometimes)
if the graph view is set in bar mode, and does not have any groupby,
then it tried to read some property from its viewmanager, which results
in a crash.  It is most likely the remnants of the old code, this commit
correctly sets the string to the current measure.
2015-03-11 13:43:26 +01:00
Julien Laloux a20545a936 [IMP] web: add no update info on metadata view (debug mode) 2015-03-11 11:10:42 +01:00
Christophe Simonis 9eccc71a14 [MERGE] forward port of branch 8.0 up to c0496ed 2015-03-10 18:33:30 +01:00
Christophe Simonis c0496ed03a [MERGE] forward port of branch saas-3 up to f8a9405 2015-03-10 18:00:43 +01:00
Christophe Simonis f8a94057e5 [MERGE] forward port of branch 7.0 up to a5e3269 2015-03-10 17:51:16 +01:00
Nicolas Lempereur 9abf7a2010 [FIX] mass mailing: keep menu when back in backend
The menu was not present in 8.0 when going back from the mass mailing email
composer to the backend. This fix adds the current action id as a return_action
query string parameter and return to the correct action.

fixes #5591

opw-629526
2015-03-10 13:51:08 +01:00
Géry Debongnie 1fe4cef530 [FIX] web: fix issue with search view input
This patch hopefully solves an annoying issue with the search view:
when the user types really fast (or uses a barcode scanner for example),
the resulting search string was (sometimes) missing the last few
characters.  I'm unclear on the exact reason why it happens.  From the
code, I can only guess that it happens because the scanner use a TAB
key instead of ENTER (TAB is handled in keydown event, ENTER in keyup),
or that the key events aren't in a correct order (if the user press a
key A, then press ENTER, then release ENTER, then release A, it results
in an empty key).

Anyway, the way this patch probably solves the issue is by using the
keypress event for triggering the search view.  I hope that in every
case, the keypress event are correctly ordered.  It leads to some code
I'm not really proud of this patch, but the key event handling are
quite messy.  Also, I need to handle the search string also when the
keyup event is fired, because it might change the search (for example
backspace trigger a keyup, but not a keypress).
2015-03-10 11:28:56 +01:00
Nicolas Martinelli 2cc09e86af [FIX] web: on_change event on one2many fields was not fired if an attribute is mandatory (courtesy of Christophe Matthieu)
opw: 626974
2015-03-09 16:20:36 +01:00
Christophe Simonis 449f601f8e [MERGE] forward port of branch 8.0 up to 948befb 2015-03-09 12:40:57 +01:00
Christophe Simonis 416f0246ac [MERGE] forward port of branch saas-3 up to 4a3c471 2015-03-09 12:03:22 +01:00
Christophe Simonis 4a3c4713e9 [MERGE] forward port of branch 7.0 up to 209ce6f 2015-03-09 11:24:32 +01:00
Olivier Dony 0d60cdfd68 [FIX] search view: restore the disable_custom_filters flag effect
This search view option was properly set but not
observed by the search view itself.

This caused all related links and smart buttons
to open a list of records that was wrongly filtered,
as soon as a default filter was applicable to the
target action (e.g. with default filters gloablly
set per model, not per action).

This regression was introduced at refactoring
commit d8d6311b50
2015-03-06 13:34:32 +01:00
Aaron Bohy a6919adf70 [FIX] Web: base.sass: FormView: overflow in One2Many fields
Override the "overflow: auto" rule of view-manager-content in One2Many
fields to remove useless scrollbar displayed in One2ManyKanban.
2015-03-06 11:11:31 +01:00
Christophe Simonis 5b6617a5e4 [FIX] base: correct m2o design for active items. 2015-03-05 17:29:00 +01:00
Christophe Simonis bab519fd8a [FIX] web: do design changes in sass file!
8ab68d8 introduced css changes not present in sass file.
2015-03-05 17:26:17 +01:00
Denis Ledoux 3508104c97 [FIX] web: autocomplete dropdown wrong initial position
This issue is related to
http://bugs.jqueryui.com/ticket/8656
http://bugs.jqueryui.com/ticket/8749
https://github.com/jquery/jquery-ui/commit/d693ce5324f6f3be8479ef083e4eaf3c705ef043

When opening a form view, scrolling down,
and opening a many2one dropdown menu,
the dropdown menu wasn't directly under its input.
It could be really problematic when the menu was not even
visible on the current browser page (when you had to scroll down
a lot to access the many2one input).

The issue was resolved as soon as you opened the dropdown
menu a second time, and did not happen if you didn't scrolldown.
But, on initialization, the dropdown menu wasn't at the right position.

Fixes #5603
opw-629601
2015-03-05 17:23:41 +01:00
Denis Ledoux c9a72b79e4 [FIX] web: size of text fields textarea when invisible by default
Text fields, or char fields having widget="text",
were not sized correctly when the field was not
visible by default, ans was set visible thanks
to attrs and other fields values.

opw-629394
2015-03-04 17:56:05 +01:00
Christophe Simonis bc2fd0515b [MERGE] forward port of branch 8.0 up to 017f346 2015-03-04 15:16:10 +01:00
Xavier Morel fb2b1d7568 [IMP] py.js relativedelta
Rewrite relativedelta.__add__ based on dateutil 2.4.0

* completely remove any hint of supporting time deltas (could be
  implemented in the future, but not currently asked for and lots of
  code to implement)
* implement weekday support (ordinal only)
* probably better leapyear support
* remove relativedelta.__sub__ (only works between relativedeltas)
* add relativedelta.__neg__

fixes #5089
2015-03-03 12:00:12 +01:00
Xavier Morel f64a2fa386 [ADD] js tests: more relativedelta tests
* add some more boundary tests and nudges
* add test for weekday

ref #5089
2015-03-03 11:55:18 +01:00
Xavier Morel 752e21a633 [FIX] py.js: arguments dispatching in PY_call
When providing an args of ``null`` (or ``undefined``) and a non-empty
kwargs, the kwargs would be removed/ignored.

While explicitly providing a null args is not necessary, it's perfectly
valid.
2015-03-03 11:51:50 +01:00
Christophe Matthieu 03131edace [IMP] web: update jquery.validate.js lib from v1.8.1 to v1.13.1 2015-03-03 11:04:05 +01:00
Christophe Simonis 93194c8260 [MERGE] forward port of branch 8.0 up to 128de18 2015-02-27 17:23:49 +01:00
Christophe Simonis 128de187a3 [FIX] web: KanbanSelection and Priority widgets
Use directly datarecord id instead of previously stored value which may
not be up to date.
2015-02-27 17:18:06 +01:00
Christophe Simonis 109dae2efa [MERGE] forward port of branch 8.0 up to d4f41a1 2015-02-26 18:56:26 +01:00
Denis Ledoux 25bf2674d5 [FIX] web: prevent set value of priority if readonly
The priority widget did not handle the readonly concept
It was therefore possible to set the priority of
an issue (for instance) even if the field was marked
as readonly.

opw-628960
2015-02-26 17:21:10 +01:00
Jérome Maes 8ab68d8048 [FIX] web : fix the dropdown style to delete attachments 2015-02-26 16:41:29 +01:00
Aaron Bohy efb3de5034 [FIX] Web: ListView and ListView.Groups: pagers
* Fixes the pager on grouped list views for which there was no
  specific behavior (except of doing +1 or -1) for next and previous
  actions on last and first pages respectively.
* Hides the previous and next buttons of the main pager on grouped list
  views as these buttons have no effect in grouped mode.
2015-02-26 15:36:36 +01:00
Martin Trigaux e2fa66b05d [FIX] web: avoid incoherent actual_mode after refresh
When accessing an existing record in form mode directly (enter the url or refresh a page), the daterecord has not been initialized yet. This means that the value of actual_mode will be set to 'edit' before loading the current record (method _actualize_mode() called from do_show()).
This was problematic for one2many fields that we loaded in edit mode, showing add/delete icons/buttons in readonly views. (opw 607910)

Backport of 7ec7f1ba40 for 7.0 and saas<6. (opw 627885)
2015-02-26 13:55:48 +01:00
Thibault Delavallée e332b2bb20 [FIX] view_form, web_kanban: KanbanSelection widget in form and kanban: tooltip
now takes the stage custom tooltip if present, like the selection
value, instead of the default one.
2015-02-26 10:47:47 +01:00
Aaron Bohy e73a3c6898 [FIX] Web: view_list.js: pager next and previous actions
When the number of records n and the limit l were such that n%l = 0
(e.g. 16 records total, 8 displayed per page), clicking on the
previous button on the first page, or on the next button on the
last page produced a bug because the total number of pages
computed for this edge case was incorrect.
2015-02-25 14:35:19 +01:00
Aaron Bohy 38fb6119b4 [FIX] Web: base.sass: 4 spaces indentation
base.sass did not compile because those lines where indented using 2
spaces instead of 4.
2015-02-24 16:56:21 +01:00
Somesh Khare db4355d381 [FIX] web: many2many checkbox widget did not keep checked values 2015-02-24 11:46:55 +01:00
Christophe Simonis ee43954e96 [MERGE] forward port of branch 8.0 up to 5d9fb7f 2015-02-23 12:42:56 +01:00
Denis Ledoux 4f60549a26 [MERGE] forward port of branch saas-3 up to 56c73bf 2015-02-23 11:47:45 +01:00
Denis Ledoux 56c73bf6f3 [MERGE] forward port of branch 7.0 up to 0bbd835 2015-02-23 11:47:25 +01:00
Denis Ledoux 0bbd8351f1 [FIX] web: on_item_action_clicked, self.dataset is not always defined.
27a48f8026 introduced the use of self.dataset
It appears it is not always defined.
Few lines above, self.getParent().dataset is used,
and looks to be always defined.
We therefore now use this dataset in order to get the context,
to correctly pass the current session language.

Closes #5416
2015-02-23 11:44:48 +01:00
Christophe Simonis aec02cb493 [MERGE] forward port of branch 8.0 up to d350f5b 2015-02-20 18:16:01 +01:00
Hitesh Trivedi 4cdc19198e [IMP] web: cleaner indicator when connection get lost 2015-02-20 16:45:48 +01:00
Denis Ledoux b0be8dfdfd [MERGE] forward port of branch saas-3 up to aae75f1 2015-02-20 16:43:15 +01:00