Commit Graph

82984 Commits

Author SHA1 Message Date
Loïc Bellier cdce2e2283 [FIX] stock: Never hide the invoice control on pickings
Invoice control field was invisible, and we cannot change value if none selected or copy picking in.
Fixes #3636
2014-11-28 17:55:48 +01:00
Christophe Simonis ec30b21336 [MERGE] forward port of branch 7.0 up to de07c64 2014-11-28 15:16:38 +01:00
Andrius Preimantas de07c642b6 [FIX] base: delete parent partner reset use_parent_address
When deleting a partner with some contacts, if the contacts had selected
the "use parent address" checkbox, the address of the contacts was stucked in
readonly mode (no checkbox to disable it).
Disable use_parent_address for orphan partners.

Fixes #3611 #3613
2014-11-28 12:03:42 +01:00
Olivier Dony fc85a7ee5c [FIX] product: remove unnecessary UoM rounding step, add missing test
Remove the intermediate rounding inside _compute_qty(), as it
is not necessary after rev. fa2f7b86 and has undesired side-effects.

An extra float_round() operation inside _compute_qty()
had been added at rev. 311c77bb to avoid a float representation
error in UoM factors that could bias the ceiling() operation
done as the last conversion step.

Example 1:
Dozen has a factor of 1/12, which was previously stored in the
database with a decimal accuracy of 12 significant decimal digits.
This meant the factor was exactly stored as 0.08333333333333.
When reading this back into a Python float, the precision was not
sufficient, and the UoM conversion of 1 Dozen to Units gave a
result of 12.00000000000047961...
After the final ceiling() operation to Unit's rounding, the
converted value ended up as 13.

This problem was initially solved using an extra rounding.

However at revision fa2f7b86 the decimal precision used to store
UoM factors was increased to preserve all significant digits.
This added the extra precision necessary to read the Dozen factor
back into an accurate float value of 1/12, and the conversion of
1 Dozen now gives 12.0 Units, even without the intermediate
rounding operation. (Works for other factor values too)

At the same time that extra rounding operation has undesired
side-effects, as it requires a fixed precision derived from
the rounding precisions of the UoMs. But there is no given precision
that would work in all cases for this intermediate value. It is
always possible to find a valid combination of UoM roundings
that breaks that intermediate step, e.g. by forcing integer
roundings.

Example 2:
Let Grams have a rounding precision set to 1 because no smaller
quantities are allowed, and Kilograms a rounding of 0.001 to allow
representing 1 Gram. (gram factor = 1000 and kilogram rounding = .001
by default)
If we try to convert 1234 Grams into Kilograms, the extra rounding
introduced in 311c77bb will cause a rounding of 1234.0/1000.0 at
the precision of Grams (1), which gives 1.0 as a result.
The net result of this conversion gives 1234.0 Gram = 1.0 Kilogram,
while the correct result (1.234 Kilogram) is perfectly compatible
with the UoM settings.

Similar errors could be triggered with various rounding settings, as
long as the intermediate rounding needs a finite precision.

Two extra tests have been added to cover Example 1 and Example 2.

--
Related to #2072, #1125, #1126, #2672
Closes #2495, #2498
2014-11-27 16:44:34 +01:00
Denis Ledoux e347011f24 [MERGE] forward port of branch 7.0 up to 2080ea0 2014-11-27 13:27:37 +01:00
Denis Ledoux 2080ea0f0a [FIX] stock: on stock picking invoicing, allow to pick a journal if no move line 2014-11-27 13:26:57 +01:00
Sandy Carter 043f7b84b8 [FIX] base: avoid having 'False' in name of a bank
The name_get of res.partner.bank uses the format_layout to generate the name
of the bank. As every field is not required, we may get 'False' in the name.
Replace these missing values by an empty string.

