Commit Graph
7083 Commits
Author SHA1 Message Date
Christophe Matthieu 8d09a11cea [FIX] web: FieldX2Many must use AbstractManyField is_false method
If the method return false, when a user write require="1" on a x2many field, the content is valid that there have none or a value.

The method was overwrited for a visual change (display the field x2m in readonly mode when they are not value) but is_false is priority use to ensure datas.
2016-06-22 09:25:25 +02:00
Christophe Simonis da53a27a5d [MERGE] forward port of branch saas-11 up to c88c70e 2016-06-21 16:24:38 +02:00
Christophe Simonis c88c70e900 [MERGE] forward port of branch saas-10 up to d73f0d8 2016-06-21 13:58:24 +02:00
Christophe Simonis d73f0d8063 [MERGE] forward port of branch saas-9 up to 68f5163 2016-06-21 12:42:34 +02:00
Christophe Simonis 68f51630b9 [MERGE] forward port of branch 9.0 up to e8827d0 2016-06-21 12:16:53 +02:00
Christophe Simonis 0a2317d303 [FIX] test_new_api,web: tests 9.0 adjustments
Rev e37ba61 forward-ported 8.0 revision f02b230 from PR #12379.
This patch introduces extra tests and views for o2m onchange behavior,
including new fields in the test models.

In 9.0 a new convert_to_onchange() mechanism had been
introduced at 9f81c6d

The combination of both requires some adaptation to the
expected results of the new tests and adaptation of existing tests.

The test models in `test_new_api` have an implicit depencies between
models which cannot be express on ORM:
    messages depends on participants of their discussion.

So, when editing a discussion, the field `participants` should be
processed before field `messages`. This is not always done because
field processing order depends of the iteration order of a `dict` (which
is undefined in python).
The testing tour `widget_x2many` worked by chance until now.
Adapt the tour to save the participants before the messages.
2016-06-21 11:23:18 +02:00
Géry Debongnie 77e20f57d2 [FIX] web: prevent some rpcs in tests
each time a js test is run, it used to start the chat manager, which
does a rpc.  This simply prevent the chat manager to start.
2016-06-17 13:32:38 +02:00
Géry Debongnie 00120a9271 [REF] web: refactor and simplify web.core 2016-06-17 13:32:37 +02:00
Géry Debongnie 2254abbde7 [REF] web: move Bus class to web.Bus 2016-06-17 13:32:37 +02:00
Géry Debongnie d56b35e26e [REF] web, *: move QWeb odoo init to web.QWeb
this js module centralizes all odoo initialization
2016-06-17 13:27:18 +02:00
Géry Debongnie 611322c36b [REF] web: add ajax.rpc and change some dependencies 2016-06-17 13:24:54 +02:00
Géry Debongnie 916b43afab [REF] web: remove dead code 2016-06-17 13:24:54 +02:00
Géry Debongnie cfe4b337af [REF] web: move async_when to utils 2016-06-17 13:24:54 +02:00
Géry Debongnie cfe13f79e6 [REF] web, web_calendar: move toBoolElse to web.utils 2016-06-17 13:24:54 +02:00
Géry Debongnie 57c0398749 [IMP] web: add main core bus
this will be used for all odoo web client event, not for dom events
2016-06-17 13:24:53 +02:00
Aaron Bohy c577fccb3f [IMP] web: webclient: listen to scroll event
and propagate events on the main bus
2016-06-16 14:59:39 +02:00
Aaron Bohy e7256058f2 [ADD] web: is_admin key of session_info into page source 2016-06-16 14:59:39 +02:00
Adrien Dieudonne a9b0561106 [FIX] *: use new JS module to read from/write in localStorage
to prevent errors when the localStorage capacity is 0, which is the case e.g.
on private browsing with Safari.
2016-06-16 13:48:18 +02:00
Adrien Dieudonne 8580636bad [ADD] web: js module to communicate with localStorage
Private browsing in Safari doesn't allow to store anything in the localStorage,
and it throws an error when you try to do so. This new JS module is a connector
to the browser's localStorage if it is enabled, and if not, it simply keeps its
own storage in RAM.
2016-06-16 13:48:18 +02:00
Aaron Bohy 6c9567ae3c [IMP] base,web: ir_action: target main to clear breadcrumbs
New value for the selection field 'target' of ir_actions_act_window which
forces the breadcrumbs to be cleared before executing the action.
2016-06-16 13:48:18 +02:00
Aaron Bohy 2e29f388c5 [FIX] calendar,pos,web: show_application should return a deferred
Also remove unused options dict from WebClient (especially action_post_login)
2016-06-16 13:48:18 +02:00
Aaron Bohy 022cdaaabb [FIX] web: nocontent_helper style
Correctly hide the 'create' part of the helper if the user can't create
Ensure that a's and span's are inline
2016-06-16 12:03:01 +02:00
Christophe Simonis 9fe4cf5f72 [MERGE] forward port of branch saas-11 up to dda0d3d
# Conflicts:
#	addons/product_uos/i18n/lo.po
#	addons/sales_team/models/__init__.py
#	addons/website_payment/views/website_payment_templates.xml
#	addons/website_portal_sale/views/templates.xml
#	openerp/addons/base/ir/ir_qweb.py
2016-06-15 13:10:45 +02:00
Christophe Simonis dda0d3d62d [MERGE] forward port of branch saas-10 up to baf494c
# Conflicts:
#	addons/hr_timesheet/project_timesheet.py
#	addons/sale_layout/i18n/es_PE.po
#	addons/sale_layout/i18n/hu.po
#	addons/sale_layout/i18n/lo.po
#	addons/sale_layout/i18n/pl.po
#	addons/sale_service/i18n/es_MX.po
#	addons/sale_service/i18n/es_PE.po
#	addons/sale_service/i18n/lo.po
#	addons/stock/stock.py
#	addons/stock/stock_view.xml
#	addons/warning/i18n/es_PE.po
#	addons/warning/i18n/lo.po
#	addons/warning/i18n/ru.po
#	addons/web/i18n/cs.po
#	addons/web/i18n/ja.po
#	addons/web/i18n/lo.po
#	addons/web/i18n/th.po
2016-06-15 12:59:39 +02:00
Christophe Simonis baf494c67b [MERGE] forward port of branch saas-9 up to 1d81bb0
# Conflicts:
#	addons/account_extra_reports/i18n/ca.po
#	addons/account_extra_reports/i18n/fi.po
#	addons/account_extra_reports/i18n/pl.po
#	addons/account_extra_reports/i18n/te.po
#	addons/account_extra_reports/i18n/zh_CN.po
#	addons/account_full_reconcile/i18n/hu.po
#	addons/account_full_reconcile/i18n/pl.po
#	addons/crm/crm_lead_menu.xml
#	addons/crm_claim/i18n/es_PE.po
#	addons/crm_claim/i18n/hu.po
#	addons/crm_claim/i18n/ja.po
#	addons/crm_claim/i18n/pl.po
#	addons/delivery/views/delivery_view.xml
#	addons/product/product_view.xml
#	addons/project_timesheet/i18n/es_PE.po
#	addons/stock/stock_view.xml
2016-06-15 12:40:59 +02:00
Christophe Simonis f9072c789d [MERGE] forward port of branch 9.0 up to bfbe2d6
# Conflicts:
#	addons/marketing/i18n/es_PE.po
#	addons/marketing/i18n/hu.po
2016-06-14 19:27:16 +02:00
Foram Shah 052dcd3ee8 [IMP] web: 'Not Archived' becomes 'Active', 'Not published' becomes 'Unpublished'
Another reason why it’s better to change ‘not archived’ into ‘active’ is
because ‘active’ is the functional name of this field in the filter list in list view.

