Commit Graph
109502 Commits
Author SHA1 Message Date
Martin Geubelle c6a0ff52f9 [FIX] web: Kanban: fallback on empty array for x2many raw_value
The commit e07f27d has wrongly changed the fallback for one2many raw_value from
an empty array to `false`. This modification brokes a lot of templates where we
assume that the value is always an array.

This commit restores the previous behavior with the fallback on [].
2017-05-04 11:58:25 +02:00
Yannick Tivisse 34cf2bc51c [FIX] website_sale: Pass website_sale_order to the template on each checkout step
The template `wizard_checkout` uses the `website_sale_order` to render the checkout process pages

But this values isn't passed to the template on these staps:
- /shop/checkout/
- /shop/address/
2017-05-04 11:46:53 +02:00
Yannick Tivisse 6d392d97a0 [IMP] website_sale: Enable billing/delivery address on checkout process
Purpose
=======

Address management is not clear. If you use the eCommerce, you can set 2 different addresses (billing / shipping) in the checkout process while the related access right group is not activated (group_sale_delivery_address). So you don't see such dates in the backend, which leads to potential conflicts with customer (if the delivery address is different).

Functional spec
===============

- Hide shipping stuff in checkout if option is not activated:
- When eCommerce is installed, group_sale_delivery_address should be activated automatically.
- If you uncheck it from user access (already it is disable in sale settings) , it has to disappear in both the bakend AND the frontend.
2017-05-04 11:46:53 +02:00
Géry Debongnie e4532cfe51 [FIX] web: various fixes in list view navigation
With this commit, we try to improve the way navigation is done in the
list view.  In particular, we want to make sure that pressing TAB on the
last editable cell move the cursor to the next line (and create a new
line if necessary).

