Commit Graph
126133 Commits
Author SHA1 Message Date
Laurent Smet 34c7fe2e77 [FIX] testing utilities: o2m should not strip readonly fields
In the normal course of saving-action, readonly fields are stripped
out when sending data to the server. The SSF would reuse the same code
when "saving" O2M lines to the parent record however that is not
correct and would lead to misbehaving views as readonly (non-stored)
fields used as "transients" (storing data within the extent of a
record's edition session) would not behave properly.

Fix by overriding the O2M Form's save so that readonly fields are
kept and stored in the parent record.

Closes #23620
2018-04-03 15:46:04 +02:00
Aaron Bohy f5b1d4945c [REF] web: FormRenderer: INNER/OUTER_GROUP_COL params
This rev. extracts two rendering parameters for the groups
corresponding to the default col value to apply (for inner and for
outer groups). This allows to easily override those default values
in extentions of the FormRenderer (for instance, in the renderer
of the new Dashboard view).
2018-04-03 15:19:42 +02:00
Aaron Bohy d4b918f314 [REF] web: BasicView: allow overriding arch parsing
This rev. refactors the way the view's arch is parsed in BasicView,
so that it can be extended specifications of the BasicView to
handle other tagnames that 'field' (which is basically the only
one handled in BasicView).
2018-04-03 15:19:42 +02:00
Aaron Bohy 409e7c18c3 [REF] FormRenderer: renderOuterGroup
This rev. extracts the part of the rendering that renders outer
groups (i.e. groups that contain groups) in its own function. This
allows extentions of the FormRenderer to use it (for instance, the
renderer of the new Dashboard view).
2018-04-03 15:19:42 +02:00
Aaron Bohy 69c9500e35 [IMP] ActionManager: keepSearchView option
This rev. introduces an option to doAction (keepSearchView). If set
to true, the searchView of the current action will be kept and used
by the new action (this only works if there is already an action
with a searchView, and if the new action is stacked over that one).

This is necessary for the new dashboard view.

A better solution would have been to export the state of the
existing searchView, and import it to the new one, but the current
implementation of the searchView doesn't allow to do that easily.
This will be done as soon as the searchView will be rewrote.
2018-04-03 15:19:42 +02:00
Aaron Bohy 5b3cb812be [IMP] web: SearchView: add/remove filter from outside
This rev. allows to add or remove filters to the SearchView from
the outside, and to make it display this new domain. This can be
used by views that trigger domain changes (e.g. this is the case
of the new DashboardView).
2018-04-03 15:19:42 +02:00
Aaron Bohy 3dc48c79c9 [REF] web: lint ir_http.py 2018-04-03 15:19:42 +02:00
Mathieu Duckerts-Antoine 166319fa4a [IMP] web: GraphView: remove hack to render in DOM
The graph view uses the nv(d3) lib to render the graph. This lib
requires that the rendering is done directly into the DOM (so that
it can correctly compute positions). However, the views are always
rendered in fragments, and appended to the DOM once ready (to
prevent them from flickering).

Before this rev., the graph view circumvented this by performing
the rendering in a setTimeout(0), letting the framework append the
widget to the DOM first.

This rev. removes this hack and uses the on_attach_callback hook
instead, which is called when the widget is attached to the DOM.
This ensures that the rendering is always done in the DOM, and we
keep the rendering part synchronous.
2018-04-03 15:19:42 +02:00
Mathieu Duckerts-Antoine 8e017ee296 [IMP] web: add a percentage formatter
This rev. adds a new formatter for numerical values to fieldsUtils.
2018-04-03 15:19:42 +02:00
Christophe Simonis b2e4c34f37 [FIX] sale_{stock,timesheet}: limit field dependence on product itself
This avoid recomputing values in case of product defined via module
data.
2018-04-03 14:25:47 +02:00
Toufik Benjaa 55878df5ff [FIX] account_payment: Restrain access to invoice's partner
- Restrain the creation of transaction for an invoice to the invoice partner.
- Removed the callback_method argument as it was unused.
2018-04-03 14:22:10 +02:00
Nicolas Martinelli dcca2e8b9d [FIX] account: fix test
Complement of 802339c12d
2018-04-03 14:10:09 +02:00
Wolfgang Taferner 0f9bf4b0d0 [CLA] add ap-wtioit to WT-IO-IT's CCLA
Closes #24001
2018-04-03 13:38:19 +02:00
Nicolas Lempereur eca030cc38 [FIX] account: invoice line form ok studio context
Correct account invoice line form view so studio doesn't fail on
something that doesn't seem really correct (and somehow worked thanks
to pyeval implementation or the override from another view type).

