Commit Graph
5995 Commits
Author SHA1 Message Date
Géry Debongnie 5ed9c00e30 [IMP] web: add compatibility layer
This compatibility file reexports every symbols from the modules to the
old openerp namespace.  The goal is to allow old unconverted odoo addons
to interact seamlessly with the new web client.
2015-03-18 09:01:49 +01:00
Géry Debongnie e8a00bc50d [REF] web: add module system to the web client
This commit introduces a new module system for the javascript code.
Instead of using global (namespaced) variables everywhere (like
openerp.web.whatever, ...), each file declare one (or more) module
with its dependencies.  Each module will be loaded after its
dependencies, and will be given a reference to the return values.

This change is a massive departure from the way the client worked
previously.  It will sadly break some/most history, but I am sure that
the future git ecosystem will allow you to easily browse the history
past this revision (one can dream).

This commit feature:
* main namespace is now odoo instead of openerp
* a way to define modules and dependencies (inspired by requirejs)
* many files have been splitted in simpler subfiles
* basic support for debugging in odoo.__DEBUG__
* no global variable (i.e. nothing in window.openerp)
* many bug fixes, many new bugs

Future vision: this modularization should simplify future code
development, simplify debugging and will allow a serious testing effort
2015-03-18 09:01:49 +01:00
Ravi Gadhia dc3fbb17fa [IMP] ir_ui_view, view_form: add information about the user
being able to create and write on many2one and many2many records in a form view.

Indeed before this commit users had always the possibility to create or edit records
leading to a crash if no access rights were granted. Now the option is
not displayed if the user has no rights to do it.

Tests have been added for this feature.
2015-03-11 11:21:18 +01:00
Hitesh Trivedi 51cdceba3e [FIX] web: automatic scroll towards tour popups that are not on screen 2015-03-11 10:24:35 +01:00
Christophe Simonis 0a65947499 [MERGE] forward port of branch saas-6 up to 648a558 2015-03-10 19:25:43 +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
Simon Lejeune f4583b7c56 [FIX] web: viewmanager header: missing type on button tags 2015-03-05 16:05:10 +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
Christophe Simonis 9cf6786e75 [MERGE] forward port of branch saas-6 up to fefb298 2015-03-02 18:25:40 +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
Xavier Morel 727ae7437f [REM] leftover controls in DB backup page
* Multiple backup formats were initially introduced in master
* They were then (more rencently) implemented differently in 8.0
* The 8.0 work was merged into master in
  18e22be138, but not all of the master
  version was removed, the form controls themselves remained and blow up
  the controller

Remove the "old" form controls (a select)

fixes #5504
2015-02-27 17:00:01 +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
Denis Ledoux 7613d5d499 [MERGE] forward port of branch 7.0 up to 27a48f8 2015-02-20 15:57:51 +01:00
Denis Ledoux 27a48f8026 [FIX] web: action translation (menuitems & more menu)
This rev. reverts partially 1d76586a1b
This rev. is related to #3462

Regarding addons/web/controllers/main.py
---
name of model ir.actions.actions is not translated
it's the name of server actions, client actions and window actions
that are translated.
Meaning the name of the ir.actions.actions will always be in English,
even when passing the user language within the context.

Regarding addons/web/static/src/js/views.js
---
There is no reason to pass the field values within the context
of the /web/action/load call: The read methods of actions are
not overidden to use the field values. Besides, it pollutes
the context of the action, leading to unwanted behavior, such
as the translation of the action name within the lang available in the
fields of the form view (e.g. the partner form).

Initially, the field values added in the context has been added
within the rev. 542928adde
Indeed, sidebar_context (or sidebar_eval_context nowadays), contains
the field values, and the additional_context passed to /web/action/load
is an extension of this sidebar_context.
We are not sure the reasons why the sidebar_context was passed to the
/web/action/load, but we believe it was to pass the session/user context
containing the lang, timezone, and so on, not to pass the fields values.
2015-02-20 15:36:47 +01:00
Aaron Bohy 5e936c111b [FIX] Web: view_pivot.js: download table with one measure
The headers array contains 2 sub-arrays, whatever the number of
measures. The test on nbr_measures was thus incorrect and produced an
error when downloading a table with a single measure.

Also fix the typo in dow(n)load_table function name.
2015-02-20 12:44:19 +01:00
Christophe Simonis 61483e1a25 [MERGE] forward port of branch 8.0 up to 9333c62 2015-02-19 17:32:31 +01:00
David Monjoie 1581c43026 [FIX] web: revoke last_search when the user made his choice
Without this, if the user creates a second line (or more) with another search query and presses tab (or clicks somewhere else) quickly, it will take the previous search result instead of the new one because the new one did not occur yet.
With this fix, if the search did not have time to process, the Create a product modal appears, just like it already did for the same behavior on the first line.
Fixes 620679.
2015-02-18 13:52:36 +01:00
Christophe Simonis 1b3fb3c4a8 [MERGE] forward port of branch 8.0 up to 222b2d3 2015-02-17 18:54:52 +01:00
Denis Ledoux 31527c9a36 [MERGE] forward port of branch saas-3 up to 4c7e078 2015-02-17 11:10:10 +01:00