For the rest, it’s just a better en_US way of saying it.
2016-06-14 16:23:50 +02:00
Nicolas Martinelli e0c4ec54ca [FIX] web: new record on editable list
On an editable list view, an issue occurs with the following procedure:
- Click "Add an item", write something
- Press "Enter" key --> a new item is added, write something
- Click outside of the list, then click on the last item created
- Press "Enter" key --> the cursor is set at the beginning of the list

This is an issue for two reasons. First, the behavior is not the same if
we have clicked outside of the list before pressing "Enter", which is
not logical. Then, in some undetermined cases, the focus can be lost
then retrieved on the last record. It means that suddenly, the cursor
goes back at the beginning of the list without notice.

The latter issue is problematic when batch-encoding data, for example
encoding the lot numbers of incoming products thanks to a scanner.

opw-680758
2016-06-14 12:39:11 +02:00
Christophe Matthieu 710a7cee14 [FIX] website: t-att-*** display empty string attribute
Remove attribute only if the result is False or None
2016-06-14 09:46:26 +02:00
Christophe Matthieu 956bb2b6e9 [IMP] base ir.qweb: add and update tests for the new ir.qweb 2016-06-14 09:46:25 +02:00
Jainik Patel eda051f43d [REM] web: Remove GTK icons and replace them by Font-awesome 2016-06-13 12:04:17 +02:00
Géry Debongnie dcc13079b7 [FIX] web: action manager and modals should interact correctly
Before this commit, the action manager could in some case have a
reference of a modal dialog, even after it has been destroyed (for
example, when the "X" button has been clicked to close a modal).

Unfortunately, it has some unexpected consequences, for example, the
do_push_state method check the existence of self.dialog to update the
url.
2016-06-13 10:43:37 +02:00
Christophe Simonis 7306e888a6 [MERGE] forward port of branch saas-11 up to ac50230 2016-06-08 12:28:16 +02:00
Christophe Simonis ac5023060c [MERGE] forward port of branch saas-10 up to 2f948c7 2016-06-08 12:19:23 +02:00
Christophe Simonis 2f948c76aa [MERGE] forward port of branch saas-9 up to 3ed483c 2016-06-07 19:45:02 +02:00
Christophe Simonis 3ed483caa1 [MERGE] forward port of branch 9.0 up to fa4a371 2016-06-07 19:21:18 +02:00
Nicolas Martinelli 83e7f2749c [FIX] web: set title on Many2Many tags
When the content of a Many2Many tag is too large, it is truncated. This
is an issue since there is no easy way to see it.