opw-1826254
opw-1830171
closes #23997
2018-04-03 13:16:21 +02:00
Lucas Perais (lpe) 691b1f6fa4 [FIX] hr_attendance: fix handling of date objects in greetings
On 'My attendance', do some check-in/out operations
while on the server side, everything was ok, the display had some issues:
On Chrome, that worked well whereas in Safari, it did not
since the Date() implementation only accepts ISO date strings

We take the opportunity of this fix to handle dates with moment.js, which accepts non-ISO formats

OPW 1831555

closes #23962
2018-04-03 04:33:14 -03:00
Priyanka Kakadiya d768964a37 [FIX] account_voucher: journal entry creation in multi-currency
When creating sales/purchase receipt for a journal having a secondary currency, an error was raised as the amount_currency had the wrong sign (compared to the debit/credit).

Was Issue #1819396. Was PR #23768
2018-04-03 09:32:43 +02:00
Goffin Simon 1039abfbdb [FIX] web: time format without seconds
Steps to reproduce the issue in 11.0 Enterprise:

- Go to the language English
- Remove from the time format the seconds
- Refresh the page
- Go to sales
- Create a sales order;

Bug:

- You get the warning message

closes #23596 closes #22027
opw:1829577
2018-04-03 09:19:34 +02:00
Nicolas Martinelli 802339c12d [FIX] analytic, hr_timesheet: recompute order
When creating a timesheet, several fields need to be recomputed:
- `currency_id`
- `group_id`
- `department_id`
- `is_timesheet`
- `validated`

When `validated` is computed before the other fields, the recomputation
will lead to an `AccessError` because of the rule
`hr_timesheet.timesheet_line_rule_user`.

Since the test `test_timesheet_validation_user` expects an
`AccessError`, the test succeeds. However, from time to time,
`validated` is computed last => the `AccessError` is not raised.

Actually, a `ValidationError` should be raised in this case (from the
`create` override in `timesheet_grid`).
2018-04-03 08:30:30 +02:00
Odoo Translation Bot 0b927cf590 [I18N] Update translation terms from Transifex 2018-04-01 07:07:32 +02:00
Odoo Translation Bot d636c6c95c [I18N] Update translation terms from Transifex 2018-04-01 04:15:11 +02:00
Odoo Translation Bot 89c46e7da6 [I18N] Update translation terms from Transifex 2018-04-01 02:39:07 +02:00
Odoo Translation Bot b9ada1e62e [I18N] Update translation terms from Transifex 2018-04-01 00:29:20 +02:00
Dipalee Bhalodia 1fa8f67926 [FIX] mail: click on unstar all button should reset the starredcounter
Before this commit:
Clicking on 'unstar all' button removes all messages from starred channel
but it only decreases the counter as many as there are displayed messages
on screen.

For example, if there are 40 messages starred, only 30 messages
are on screen (default limit) but unstar all will decrease counter
only for those messages instead of 40.

After this commit:
clicking on 'unstar all' button will correctly take in account all
fetched messages and not only displayed messages.
So now, after clicking on 'unstar all' button will update the starred
counter to 0.

task-ID: 33958
2018-03-30 16:42:59 +02:00
Olivier Colson 548e0ba239 [IMP] l10n_ch: allow manual value for postal bank accounts
Previously, the ISR reference was computed from the iban number but it seems some banks (for example UBS) use arbitrary ISR references that needs to be manually set.

Was task: 40975
Was PR #22931
2018-03-30 15:46:45 +02:00
dbhandAaron Bohy ea97fa3ac6 [IMP] mail: Discuss: load older messages automatically
After this rev., in Discuss, messages are automatically loaded when
the user scrolls to the top of the channel.

Task 33958

Co-authored-by: Aaron Bohy <aab@odoo.com>
2018-03-30 15:30:37 +02:00
Nicolas Lempereur 471b7e3657 [FIX] stock: settings enable only op of active wh
The code in res config that enabled or disabled internal operation type
did not take into account that active_test is set to False inside this
type of code since c2e259d8.

Thus a picking type of an archived warehouse would possibly unexpectedly
be enabled after saving the settings.

opw-1826196
closes #23956
2018-03-30 14:36:28 +02:00
Géry Debongnie ea6e7379a3 [DOC] doc: update/add documentation on js framework
The state of the JS documentation was quite sad, not updated in a long
time.  With this commit, we rework a lot of the JS doc.  Most notably,
we add a section 'Javascript Cheatsheet' (help on some common
customization tasks) and rewrite the 'Javascript Reference' totally.