Also, we add a few tests for keyboard navigation (it was almost not
tested before this commit, and while working on this commit, it was
broken at some point).
2017-05-04 10:39:01 +02:00
Denis Vermylen 1314de5098 [IMP] account, sale, web: dashboard graph tooltips
Graph tooltips (found in accounts and sale/crm's dahsboards) are now
rendering a custom template in order to display more relevant and
coherent information about the graph.
2017-05-04 10:35:51 +02:00
Richard Mathot 1ab0910d91 [REF] product: typo in class name
"No, no, I am not the brain specialist. No, no, I am not! Yes. Yes I am."
2017-05-04 10:29:12 +02:00
Denis Vermylen c35c8c5476 [FIX] account: dashboard graph tooltip color
In the accounting graphs, the graph's color and tooltip didn't match
for linecharts. This commit fixes that.
2017-05-04 10:20:09 +02:00
Deepak Geriani 1682106f7d [ADD] web: add Qunit test case for graph widget's tooltip 2017-05-04 09:58:05 +02:00
Mitali Patel f00e9c6453 [IMP] web: custom tooltip in dashboard graph widget 2017-05-04 09:58:04 +02:00
Mitali Patel 15134aa1a9 [IMP] sale, account: display proper names in graph tooltips 2017-05-04 09:58:04 +02:00
Géry Debongnie 91d1fd8701 [FIX] web: prevent double onchange in some cases
When we unselect a line in a one2many list, we ask for all fields to
commit their changes (because many fields are debounced, so we may not
know their current last value).  This is good, except that it could
trigger an extra field change event, which may in turn trigger a second
onchange.

We solve this issue by improving the _setValue method and delegating the
comparison to a new _isSameValue method.

It is particularly relevant for field types such as integer, which are not
stored as a string.
2017-05-04 09:32:24 +02:00
qdp-odoo 7b6c474c20 [FIX] account: avoid invoices paid automatically in some strange use cases.
Invoices were marked as paid as soon as validated, if the income/expenses accounts was reconciliable (for some reason?)

- task https://www.odoo.com/web#id=32324&view_type=form&model=project.task&action=333&active_id=967&menu_id=4720
- PR #16311
2017-05-04 09:16:41 +02:00
Nicolas Lempereur b9ac7090ce [FIX] web_kanban: double click double action
When multiple clicking fast (and with the server not too fast), we could
end up with an error (eg. "Cannot read property 'controller' of null").

Something has been done previously to improve this when switching
between views in: fc8a4b5e. This commit do something similar to limit
multiple click on kanban records (doing it as in 26f91c429).

note: master equivalent of 8f1cc2fa (which is for 10.0 up to saas-15)

opw-705329
closes #16775
2017-05-04 08:20:07 +02:00
Aaron Bohy 5d6412116b [FIX] mrp,website_event_track: handle widget in form
This widget is supposed to be used in list views only (it allows
to re-order the rows by drag-and-dropping them).

Since the new views, the field widgets are shared between all
views, whereas before, each view had its own list of widgets
(and the handle widget was a list view widget).

So if one specifies widget='handle' in a form view, the handle
widget will now be instantiated, whereas before it was ignored.

This rev. fixes two templates making use of the handle widget in
form views.
2017-05-03 20:48:25 +02:00
Aaron Bohy c7fc74fb79 [FIX] web: BasicModel: fetch added x2many records
Suppose that there is a many2many (list) field in a form view,
and there is a many2many (e.g. many2many_tags) field inside the
list.

In edit mode, if the user adds a record in the relation, this
record and its relational data should be fetched.

Before this rev., the relational data wasn't fetched, so the
many2many_tags couldn't be displayed correctly.
2017-05-03 20:48:25 +02:00
Lucas Perais (lpe) d56baebc8e [IMP] l10n_fr: make french localization usable out of the box.
* added some accounts, cash based taxes, DOM-TOM country group...
* improved sale/purchase journal creation for french companies by making sure they have a dedicated sequence for refunds
2017-05-03 16:59:01 +02:00
qdp-odoo 77157c6ddd [IMP] l10n_fr: set one tag per grid in vat report. 2017-05-03 16:59:01 +02:00
qdp-odoo 3bb774d6de [IMP] account: add a default 'cash basis tax journal' upon chart template installation.
This is probably needed by all countries that use caseh basis taxes, and will save them the journal creation + save of the settings.
2017-05-03 16:59:01 +02:00
Raphael Collet 59ee813a82 [IMP] fields: clean up comparisons to False 2017-05-03 15:54:36 +02:00
Raphael Collet 8706a8503b [REF] base: convert python constraint to SQL constraint
The constraint is `UNIQUE(model, name)` on `ir.model.fields`.
2017-05-03 15:52:58 +02:00
Raphael Collet b59318ec12 [REF] registry: always perform registry/cache signaling at the end of request
Problem: the update of custom models/fields is not fully transactional, and may
potentially lead to an inconsistent database.  An other problem is creating two
custom fields by writing on a model: if the second one fails, the first one has
been committed without notice.  Retrying the request will give an unexpected
error (duplicate field name).

Solution: never commit in the middle of a request.  If the changes have an
impact on the registry, then mark it as invalid (with a new flag), and signal
registry invalidation after everything has been committed.  If the request
fails, reset the registry.  Both registry and cache invalidation are handled
the same way.
2017-05-03 15:41:05 +02:00
Raphael Collet 1458f1b313 [REF] registry: delegate addition of custom models/fields
Delegate to models `ir.model` and `ir.model.fields`, so that this functionality
can be extended easily.
2017-05-03 15:41:05 +02:00
Raphael Collet f3f41ec551 [REF] registry: replace partial by attribute registry.loaded 2017-05-03 15:41:05 +02:00
Raphael Collet 5d3474254d [REF] registry: remove deprecated RegistryManager 2017-05-03 15:41:05 +02:00
Géry Debongnie b38137d498 [FIX] web: prevent loss of edits in list view
Before this commit, it was possible to edit something in an editable
list view, then press the DOWN key, then enter some other values.  With
the DOWN key, the focus is supposed to move to the line below, so we
save the current line, in the current state.  This means that the edit
coming after are simply lost (well, just not saved nor displayed).

What this commit does is simply disable all control elements in that
situation.  This prevents uncomfortable situations from occurring.
2017-05-03 15:20:16 +02:00
Christophe Simonis c8dfc701bc [FIX] delivery: force non-inheritance of views 2017-05-03 13:56:44 +02:00
fwi-odoo 1af7864fdf [FIX] web: correct column title when kanban grouped
Before this commit, when a kanban view was grouped by a selection field, the
column were named with the raw value of the selection instead of the display
string.

Furthermore, fix the fact that when the column title was 0 or False,
'undefined' was displayed instead.
2017-05-03 13:41:13 +02:00
fwi-odoo a53335fdb2 [FIX] web, document: adapt toolbar to the new views
- Fix the toolbar behaviour since there is no more dataset in the widget.
- Improve the communication beetwen the controller and the toolbar.
- Move the code linked to the document upload in the right file.
- Adapt the tests to mock the search_read done by ´document´ addon
- Adapt the mock server to be able to give a custom toolbar action
2017-05-03 13:41:07 +02:00
Jérome Maes 30384249e1 [ADD] project_timesheet_holidays: generate timesheet when on leaves
This commit proposes to allow to automatically generate timesheet lines
when an employee is on leaves. Project and task used for timesheeting
is globally configured on the company. Holidays type choose whether to
generate timesheets or not and take the company default configuration.

When an HR officer validates a leave request, analytic lines will be
generated for each day off. The unit amount will be based on the working
calendar of the employee taking the leave. Generated timesheet lines are
attached to the project and task configured on the holidays type.

Configuring timesheet lines generation at holiday type level allows to
tune the use of leave requests. You may have for example "home working"
holiday type that should not generate timesheets while "legal leaves"
should.
2017-05-03 10:15:27 +02:00
Thibault Delavallée 69631078ba [IMP] resource: add iterator on work hours count between two datetimes 2017-05-03 10:13:24 +02:00
Christophe Simonis bf7de4d32f [MERGE] forward port branch saas-15 up to 3f6bb0f544 2017-05-02 18:53:44 +02:00
Christophe Simonis 3f6bb0f544 [MERGE] forward port branch saas-14 up to 6441ea28b3 2017-05-02 18:25:31 +02:00
Fabien Pinckaers a97cb66961 [IMP] mail: less visible when no activity scheduled 2017-05-02 09:12:32 -07:00
Christophe Simonis 6441ea28b3 [MERGE] forward port branch 10.0 up to cc7ae17bd5 2017-05-02 18:12:09 +02:00
Fabien Pinckaers a5cf0cc8b4 [IMP] mail: spacing around the next activity icon 2017-05-02 09:05:56 -07:00
Fabien Pinckaers f72d87ab1a [IMP] hr_recruitment: improved kanban view of applicants
[IMP] hr_org_chart: help sentence
[IMP] sale: search on customer in main search
2017-05-02 09:01:39 -07:00
qsm-odoo 2c59d81d44 [FIX] web: edit correct list line on click after line deletion
Before this commit, if the user created a line (thanks to the create
button) then deleted it, the rows were in a broken state which made the
list edit the wrong line on line click (it opened the next one). This
was due to row indexes which are kept as data on rows: they were not
updated on row deletion. This commit simplifies the code by getting rid
of this indexes data and instead compute those when necessary.
2017-05-02 17:47:18 +02:00
Christophe Simonis cc7ae17bd5 [MERGE] forward port branch saas-11 up to 73527d0fc6 2017-05-02 17:05:42 +02:00
Nicolas Martinelli 279b3a8ac1 [FIX] account_tax_cash_basis: raise if no account
Since the account is a mandatory field, we raise an clear error is no
account is defined.

This is necessary when running an automatic reconciliation on the POS.
The POS uses a try/except to avoid any error, but in the case of an SQL
error, the cursor is invalidated, so the transaction fails.

opw-741677
2017-05-02 16:20:50 +02:00
Christophe Simonis 73527d0fc6 [MERGE] forward port branch 9.0 up to c66e454f06 2017-05-02 16:17:35 +02:00
Nicolas Martinelli be1ca7b100 [FIX] web: min/max integer
In PostgreSQL, a field of type `integer` must be in the range
-2147483648 to +2147483647. If the user enters a lower or a larger
value, a traceback is thrown.

opw-740286
2017-05-02 16:11:01 +02:00
Aaron Bohy c891463e50 [FIX] web: BasicModel: apply onchange after x2m edition
When a record is added in an x2many field with an onchange, the
onchange is only triggered once the new record is valid (i.e. when
all its required fields have a correct value).

However, there was an issue in the code checking the validity of
a record, as it iterated on all known fields of the model (instead
of those in the view), so if there were required fields that
weren't, the record was always invalid (as those fields obviously
never had a value), and thus the onchange was never done.