Fixes #3590
2014-11-27 13:09:01 +01:00
Mohammad Alhashash 2461baa0dd [FIX] stock: prevent serial number deletion on stock.move
prodlot_id field may be required due to constraint `_check_tracking`.
When a stock.production.lot is deleted, the constraint on linked stock.move is
not checked. To avoid inconsistency, restrict the suppression.
To allow the modification of existing stock.move, remove the states attribute on
the field definition.

As removal of serial may impact the traceability, it makes sense on buisness
point of view to force the modification of previous stock.move, even if the
constraint would not have been violated.
The list of linked stock.move is present on the serial form view making
the operation easier.

Fixes #3560, lp:1176912
2014-11-27 12:47:41 +01:00
Denis Ledoux 117d0d0ca2 [FIX] sale_margin: stored field functions cannot trigger other stored field functions
the update of sale.order margin field was trigger with the margin stored field of sale.order.line: This cannot work with the old api
2014-11-27 12:06:19 +01:00
Pierre Verkest f0e331e005 [FIX] correctly update many2many in listview (web client)
Fixes the issue #1216 (follow the link for more information). The issue
was caused by a hack in list view: the magical suffix __display is used
in render_cell to determine if a many2many field should be updated. This
commit simply makes sure that old many2many fields + __display keys are
cleared.

A better way would be to redesign/refactor the list view to avoid that
hack in the first place.  But this would be a much more complex task.
2014-11-26 15:42:34 +01:00
Denis Ledoux 02f4f9a572 [MERGE] forward port of branch 7.0 up to e2dd18f 2014-11-26 12:35:36 +01:00
Denis Ledoux e2dd18f1e7 [FIX] mrp: prevent recursion from phantom boms with no lines
if the bom is phantom and has no line, we attempt to find a new bom with the default product uom
This is possible that we find the same bom that the current one
In such a case, we must not explode, to avoid recursion.
2014-11-26 12:34:45 +01:00
Danimar Ribeiro 34da02e730 [FIX] l10n_br: remove reference to old base.group_extended group
Fixes #3879
2014-11-26 11:33:04 +01:00
Denis Ledoux 9f66f98520 [FIX] marketing_campaign: typo in manifest 2014-11-26 10:07:08 +01:00
Denis Ledoux 4ca389a1a6 [FIX] account: prevent invoice line duplication on partner duplication
If a company contact (a partner with a company set as parent) had invoices, and the company of this contact was duplicated, all the invoices lines were duplicated,  on the original invoice moreover (new lines were added on existing invoices)
2014-11-25 18:23:45 +01:00
Denis Ledoux 73f7a2ba35 [FIX] project_timesheet: date of created analytic line not in user tz
When the user was in timezone UTC + 1, and added a project.task.work which created an analytic entry line (timsheet activity), if the datetime was set to 11/25 00:00:00, the date on the analytic line was set to 11/24, because this was the truncated stored value(UTC Time), which was 11/24 23:00:00
2014-11-25 12:33:28 +01:00
Martin Trigaux 4ce7af3573 [FIX] product: creation of reference uom
Set a default value for factor when creating a new uom.
Could not create a new UoM with type reference (if creates a reference uom, no need to pass a factor).

Change the readonly filter to (type = bigger) to make the field writable for reference uom.
This is needed to force the reset of the factor when switching of type (onchange_type).
As the field was readonly, kept the old value for factor.
2014-11-24 11:04:50 +01:00
Denis Ledoux 6c13c8d966 [MERGE] forward port of branch 7.0 up to 529e920 2014-11-19 14:06:48 +01:00
Denis Ledoux 529e920b2c [FIX] mrp: perform location chaining for kit exploded moves
This rev. 7307227 ensured to not (re-)set the state 'confirmed' to exploded moves with a more advanced state (for instance, 'assigned')
Nevertheless, the location chaining is performed on the move confirmation, through the action_confirm method of the stock.move model. Besides, the resulting moves of the _action_explode method had the state 'confirmed' on creation, the 'confirmed' state wasn't set by the method 'action_confirm', meaning that the moves were confirmed without having the location chaining done. Allowing moves to go through the action_confirm method even if the state was 'confirmed' or further triggered the location chaining.

