Commit Graph
6150 Commits
Author SHA1 Message Date
Olivier Dony 0bd4545348 [LEGAL] Use global LICENSE/COPYRIGHT files, remove boilerplate text
- Preserved explicit 3rd-party copyright notices
- Explicit boilerplate should not be necessary - copyright law applies
  automatically in all countries thanks to Berne Convention + WTO rules,
  and a reference to the applicable license is clear enough.
2015-06-02 03:16:04 +02:00
Joren Van Onder cf8b61c3c6 [FIX] barcode_events: set parent to WebClient during creation 2015-05-29 16:29:47 +02:00
Joren Van Onder 1323316ef2 [IMP] barcode_events: dedicated variables to customize barcode detection 2015-05-29 16:29:46 +02:00
Joren Van Onder ddfa131e13 [IMP] barcode_events: deal with special keys in Firefox
Let arrow keys, tab and escape pass through. We still want users to be
able to use eg. arrow keys to be used when selecting a radio item. This
will always work in Chrom{e,ium} because they do not dispatch keypress
events for these types of keys, only keydown/keyup events. Firefox does
dispatch keypress events. This makes sure that we do not touch those
types of events in Firefox.

devices have to fire keypresses every 50ms minimum

Previously this was 100ms. This works just as well, but was mainly in
there for testing purposes.
2015-05-29 16:29:16 +02:00
Joren Van Onder 44d5fbb21f [IMP] barcode_events: implement better keyrepeat blocking
Before this, users were only able to press a key when all other keys
were released to prevent a key from repeating. This works but when
typing you usually press the next key before releasing the current
one. This allows users to do exactly that while still blocking keys from
repeating.
2015-05-29 16:29:15 +02:00
Joren Van Onder 49d4ddd422 [IMP] barcode_events: implement a new way of dealing with barcode events
Implement a new way of dealing with barcode events. This was necessary
because the old way of dealing with input coming from barcode devices
did not stop keyevents. This lead to all kinds of issues (eg. barcode
reader output being inserted as tender in a paymentline).

This new class inserts itself so that it handles all keyevents before
everything else. This means that it has authority on what keypress
events pass and which ones do not. It differentiates between 'real'
keyboard input and input coming from devices by buffering events. When a
certain amount of events come in fast enough, it is handled as a barcode
and a 'barcode_scanned' event is emitted on core.bus. When buffered
events are decided to not be a barcode, they are recreated and
redispatched.
2015-05-29 16:29:15 +02:00
Martin Geubelle a45357c322 [IMP] web: allow tree view to display font awesome button 2015-05-29 12:29:19 +02:00
Christophe Simonis 1f22653d19 [MERGE] saas-6 forward-port
Rebasing a merge commit with a lot of conflicts is a real pain as every
non-automatic conflicts should be redo manually (especially when there
is a lot of file rename that git cannot follow)
2015-05-28 14:31:46 +02:00
Christophe Simonis fe2b5f35a4 [MERGE] forward port of branch saas-6 up to bf1e999 2015-05-28 14:27:38 +02:00
Christophe Matthieu b5ba4b4d70 [FIX] web: form_relational_widgets.js: when a user create a line in a one2many field, the dataset_changed is triggered before the blur of the editable list. Some values (with required for eg) are not valid and the on_change is not triggered, change commit_value to wait the trigger and keep the deferred. 2015-05-26 16:51:09 +02:00
Martin Geubelle 193c47faad [IMP] web, web_kanban: progressbar widget can also edit max value 2015-05-22 17:54:33 +02:00
Denis Ledoux 291eb111b3 [FIX] web: default loaded view on direct access/refresh
When loading an action using a specific url, with
a view_type different than the default view of the action
(e.g. Project > Project > Issues has as view order
kanban, list, calendar, form, graph, and try to load
this menu action from an url, but by specifying another view_type
than 'kanban', for instance, 'list'), the default loaded view was
always the first view, and then a switch was done to go to the view_list.

It caused issues when using a filter needing a field available in the list
view but not in the kanban view.

It also lead to an issue in the reporting, when trying to load a reporting
action with a view not being the first one of the action
(e.g. Reporting > Project > Issues Analysis, switch to the second view
'Graph', and then refresh -> Error).

This revision makes so the view from the view_type url arg is directly loaded.

opw-640289
2015-05-22 13:00:22 +02:00
Denis Ledoux 06effa5919 [FIX] web: load sidebar after the loads of view fields
and the render of the buttons.

The sibar menu can depends on the current view and fields
states.
We therefore have to wait for them to be loaded before loading
the sidebar.

Before this rev., loading a report view (in the reporting menu),
leaded to a crash, due to this revision: ac92551406.