Note that the JS reference page also contains a reference on all field
widgets.

This work is just the beginning, it is probably not complete, but at
least we will have a foundation.
2018-03-30 14:11:49 +02:00
Géry Debongnie c5c2b4855b [REF] web: put willStart method before start (AbstractField) 2018-03-30 11:26:32 +02:00
Raphael Collet 31025540c4 [IMP] models: user-specified field aggregator in read_group
The caller of `read_group` can now provide the aggregating function to use for
a given field:

    # set aggregating operator for fields 'foo' and 'bar'
    model.read_group(domain, ['foo:sum', 'bar:avg'], ...)

One can also aggregate the same field several times, by giving a specific
output name for each:

    # aggregate 'foo' with both 'min' and 'max'
    model.read_group(domain, ['foomin:min(foo)', 'foomax:max(foo)'], ...)
2018-03-30 11:01:08 +02:00
Nicolas Martinelli 694f2d4b20 [FIX] doc: report with xmlrpc
The feature was removed in commit 3425752eac.

Closes #22540
opw-1824272
2018-03-30 09:58:19 +02:00
Benjamin Willig 965f4320da [FIX] project_issue: prevent errors when deleting an analytic account
With project_issue installed, and when deleting an analytic account, a search
is done to check if there is linked issues. When the current user has no access on
the project.issue model, an error is raised. This check should be done as an admin.
2018-03-30 09:20:16 +02:00
Lucas Perais (lpe) bf2e541c27 [FIX] payment_stripe: partner info is not mandatory
Before this commit, when accessing the payment page with arbitrary amount
(/website_payment/pay?reference=Testinvoice&amount=150.0&currency_id=6&country_id=)
A traceback was thrown because the keys concerning the partner were not present in the dictionary
that prepares the values for the form that we send to Stripe

Considering that those info are not mandatory for stripe (although not very good practice -- the more info the better to verify an identity)
we ignore them if not present

After this commit, the public route works fine

OPW 1832164
closes #23948
2018-03-30 09:17:53 +02:00
Lucas Perais (lpe) b2299fb4ff [FIX] sale: invoice count on SO: only take inv on same company
Before this commit, the smart button on the SO was computed
with only the SO's name field
In a multicompany setting, it could give up invoices from other companies

After this commit, only the invoices of the same company as the order are accounted for

OPW 1831551
closes #23925
2018-03-30 09:10:52 +02:00
Aaron Bohy fce1a799fc [FIX] web: ActionManager: call 'on_attach_callback'
for actions in target='new'. Before this rev., it was only called
on the dialog, but not on the controller rendered inside it.
2018-03-30 07:49:19 +02:00
qdp-odoo 0afab2853b [FIX] account: fix previous commit
Field enaming introduced at https://github.com/odoo/odoo/commit/bfe362c87a2c058c9257166dca096d80c79d3dc3 left some references to old field name. #oops #cestpasmoicestlui
2018-03-29 21:54:13 +02:00
Christophe Simonis d3d3b01073 [MERGE] forward port branch saas-15 up to 7d49f2f192c 2018-03-29 18:47:19 +02:00
Christophe Simonis dc06f0e4bf [MERGE] forward port branch saas-15 up to 7d49f2f192c 2018-03-29 18:47:19 +02:00
Christophe Simonis f2c3561334 [MERGE] forward port branch saas-15 up to b7f35428f4 2018-03-29 18:42:47 +02:00
Laurent Smet bfe362c87a [IMP] account: allow choosing a cash basis taxes account for base amount
When using cash basis taxes, the user has now the possibility to select a cash basis account containing the base amount during the generation of accounting entries.
This commit has been backported in v9 (in form of a module) in revision 1631889e91

  - task: https://www.odoo.com/web#id=40284&view_type=form&model=project.task&action=333&active_id=967&menu_id=4720
  - Was PR #22599
2018-03-29 18:15:38 +02:00
Laurent Smet 1631889e91 [ADD] account_cash_basis_base_account: add module to change the base amount account in tax cash basis entries
To be able to retrieve the base amount of cash basis taxes lines, additional journal items are created for the base as well in the journal entry generated by the payment.
However, these additional journal items debitting and creditting the same account are considered as pollution in reports.

This module and hook allow to move these additional lines to an another account, if needed.

    -task: https://www.odoo.com/web#id=35605&view_type=form&model=project.task&action=333&active_id=967&menu_id=4720
    Was PR #23349