Preventing already confirmed moves to go through the action_confirm method prevented the location chaining, thus.

We now create the resulting moves with the 'draft' state, and then confirm them through the procurement workflow signal 'button_confirm'. Thus, the resulting moves are confirmed by going through the action_confirm method, writing the confirmed state and triggering the location chaining at the same time. We then write the 'assigned' state if necessary.

opw-617235
2014-11-19 14:04:05 +01:00
Frederic van der Essen bb7a9dea8b [FIX] point_of_sale: fix point of sale sequence declaration, github issue #3218 2014-11-18 18:04:30 +01:00
Denis Ledoux 02270bd0fd [FIX] account: do not duplicate analytic lines on analytic journal duplicate 2014-11-18 16:27:57 +01:00
Denis Ledoux c5714135c2 [MERGE] forward port of branch 7.0 up to 922a52d 2014-11-14 17:59:00 +01:00
Denis Ledoux 922a52dcde [FIX] web: date autocompletion should not harcode 'date'
But should use date or datetime according to the widget type

This fix is related to 69d60465ee
2014-11-14 17:57:10 +01:00
Martin Trigaux 0a7633c11e [FIX] purchase: keep PO currency on picking
The delivery of a purchase order was not keeping the currency and cost price
from the purchase order for the reception. This was problematic for orders where
the invoice was generated from the picking (Invoicing Control: Based on incoming
shipments). The currency of the purchase order was kept while the cost was the
one in the company's currency.
It's better to keep the currency of the purchase order to make the invoice as
it's usually the one expected (and not convert everything to the currency of the
company). opw 615555
2014-11-14 17:29:40 +01:00
Denis Ledoux 7ab413724a [MERGE] forward port of branch 7.0 up to da15c9d 2014-11-14 15:59:33 +01:00
Denis Ledoux da15c9d27b [FIX] web: do not set the one2many dirty on field validation
This rev. 06104ba553

Added the dirty flag on the o2m field when the editor of the editable list was enabled (meaning that the editable list has been altered)) because the dirty flag was not set correctly by the one2many during the edition, at the time.

It looks like this is now the case

Besides, as now, we valid all the editable list of the form, wether or not the editable list was altered, we must not set the o2m as dirty anymore.
2014-11-14 15:52:58 +01:00
Denis Ledoux 3613b74df3 [FIX] point_of_sale: missing multi-company rule 2014-11-14 14:15:21 +01:00
Denis Ledoux 5b2f13abdf [FIX] product: more accurate name_search
First, name_search searches on default_code, then, if the limit is not reached, it searches on the product name
The results found from the default code search must be removed from the search domain when doing the search on the product name, to avoid having results already found by the search on the default_code

opw-618015
2014-11-14 13:42:52 +01:00
Martin Trigaux cf488682c8 [FIX] stock: multicompany reception
When a picking is confirmed, the generated account.move(.line) should take the
company, accounts, journals and period with the same company as the picking,
not the one of the current user.

This was problematic if a user in a company confirm a picking linked to
a purchase order done in another company.
For real time valuations, the generated accounting entries were mixing both
companies.

Fixes #3466
2014-11-14 12:24:40 +01:00
Martin Trigaux 7f4c4a5e8a [IMP] purchase: error message linked to product, not company 2014-11-14 12:24:31 +01:00
Samus CTO 1a826e07fe [IMP] Speedup test account_assert_test.xml in account 2014-11-13 17:00:42 +01:00
Rifakat Haradwala 69d60465ee [FIX] web: date autocompletion should use user's locale
search bar does not suggest date field format based on user's locale and always shows based on mmddyy using Date.parse,  opw:615276