opw-640409
2015-05-22 11:33:28 +02:00
Christophe Simonis 14a7d52307 [MERGE] forward port of branch 8.0 up to 327e471 2015-05-21 14:50:39 +02:00
Nicolas Lempereur 5cff8fbb7c [FIX] web: duplicates header in pivot
For report with duplicated named headers, several columns could get
squashed together.

This fix check if a value is a duplicate or not, and if it is a
duplicates postfix an number allowing to differentiate the two headers
(for the human and the javascript).

closes #6722
opw-634771
2015-05-21 12:27:32 +02:00
Valerie Pirenne c24332e6da [IMP][ADD] mail, various: timeline view.
This commit introduces a new view type, the timeline view. This view is
intended to display messages like the previous chatter. This is now a view
like the form or list view. Like other views it will be possible to have
custom templates for some specific needs, allowing customization.

[IMP] mail: the value tracking is modified. Previously messages were created
containing the modified values. Those values are now stored, using a new
model mail.tracking.value. The message body is dynamically build based on
the values. Tests have been updated.

This version is temporary. Indeed two main modifications will come in a short
future :

 - the new design will improve the display
 - the slack mode will change the way the Inbox and notifications are managed

All glory to the Hypnotoad.

Special thanks to Valerie Pirenne (vpi), Jerome Maes (jem) and Richat Mathot
(rim) that did not code but said a lot of things. Martin Trigaux (mat) did
nothing, a bit like for the slides modules, but he is busy sending emails.
2015-05-21 12:10:25 +02:00
Denis Ledoux ac92551406 [FIX] ir_attachment: hide Attachments > Add/Delete if not write access
To be able to see record attachments, you need to have
read access to the record.

To be able to add or delete attachment, you need to
have write access to the record.

The button add/delete were displayed as soon
as you had the read access, but if you had not the
write access, both buttons failed.

This revision do not display the add/delete
buttons of Attachment dropdown menu if you do not
have the right to add / delete attachments to the record
(you do not have write access to the record)

opw-640242
2015-05-20 11:08:19 +02:00
Géry Debongnie f3b46459f3 [REVERT] web: form_relational_widget: remove unused javascript code
This reverts commit 6c0376e932.
It turns out that this javascript code was not unused after all.
(see kanban view inside customers, clicking on them should open the
contact in a popup)
2015-05-19 15:08:20 +02:00
Aaron Bohy a8a9fe821a [FIX] Web: ControlPanel: hide ControlPanel on breadcrumb click
if the inner widget doesn't use it.
2015-05-15 16:08:18 +02:00
Aaron Bohy 49fe33a3ba [FIX] Web: ActionManager: on_reverse_breadcrumb 2015-05-15 09:43:06 +02:00
Aaron Bohy e7ff2d2c6a [IMP] Web: ListView: semantics classes for row decoration
based on bootstrap contextual colors, and bold/italic fonts.

Backward compatibility is ensured as the ListView is monkey-patched
to keep interpreting colors and fonts attributes.
2015-05-15 09:17:18 +02:00
Géry Debongnie a9522cb46f [IMP] web: introduces event bubbling in widgets
This commit adds event bubbling in the event dispatcher mixin (which
inherits from parentedmixins).  To do this, it introduces a new small
class 'OdooEvent', which register the target and if the event is stopped.

Also, widgets have a new 'custom_events' dictionary to easily register
callbacks like the event dictionary.
2015-05-15 09:16:34 +02:00
Géry Debongnie 97a5eee0ac [IMP] web: performance improvement with bus
The bus class listen for many mouse/keyboard events and trigger them on
itself.  This was intended for the main bus, but not for custom buses.

This commit should improve the performance when using many buses.
2015-05-15 09:16:34 +02:00
Géry Debongnie cd55968212 [FIX] web: better warning message when missing dependencies 2015-05-15 09:16:34 +02:00
Géry Debongnie ebd68aeb83 [FIX] web: prevent useless rpc in one2many
In some cases (for example, some popup dialogs with a form view), the
one2many field is destroyed but the async code still tries to append
a view manager to itself.  The result is that the start method of the
view manager is run, resulting in at least an useless fieldviewget.
2015-05-15 09:16:34 +02:00
qsm-odoo 84208a6ba1 [IMP] web: New generic progressbar widget + FieldProgressBar adaptation 2015-05-13 17:04:20 +02:00
qsm-odoo af32bf13fc [FIX] web, web_kanban: Move Kanban ProgressBar out of web 2015-05-13 17:03:54 +02:00
Yannick Tivisse 5748d98a89 [FIX] web : Trying to reconnect banner was creating a banner
each time the rpc_error function was called. There was several call
to setInterval method, and several block were created with the same
content.
Also, the banner was not centered, and a blur effect was created
by the fa-spin class
2015-05-13 13:42:28 +02:00
Jérome Maes 556e6503f9 [IMP] base: add accesskeys to switch between records in form views 2015-05-13 13:36:01 +02:00
Martin Geubelle cc6a6076de [ADD] web : progress bar widget + method for human readable big numbers 2015-05-12 17:16:19 +02:00
Cedric Snauwaert 2dd7c07fd8 [FIX] web,account: add support to have possibility to click on a link of type action in help message and fix account dashboard help message 2015-05-12 16:09:16 +02:00
Christophe Matthieu 6e1f2463a6 Merge branch 'master-fix-x2many-double-blur-chm' 2015-05-11 15:52:46 +02:00
Cedric Snauwaert fe48e2ae28 [FIX] account: some cosmetics change 2015-05-11 11:29:19 +02:00
Christophe Matthieu 2726edc6b0 [FIX] web: x2many: can't save document if a lines is removed with an ohter activate line. The widget try to blur a second time when the user click on save (need to check if allready blurred) 2015-05-11 11:20:24 +02:00
Nicolas Lempereur a1fab04894 [FIX] web: view list lines in media print
List view elements were not displayed when printing a list view via the
browser interface.