This wasn't a problem with embedded views as in this case, the
known fields are those in the view. But when the view isn't
embedded, all fields of the related model are known, even if only
some of them are in the view.

This was the case for example in the stock.picking form view, when
adding a line in the stock.move o2m: the onchange wasn't done and
thus, the schedule date wasn't correctly set.
2017-05-02 15:34:43 +02:00
Aaron Bohy e9dce2c7b6 [FIX] web: don't fetch invisible relational fields
Relational fields with attribute 'invisible' set to true are in
views because they are used in domains or contexts. In this case
their relational data is useless, only their ids matter. Before
this rev., their relational data was fetched anyway. More
precisely, it was the case for many2ones after a default_get, and
for x2manys with inline views, or without view (e.g. with widget
'many2many_tags').
2017-05-02 15:34:43 +02:00
David Monjoie d99ae3fd87 [FIX] web: keep positional args for search_read
The previous code used to create its own args array
for the search_read method, replacing the one that
was originally given to it.

This lead to silent errors since positional arguments
to this function were completely ignored in the case
of search_read.

I took this commit as an opportunity to improve a
bit on the current state of these rpc helpers.
Namely, the basic args/kwargs priority is the following (top-to-bottom):
- kwargs defined in the rpc call
- kwargs defined in the kwargs key of the params kwarg of the rpc call
- positional arguments are passed as is