2018-03-29 18:03:32 +02:00
Christophe Simonis f040553c81 [MERGE] forward port branch saas-14 up to 42ff51b2dd9 2018-03-29 17:56:55 +02:00
Christophe Simonis b7f35428f4 [MERGE] forward port branch saas-14 up to c1c10e2c4c 2018-03-29 17:56:29 +02:00
Christophe Simonis c1c10e2c4c [MERGE] forward port branch 10.0 up to 2b4bc45e58 2018-03-29 17:09:37 +02:00
Goffin Simon 2b4bc45e58 [FIX] sale: Wrong display of taxes in PRO-FORMA
Steps to reproduce the bug:

-Create a tax of 21% tax included but don't select the "affect base" checkbox.
-Create another tax of 5.2% (no tax include)
-Create a sale order with a line that has a unit price of 121 and both taxes.
Notice that the total amount is: 126.2 (100 base amount + 21 from 21% tax + 5.2 from 5.2 tax)
-Click on "Print the proforma invoice"

Bug:

The total amount was still 126.2 and base=100, however taxes were wrong, there were 21 for the 21% tax
and 6.29 instead of 5.2 for the 5.2 tax.

Back-port of this commit: f50a08bc3d

Forward up to saas-15

opw:1819882
2018-03-29 16:21:25 +02:00
Nicolas Martinelli 15c3cbab55 [FIX] stock_landed_costs: digits precision
- Set the number of digits of 'Product Unit of Measure' to 1
- Create a stockable product:
  UOM: Dozens
  Purchase UOM: Units
- Buy 17 Units, validate the picking
- Create a landed cost:
  Amount: 100
  Split Method: By Quantity
- Compute

The Valuation Adjustment line contains contains a line with a quantity
equal to 1.4, leading to a line of 98.60. It is impossible to validate
the landed cost because of the inconsistency.

The method `get_valuation_lines` retrieves the data from the
`stock.move` and copies the following values to the
`stock.valuation.adjustment.lines`:
- `product_qty` > `quantity`
- `weight` > `weight`
- `volume` > `volume`

Therefore, we must make sure that these fields are using the same digits
precision. We adapt the precisions accordingly.

opw-1817783
2018-03-29 15:36:55 +02:00
Goffin Simon 2f55b57b11 [FIX] sale: Tax amount is showing zero
The group of taxes were not taken into account in function _get_tax_amount_by_group.

opw:1830752
2018-03-29 15:27:03 +02:00
Goffin Simon 8a906f80b4 [FIX] stock: Inventory Adjustments Deletion
It's not allowed to delete inventory adjustement linked to validated moves.

opw:1826300
2018-03-29 15:17:18 +02:00
Pierre Masereel 7560bb7f42 [FIX] purchase: internal transfer wait operation when RFQ canceled
When you have a receipt in multiple steps and cancel the generated RFQ
the following internal move stay in waiting another operation.

We recompute its state and pass it in waiting.

OPW-1832176
2018-03-29 13:53:25 +02:00
Romain Derie 4e81ca7814 [FIX] sale_coupon(_delivery): correct discount when specific product
Before this commit:
1. With a coupon set on 'specific_product', the discount amount was multiplied
   by the product quantity twice.
   (Introduced by a42c27f which apply discount on the full price by using
   price_total (already multiplied by quantity) over price_unit.
2. With a coupon set on 'cheapest_product', the discount was not discounting taxes.
3. With a coupon set on 'cheapest_product' and `sale_coupon_delivery` installed, it
   would simply crashes and throws an error since `sale.order.line` has no
   `program_id` attribute.

Now:
1. We no longer multiply by the quantity twice;
2. We apply discount on the full price (with taxes);
3. We use correct attribute to avoid crash.

opw-1830986
2018-03-29 13:14:06 +02:00
Romain Derie 0a565abfad [FIX] sale_coupon(_delivery): correct discount when specific product
Before this commit:
1. With a coupon set on 'specific_product', the discount amount was multiplied
   by the product quantity twice.
   (Introduced by a42c27f which apply discount on the full price by using
   price_total (already multiplied by quantity) over price_unit.
2. With a coupon set on 'cheapest_product', the discount was not discounting taxes.
3. With a coupon set on 'cheapest_product' and `sale_coupon_delivery` installed, it
   would simply crashes and throws an error since `sale.order.line` has no
   `program_id` attribute.

Now:
1. We no longer multiply by the quantity twice;
2. We apply discount on the full price (with taxes);
3. We use correct attribute to avoid crash.

opw-1830986
2018-03-29 13:14:06 +02:00