Also now, with firefox (and maybe other browser but not with webkit
based ones) the page break should not happen in the middle of a row
(hence something cutting a sentence vertically on two pages).

closes #6581
opw-634588
2015-05-08 11:59:59 +02:00
Gaurav Panchal 3fe06da634 [IMP] project,project_issue,sale: display the current contract state on some various objects like issues or tasks.
Implements a dynamic widget for selection fields to display this state with color codes.
2015-05-08 11:20:54 +02:00
Christophe Matthieu 9de486eef5 [FIX] web: x2many field: when a record is create (with wizard) the starting_ids must be empty because if they are a onchange, the field recieve again the create commands (duplicate lines). Add destroy method to release the view event garbage 2015-05-06 12:09:29 +02:00
Christophe Simonis 2260496879 [MERGE] forward port of branch 8.0 up to a939a27 2015-05-05 18:48:34 +02:00
Denis Ledoux a939a272ef [MERGE] forward port of branch saas-3 up to ae634e7 2015-05-05 17:55:25 +02:00
Denis Ledoux ae634e7a04 [MERGE] forward port of branch 7.0 up to 567ade5 2015-05-05 17:51:31 +02:00
Julien Legros 8e6f9be08f [CHG] web: odoo.com account fallback url
The default odoo.com account page is now located at
https://accounts.odoo.com/account.
2015-05-05 11:29:15 +02:00
Frédéric van der Essen 6d31ba116c [IMP] web: add traceback to javascript error reports ( on Chrome and FF ) 2015-05-04 14:13:44 +02:00
Christophe Matthieu ce114bebd8 [IMP] test_new_api: add field and template to test the X2many communication between web client and server side 2015-05-04 12:24:52 +02:00
Christophe Matthieu 81d57c1cee [IMP] web: form_relational_widget: x2many in list view trigger an onchange on blur the x2many after the onchange of each line 2015-05-04 12:24:51 +02:00
Christophe Matthieu 6c0376e932 [IMP] web: form_relational_widget: remove unused javascript code 2015-05-04 12:23:37 +02:00
Aaron Bohy 560386a752 [FIX] ControlPanel: search options visible
Show the searchview buttons area if there is no searchview displayed in
the ControlPanel, since client actions may insert elements into it.
2015-05-04 08:41:07 +02:00
Denis Ledoux 41f4b11ef4 [MERGE] forward port of branch saas-3 up to e552e09 2015-04-30 15:45:03 +02:00
Denis Ledoux e552e09873 [MERGE] forward port of branch 7.0 up to e601a41 2015-04-30 14:38:17 +02:00
Denis Ledoux 1da5d89ba3 [FIX] web: advanced search on floats with ',' as decimal separator
When using another decimal separator than `.` (dot)
in the language settings,
it wasn't possible to build an advanced search specifying
the decimals.

e.g. with a language with decimal separator `,` and thousand
separator `.`,
if you want to search invoices with amount total 366,38
The advanced search "Total" "is equal to" obliged you
to enter your number with `.` as separator (366.38),
and then, when entering the search, the `.` was
regarded as the thousand separator, giving as domain
`('amount_total', '=', 36638)`, which is not what you asked.

opw-634201

PS: The `|| '.'` in the xml template are only for
retro-compatibility, so if the server sources are
updated, but the browser cache is not refreshed
(meaning the Javascript code isn't refreshed, and,
therefore, `widget.decimal_point is undefined)
it still works.
2015-04-30 13:39:30 +02:00
Arthur Maniet 7bede13b43 [ADD] web utils: xor function 2015-04-30 12:18:46 +02:00