For read_group and search_read methods, the priority is the following:
- kwargs defined in the rpc call
- kwargs defined in the params kwarg to the rpc call
- kwargs defined in the kwargs key of the params kwarg of the rpc call
- positional arguments are passed as is

For the /web/dataset/search_read controller, only the params kwarg is
supported, resulting in the following priority:
- kwargs defined in the rpc call
- kwargs defined in the params kwarg to the rpc call
- positional arguments are passed as is

If both a kwargs and a positional arg is given for the same parameter,
it will be sent as is to the server which will crash with a typical
"got multiple values for keyword argument" TypeError. However, in the
MockServer however, we give priority to kwargs over args in this case.

Please note that I also chose to remove unnecessary default values so
that the ones actually used are the ones from the server, not the ones
that were duplicating those in the rpc js file.
2017-05-02 15:24:56 +02:00
David Monjoie 642fe9b9c1 [FIX] web: support anchor tags with action type in views 2017-05-02 15:24:55 +02:00
David Monjoie e02cee4ea6 [FIX] web: fix missing idForLabel on some widgets
Widgets which manipulates their dom in _renderEdit were left out
from the previous implementation since this processing was done
only once when the widget is rendered the first time. If the
widget regenerates a new input upon reset for example, then it
would lack the idForLabel.
2017-05-02 15:24:54 +02:00
David Monjoie 4e4c89969c [FIX] web: fix FieldStatus tests on extra small screens
When enterprise is installed, the rendering of these widgets on
extra small screens is different, thus breaking these tests. We
need to force the test to run on normal screens.
2017-05-02 15:24:54 +02:00
Goffin Simon e645d38ce1 [FIX] sale: Wrong access_name button in Sales Order - Send by Email
When the online SO was already confirmed and paid, the button "Accept and pay"
was displayed instead of "View".

opw:728306
2017-05-02 15:04:19 +02:00
Martin Trigaux ceeee8e6e2 [FIX] sale: avoid updating layout sequence at creation
When a invoice line is create a default layout_category_sequence was created
with a value of 0, updating the value of layout_category_id.sequence instead
of fetching it.

This operation was very slow on the invoice creation wizard

opw-741517
2017-05-02 14:25:29 +02:00
Christophe Simonis c66e454f06 [MERGE] forward port branch saas-6 up to 671864e72b 2017-05-02 12:07:05 +02:00