The fix adds a title on the tag with the content.

X-port of commit odoo/enterprise@bd3bfe0422
2016-06-07 17:03:40 +02:00
Denis Ledoux 4601b044a6 [FIX] web: prevent search dropdowns to close on click inside
In the Filters, Group By and Favorites dropdowns,
when clicking outside the `li` elements but still
inside the dropdown menu itself
(like on the dividers,
or next to the advanced search `Apply` button),
the dropdowns was closed.

This behavior was annoying when doing an advanced search
with a field using the datetime picker, as, to close the datetime
picker, you have to click outside it, and when you did, it closed
automatically the filter dropdown... So you had to open it again to
finally apply the filter.

opw-674310
2016-06-07 16:48:58 +02:00
Christophe Simonis e54fb3eb22 [MERGE] forward port of branch saas-9 up to 30864b6 2016-06-03 12:33:58 +02:00
Aaron Bohy 17461a57a0 [FIX] web: data_manager: load_action: return deep copy of action
The action object, and in particular its context, is modified by the Action
Manager and by some views (e.g. sales_team_dashboard Kanban). So, as the action
is stored in cache, the same object was returned each time the action was
requested, and previous modifications of its context still applied.

This produced a bug with the sales_team_dashboard when following those steps:
  - click on the link to today's activities, it opens an action with
    'search_default_today' in the context,
  - come back to the dashboard
  - click on the link to this week's activities, it opens an action with
    'search_default_this_week' in the context, but the formerly added key
    'search_default_today' is still there as well, so the domain is wrong.
2016-06-03 11:25:57 +02:00
Yannick Tivisse ed12bfd775 [IMP] web: Navigation improvement in editable list view (v2)
1/ On create new record focus field should select already existing value of field,
   So user doesn't have to remove  the old value first and then enter new value.

2/ Forget about it
2016-06-03 10:49:24 +02:00
Géry Debongnie 0ce2583157 [REVERT] revert web: Navigation improvement in editable list view"
This reverts commit c43a97f353.

If you use a setTimeout in your js code, you might want to have a
serious look at what you are doing.  You are almost certainly doing it
wrong.

If you chain a deferred with the number returned from a setTimeout, you
definitely don't know what you are doing.

If you try to fix editable list view by magically adding timeout,
potentially inversing the order of execution, and without understanding
how deferred works, it is clear that you are just changing stuff until
your particular bug disappear in your particular case, and that you have
no idea what other bugs you just introduced.

Please study how deferred works, how the basic JS methods works, learn
what setTimeout returns.  Also, you might want to have a basic
understanding of how and when expressions are evaluated.  For example,
if you cannot explain why a if statement cannot be replaced by a
function, you might want to stop what you are doing and educate yourself.
2016-06-03 10:24:38 +02:00
Ravi Gadhia c43a97f353 [IMP] web: Navigation improvement in editable list view
1/ On create new record focus field should select already existing value of field,
   So user doesn't have to remove  the old value first and then enter new value.

2/ Avoid the double empty line creation when pressing enter
step to produce
1 Menu Point of Sale > Configuration > Point of Sale switch to form view
2 Tick the box "Cash Control" , the one2many field will be visible
3 Press the "Tab" from keybord , control jumps to "Add an item" button
4 Press "Enter" from keyboad
5 You will see one extra line will be added..
2016-06-02 16:25:48 +02:00
Christophe Simonis a36f6dbc29 [MERGE] forward port of branch 9.0 up to 928bc26 2016-06-02 15:12:47 +02:00
Géry Debongnie 9be5531f3e [FIX] web: fix actions in sidebar on second reload
When the user visited a view for the second time, the extra actions in the sidebar
were broken.  The reason is that the sidebar code modified in place the
fields_view information.

Note: This was not a problem before, because the field_view_get call was done each
time the view was loaded, but now it is cached.
2016-06-02 14:28:21 +02:00
Christophe Simonis 928bc262a6 [MERGE] forward port of branch saas-6 up to 589751c 2016-06-02 14:26:19 +02:00
Adrien Dieudonne 6739e10b50 [ADD] web: add 'is between' operation for dates in search filters
- Add two datepickers to specify a range of date/datetime
2016-05-31 08:42:24 +02:00
qsm-odoo 969bc66e7a [FIX] web: enterprise navbar toggle button -> a
This commit is a fix of the forward-port of an enterprise commit.
https://github.com/odoo/enterprise/commit/b0f309bc4ea79ff3ae2fe7d890dd60b0b414bd05
2016-05-30 14:59:06 +02:00
Géry Debongnie 2172a6e81c [FIX] web: incorrect reference to openerp
I assume the problem was introduced by a forward port. But whatever the case, we
should not ever use the variable 'openerp' in jsland.
2016-05-30 11:43:06 +02:00
Géry Debongnie 58245d4dca [IMP] web: remove useless rpc by user_menu
The UserMenu widget needs the user name, but it is available in the
session informations.
2016-05-30 09:23:08 +02:00