Note: starting in 9.0, datejs has been replaced by momentjs, so this
problem should be solved in a better way.
2014-11-13 11:12:49 +01:00
Frédéric Van der Essen 16900c8ac4 Merge pull request #3220 from odoo-dev/7.0-opw-615322-rgo
[FIX] point_of_sale: fixed rounding issue for pos order when discount ad...
2014-11-12 17:58:07 +01:00
Christophe Simonis e74fb09a00 [MERGE] forward port of branch 7.0 up to ab5ecef 2014-11-12 10:56:38 +01:00
Martin Trigaux ab5ecef476 [FIX] project_timesheet: accept work without date
date field on a project.task.work is not required while it is on the hr.analytic.timesheet (with default value).
Avoid error if fill a task work without date, fallback on context_today.
2014-11-10 15:59:30 +01:00
Martin Trigaux e27afc13cb [FIX] mrp: prevent suppression of bom if used in mo
The field bom_id is required on a manufacturing order and deleting a mrp.bom would block the current mo.
Restrict the suppression for manufacturing order in progress.
Fixes #3417
2014-11-10 15:37:53 +01:00
Dhs-odoo c200ffd74e [FIX] project_timesheet: missing timesheet for tasks without project
Timesheet activities (hr.analytic.timesheet) are generated when a work activity (project.task.work) is logged on a task.
These are updated if the project of the task is modified.
This patch applies the same behaviour for tasks without project, the timesheet activities are generated once a project is set on the task.
To avoid redundency in the code, extract the computation in a distinct method.
Fixes #701, opw 609481
2014-11-10 14:13:43 +01:00
Ravi Gohil c6a5be0a19 [IMP] stock: added missing 'context' parameter (opw 616952) 2014-11-06 18:14:11 +01:00
Christophe Simonis e4fdd85424 [FIX] hr,mail: correct remove of suggestions. 2014-11-06 17:41:44 +01:00
Denis Ledoux c8df9fcc7d [MERGE] forward port of branch 7.0 up to ae99a93 2014-11-06 16:30:00 +01:00
Denis Ledoux ae99a93b88 [FIX] web: many2many_binary widget upload
once widget extended with ReinitializeFieldMixin, the event binding with the binary file input and the on_file_change method can be done in initialize_content instead of start

This fix is related to d36c8b5c9b
2014-11-06 16:26:32 +01:00
Denis Ledoux 22f2728d22 [MERGE] forward port of branch 7.0 up to d36c8b5 2014-11-06 14:56:45 +01:00
Denis Ledoux d36c8b5c9b [FIX] web: FieldMany2ManyBinaryMultiFiles must extend ReinitializeFieldMixin
The add attachment button should be displayed while being in edit mode, but not in view mode
As the widget depends on the form actual mode, the widget should be re-rendered each time the actual mode changes

This is the point of the ReinitializeFieldMixin class
2014-11-06 14:51:21 +01:00
Julien Legros 150dc66ec0 [FIX] account_asset: moves should use the depreciation line date 2014-11-06 14:06:55 +01:00
Christophe Simonis ec277732fe [MERGE] forward port of branch 7.0 up to 3e3e35e 2014-11-05 21:10:15 +01:00
Christophe Simonis 3e3e35ed7e [FIX] web,web_kanban: correct radial-gradient usage 2014-11-05 20:57:59 +01:00
Christophe Simonis d36eee98fb [MERGE] forward port of branch 7.0 up to 65d92da 2014-11-05 19:34:18 +01:00
Christophe Simonis 388732dfa6 [IMP] *: one Makefile to rules them all.
Create one unique generic Makefile to compile sass files.
2014-11-05 19:30:28 +01:00
Olivier Dony 65d92dadf4 [FIX] base: incorrect code and locale for Bosnian
Stems from prebiblical commit f083aa2.

Fixes #3480
2014-11-05 19:09:23 +01:00
Christophe Simonis 48ffbb68fb [MERGE] forward port of branch 7.0 up to cb91966 2014-11-05 18:58:07 +01:00