Compare commits


785 Commits

Author SHA1 Message Date
Harald Welte faa3ff46e2 HACK: extend product.product name_search() for x_sysmo_barcode
This should be properly done in an extension, but was easier to add to
the core product.product code right now :/
2017-11-30 08:32:31 +01:00
Harald Welte 768d0fb9d3 barcode controller: Remove quiescence zone left and right
When creating reports with barcode labels, there is simply no space
for excessive quiescence zones.  Let's give control of layout to the
report template, not to the barcode renderer.
2017-11-30 08:32:29 +01:00
Harald Welte 26bf90e5f9 bootstrap.css: Reduce default font size to 11px 2017-11-29 20:16:00 +01:00
Harald Welte c5d7f08a75 SKR03: remove all accounts sysmocom doesn't need 2017-11-29 20:16:00 +01:00
Harald Welte aad56113b3 hr_timesheet_data: disable cretaion of records
Not sure why this was needed, but it is present in our production odoo
2017-11-29 20:16:00 +01:00
Harald Welte 07e21deba2 reports_shipping: comment out non-matching xpath expression
This needs investigation/fixing
2017-11-29 20:15:59 +01:00
Your Name 12e9a7123a Allow HR managers to modify even confirmed time sheets
This is particularly useful in case the "Invoicable" attribute
was not set correctly by the employee (who may even not know if
his work is invoicable to a customer or not)
2017-11-29 20:15:59 +01:00
Harald Welte 6088f138d5 Revert "[FIX] l10n_de: set reconciled to False for accounts of type liquidity… (#13520)"
This reverts commit 4ab34d4156.
2017-11-29 20:15:19 +01:00
EL HADJI DEM d1cea9fd2a [IMP] web: better content-type for attachments
Add the corresponding content type document instead the default content type.
This allows browser to detect the type of file being downloaded.
Fixes #1225
2017-11-29 20:13:21 +01:00
Lucas Perais (lpe) 837bd78672 [FIX] point_of_sale: fix perms in posbox script
Before this commit, the posbox was built and in the process the permissions of the repo were whanged
As a result, there was a diff in the repo, making it un-upgradable

After this commit, the permissions on the posbox' Odoo repository are unchanged, and no diff is to be seen
2017-11-16 13:14:00 +01:00
Lucas Perais (lpe) f5004154a2 [FIX ]point_of_sale: hardcode jessie in posbox scripts
Before this commit, the latest version of Raspbian was chosen.
It is not very helpful though as if something goes wrong, we don't on which part it is.

Also, fix python dependencies for the image
2017-11-15 14:42:16 +01:00
Christophe Simonis cf8577b9d0 [FIX] crm_partner_assign: safer geolocalization test
Backport & adapt commits afd4b68acc1c60152776e0fffd99c4e567c6058f & 27787265ddcbc3383652129a69de362884a94ea6

As google starts to refuse to answer to our geocode requests, we need
to mock results in tests.
2017-09-27 15:53:30 +02:00
Odoo Translation Bot 8a187c5b1d [I18N] Update translation terms from Transifex 2017-09-26 11:47:00 +02:00
Yasser Kaddour 4365ebc19c [FIX] Correct Algerian currency symbol
While the currency code of the Algerian Dinar is DZD, (latin) currency symbol is DA.
2017-09-25 09:53:45 +02:00
Jairo Llopis 35441cfd62
[IMP] doc: add test classes documentation
Closes #13902
2017-09-19 17:00:59 +02:00
Lucas Perais (lpe) 7805cf5fef [FIX] tools: fix amount to text in fr and nl
Correct rendering of 70 and 90 in french
And manage inversion [unit]-en-[tens] in nl

opw 757048

closes #19297
2017-09-08 09:40:56 +02:00
Olivier Dony ce12a7397f
[FIX] base: remove early size limit on author field
The default size limits set in base.sql are eventually superseded by the
actual limits (or absence of) when the DB schema is synchronized with
the Python model definitions.

However the list of modules (name, authors, descriptions, dependencies)
is loaded before this can happen. The length of the author field is one
case that can easily crash the database bootstrap process at that point,
should a module with a long author name be present in the addons path.

After schema sync, that size limit is lifted entirely (although Odoo Apps
does limit the max author name length to 512 at the moment, to prevent

Fixes #5850
2017-09-05 01:46:47 +02:00
Olivier Dony 53bd1266b6
[FIX] doc: mention psycogreen dependency for gevent worker 2017-09-05 01:45:26 +02:00
Odoo Translation Bot 8e6f65b469 [I18N] Update translation terms from Transifex 2017-09-01 02:40:20 +02:00
Lucas Perais (lpe) ff30928786 [FIX] account_budget: clearer analytic budget report
Before this commit there were two issues:
- The date "from and to" set in the wizard weren't working, as in not used at all
- The lines in the report did not have a date range, making the understanding of the report difficult

after this commit, only the budget lines which dates overlap at least one day of the report's dates will be selected.
Also, the first line of the report, containing the budget name also contains the dates on which it applies

OPW 743441

Closes #18737
2017-08-16 09:09:22 +02:00
Martin Trigaux eaa95bd0a6
[FIX] tx: don't translate test modules
Not published on Transifex
2017-08-14 09:53:22 +02:00
Raphael Collet 8efeb4c6fc [FIX] prefetch issues on computed fields (#18799)
When deciding to prefetch records (getting records from the cache with no value
for the field being fetched), if the field was computed `determine_value` would
just get all records, not limited by the normal prefetch limit; for large
recordsets this would generate gigantic prefetch lists for records we may not
need at all.

Fix by applying the `PREFETCH_MAX` limit to records from the cache as is done
in `_prefetch_field`.
2017-08-11 16:02:27 +02:00
Nicolas Lempereur 40197b38e5 [FIX] web: typo css class 69925ca6
closes #18601
2017-08-01 14:05:21 +02:00
Nicolas Lempereur 69925ca6f0 [FIX] web: display prev/next arrow after grouping
On a list view, if we group records the arrows and changing page
feature are disabled. But if then we removed the grouping, the arrows
never reappeared.

note: not necessary as of 9.0 it was already solved in 1280bf251

closes #18596
2017-08-01 13:56:26 +02:00
Odoo Translation Bot bbd4e7e292 [I18N] Update translation terms from Transifex 2017-08-01 02:40:08 +02:00
Thibault Francois 1644b92fd8 [FIX] account format error message correctly
Cherry-Pick of a04c1a2ac5244fe2fd3098fc22c59d336e352981
2017-07-28 16:15:35 +02:00
Christophe Simonis e6b91eb55a [FIX] core: werkzeug 0.12 compatibility
Since werkzeug 0.12, the `BaseWSGIServer.__init__` method expect the
socket to be bound to determine the effective port it listen to [1].
Stop pretend to bind the socket and close it directly after use.

[1] see pallets/werkzeug@1fc28cbb30
2017-07-27 13:40:19 +02:00
Christophe Simonis 48c478513f [IMP] core: log address we listen on in multi-worker mode 2017-07-27 13:39:08 +02:00
Vincent Adriaensen 1e3e3b4bbe [CLA] signature for vincentadriaensen
Done at #18332
2017-07-19 13:34:34 +02:00
Joren Van Onder 49407e46cb
[FIX] sale_margin: convert standard_price to SO currency before using 2017-07-07 16:01:36 -07:00
Richard Mathot 63ad8b9597
[FIX] tools: prevent crashes with Pillow >= 4.2.0
From Pillow 4.2, it is forbidden to save RGBA images as JPEG
( e4d6223c94 )

A crash was occurring when loading demo JPGs as
image_resize_and_sharpen() was silently changing image mode to RGBA.
Now we ensure that we return the original image mode.

We also avoid crashes when converting from PNG to JPG
2017-07-07 10:11:40 +02:00
Raphael Collet a1f1f85be2 [FIX] workflow: insertion of duplicates in many2many relation 2017-07-07 09:47:04 +02:00
Christophe Simonis fe73fc442c [FIX] google_drive: avoid AccessError when reading filters
If a config use a private filter, others users can't read it due to
record rules on filters.
2017-07-06 11:37:19 +02:00
Manuel Vázquez Acosta d951591b62 [CLA] Merchise Autrement sign CCLA
Done at #18008
2017-07-06 08:59:29 +02:00
Jairo Llopis ecc093033d
[FIX] service.server: bump up socket timeout to 2s
Rev. 8245c1d1d8 introduced a timeout to
avoid lockup situations with wkhtmltopdf's requests on servers with low
numbers of free HTTP workers.

The initial timeout of 500ms was chosen based on average network
latency, but turned out to cause spurious disconnections on congested
networks combined with slow links.

Bumping up the timeout to 2s seems to be a better sweet spot, causing
less spurious disconnections while still recovering reasonably fast from
the wkhtmltopdf lockup situation.

See also these discussions:
 - 8245c1d1d8 (commitcomment-22904347)
 - PR #12356
 - Issue #2114

Closes #17998
2017-07-04 12:57:05 +02:00
Odoo Translation Bot a38544f63f [I18N] Update translation terms from Transifex 2017-07-01 02:39:14 +02:00
Ronald Portier 20dc848000 [CLA] Add George Daramouskas to Therp contributors
done at #17910
2017-06-30 15:05:57 +02:00
Martin Trigaux 6b5f3c2364
[I18N] account: export source terms
Following changes at b5a8e5c864
2017-06-22 15:24:17 +02:00
Alexis de Lattre b5a8e5c864
[FIX] account: verify the partners are the same
Re-enable the constraint when reconciling entries belonging to different
The constrain was not triggerd because of the triggers on line_id.
In old API it was triggered only when explicitely writing on that field.

Convert to new API instead.

Fixes #17292
Closes #17600
2017-06-22 15:19:05 +02:00
Goffin Simon eba662336c [FIX] sale: Changing product qty to 0 in SO line
When changing the qty of a SO line to 0, the product_uos_qty, th_weight were not
updated and then it lead to some errors.

2017-06-22 13:14:11 +02:00
Leonardo Rochael Almeida 27a47eb3c3 [FIX] stock: add missing context
method check and run have a context argument that was lost

Closes #17683
2017-06-19 13:32:49 +02:00
Olivier Dony 6f8efea28c
[FIX] requirements: bump up recommended psycopg2 version
Version 2.7.1 is not yet available in most distributions,
but is now considered the recommended version.

Odoo will work just fine with any psycopg2 version >= 2.2, though.
2017-06-16 15:54:04 +02:00
Olivier Dony 89eca96476
[FIX] anonymization: correct pickle protocol and import 2017-06-15 16:36:05 +02:00
Olivier Dony 090d7a51be
[FIX] auth_oauth: correctly register token field 2017-06-15 16:17:35 +02:00
Olivier Dony d655824028
[FIX] http: force protocol when missing in URL 2017-06-15 16:01:40 +02:00
Olivier Dony eb8d919015
[FIX] sql_db: port fix from psycopg/psycopg2#459
NUL characters must not be used in query parameters,
as they will be ignored by libpq, being end-of-string

Preventing NULs avoids unexpected results from
queries. It is only necessary with psycopg2
versions before 2.7, which includes the upstream
2017-06-15 16:01:40 +02:00
Lucas Perais (lpe) 46263eb398 [FIX] stock: backport fix negative quants
Original commit (in 10.0) be9dce625c55e1b2d6039573c7035d61f762edc8

From original commit:
It is still possible to have negative and positive quants in the same
location because of returns: if you send something to the customer that
is not there and you return it, you will still be able to reserve the
returned goods to send to another client.

Before, if you would do an inventory adjustment, it would not take into
account these returned quants and their negative counterpart, which made
them difficult to get out of the system.

This fix takes them into account by creating two movements for one
inventory line: move the positive counterpart to the inventory location
before getting back from this location the same quantity.

This way, even if you have 0 as quantity on hand but you have those 2
quants, it will eliminate them. (if you are increasing the stock, part
of the process might have done it automatically already).

Also, a key of context has been added which authorizes the process described above in the case of both a tracked product and no lot_id on the stock inventory

OPW 743107
Closes #17167
2017-06-15 08:42:57 +02:00
Joren Van Onder 9f31e50ee9
[FIX] point_of_sale: don't launch Firefox before Odoo has started
When using Wi-Fi the Odoo instance on the POSBox will start after a
Wi-Fi connection is established. This takes a bit longer than when
you're using a wired connection. If Firefox gets started before you
end up with a 'Could not connect to localhost:8069' error.
2017-06-14 14:02:00 -07:00
fwi-odoo 06141c34a5 [FIX] auth_oauth: don't assume that google and facebook providers always exist
Before this commit, it was not possible to reach the general settings when one
of the "default" provider was delete.
After this commit, we don't assume anymore that there are google and facebook

2017-06-12 15:13:09 +02:00
Nicolas Lempereur ed61da6793 [FIX] base: duplicate company => duplicate partner
The name of a company is uniq. The name of a company comes from a
partner and is required.

Thus duplicating a company didn't work.

With this change, if no partner is overriding the copy, the current
partner is duplicated and associated to the new duplicated company.

closes #17532
2017-06-12 11:14:06 +02:00
xmo-odoo c50745f1a1 [FIX] base_geolocalize: geocode errors out on empty address
It's unclear whether that's a recent change or a long-standing issue,
however currently if geocode is called with an empty address string it
will reply with a 400 Bad Request, which gets raised as an exception and
forwarded to the user. That is not a great experience.

Shortcut the entire thing and just return None (= geolocation failed /
no geolocation) on trying to geolocate an empty address.


backport of 74a89bcf5c656a0a64f2a699444d39739ff7f1d2
2017-06-09 16:52:31 +02:00
Olivier Dony c6b9b69f6a
[FIX] base_import_module: allow selective access to module files
As a consequence of rev. 76cd8d2558d2a1fc11681dbc4a134ba06fb698c0,
imported modules were unable to access their resource files during

Rather than further modifying the file_open API to whitelist paths
(the whole thing needs a redesign in master), we temporarily
whitelist the temporary directory by including it in the global
addons_paths, making sure to undo it afterwards.

This gives all lower level function access the resource files via
file_open, without having to pass around whitelisted paths
through many different calls.
2017-06-07 22:46:25 +02:00
Olivier Dony d18d606a55
[FIX] tools: verify path before opening 2017-06-02 22:29:47 +02:00
Raphael Collet d0301459ae [FIX] models: no warning when using `api.constrains` on an inherited field
Fixes #17312
2017-06-01 10:15:48 +02:00
Lucas Perais (lpe) 0e1b8e5e81 [FIX] account: aged receivable partner balance
We need to ensure the account move lines we search for in case of partial reconciliation are within the period boundaries

Before this commit, when a partial reconciliation has been made long after others, the date used would have been this former move's
because of the MAX() function introduced by commit 3128e84243
Hence for one period, if that date were to be outside the period boundaries, the entire reconciliation would have been discarded, leaving the period due amount to 0, but a non-null total

This commit still uses the MAX() function, but specifies the aml date must be within the period boundaries

OPW 740793
OPW 725890

Closes #17098
2017-06-01 08:35:49 +02:00
Odoo Translation Bot 058b9cbb10 [I18N] Update translation terms from Transifex 2017-06-01 02:40:07 +02:00
Jeremy Kersten f4aa509283 [FIX] base_geolocalize: use urllib2 to make request
For an unknown reason, in some case, urllib doesn't work while with urllib2 it works.
Since we don't have the opposite case until now (work in urllib and not urllib2), we
considere that it fixes the issue.

this commit closes #14636
2017-05-30 16:47:54 +02:00
Jeremy Kersten f0c34f0df8 [FIX] web: remove bad check from jquery.blockUI
This check is wrong since jquery 1.11 is < 1.2

This commit closes #17271
2017-05-30 16:42:54 +02:00
Stefan Rijnhart (Opener) f6986c8cff [FIX] account: fix copy() of accounts having children
Don't pass default code to child accounts to avoid raising wrongly the constraint: duplicate key value violates unique constraint "account_account_code_company_uniq"  

Courtesy of Stefan Rijnhart (Opener). Was PR #16804
2017-05-30 14:12:47 +02:00
Olivier Dony 2fc7eed0d8
[REM] maintenance symlink added by previous commit
Symlink introduced by mistake at f38d96113b
2017-05-30 13:46:16 +02:00
jesusVMayor f38d96113b [CLA] JesusVMayor: add new email address in individual cla 2017-05-30 11:54:28 +02:00
jesusVMayor ebda8caa97 [FIX] mrp: Use the route on the production if set to create the previous moves
Description of the issue/feature this PR addresses:
The production routing is ignored when creating previous movements

Current behavior before PR:
When you create a production that does not have a routing established in the BOM, and you set a route manually, it is ignored when creating the previous movements
2017-05-30 11:53:03 +02:00
Yenthe V.G 140113346d [FIX] CRM: do not copy meetings attendees
When duplicating a res.partner, the new partner was added in the list of
attendees of previous meeting.

Fixes #17285
Closes #17286
2017-05-30 11:22:22 +02:00
eLBati d6cf41b67b [FIX] account_payment: The payment line name must be unique per company
Closes #16366

Steps to reproduce the problem:
 - create 2 company
 - create 2 different sequences 'payment line', one for company
 - create a payment order for company A and insert a line
 - create a payment order for company B and insert a line
Get SQL error saying The payment line name must be unique
2017-05-30 10:56:49 +02:00
Martin Trigaux e40cad3560
[FIX] hw_scanner: iterate on empty list
Avoid error None is not iterable when no device is connected
2017-05-24 17:27:52 +02:00
Martin Trigaux 7b0440d3f8
[FIX] hw_scanner: avoid flooding logs
When no devices are connected, avoid errors
No such file or directory: '/dev/input/by-id/'
2017-05-24 17:02:28 +02:00
Martin Trigaux 722017ca83
[FIX] hw_posbox_homepage: do not display not working links
The '/point_of_sale/display' controller is added in the hw_screen module.
This module is not loaded if the init scripts are not modified.
This means that updating a posbox with the internal update feature will not work.

This adds the link only in hw_screen and display an information message for old
2017-05-16 18:14:45 +02:00
Jerome Boisvert-Chouinard 43be0c1ab2 [CLA] Update Savoir-faire Linux CLA
Add new collaborators, remove old ones

Done at #16939
2017-05-16 18:10:03 +02:00
Olivier Dony e0014387c5
[FIX] report: always close pdf files after merge
If an exception during the merges (such as a file descriptor overrun), we
would otherwise depend on the next garbage collection to close the
files. But the next GC may never come.

For example if we ran out of OS file descriptors during merge, all future
requests will crash for the same reason, and the process will never recover
because the GC will never run.

Much easier to explicitly close the files all the time.
2017-05-11 09:01:12 +02:00
Olivier Dony 3978713996
[FIX] mass-mailing: unsubscribe even when archived
A record (Partner/Lead) that was archived can still be unsubscribed.
2017-05-11 09:00:44 +02:00
Kevin Graveman 180c769ab4 [FIX] hr_timesheet_invoice: Typo in html element name tbody
Closes #16827
2017-05-08 13:42:08 +02:00
Olivier Dony 58114e4954
[FIX] tools: always preload PIL with basic formats
Ensures that only the desired list of images formats are made
available via PIL: BMP, GIF, PNG, JPEG, TIFF and PPM.
2017-05-05 16:56:31 +02:00
Jérome Maes e3081dbb7e [FIX] ir_cron: log message in the right place
Log message in except clause to force displaying
traceback in logger exception.

Courtesy of chs
2017-05-05 13:57:32 +02:00
Odoo Translation Bot 0b4d01f1d3 [I18N] Update translation terms from Transifex 2017-05-01 02:40:51 +02:00
Dainius Kaniava 4f9ac6c093 [FIX] web: properly transfer javascript options
Fix options not being passed from view declaration to JS
frontend function. If passing option 'no_create': True,
"Create" button was still visible.
2017-04-28 21:13:28 +02:00
Dainius Kaniava 43cdec0517 [CLA]
Signed corporate contributor license.
2017-04-28 21:13:09 +02:00
Richard Mathot eefd0de541
[FIX] safer company name as email sender
In some email templates of Odoo, the From: field is generated from the
company name. If this name contains an "&" character, this will lead in
an escaping eg; &amp;

Sender header will look like:
From: Machin &amp; Brol <>

This case is not well handled by email providers like Gmail, that
splits the line on the ";" and considers there are 2 senders, and then
discards the email.

We then fix the templates, waiting for a better fix in master.
2017-04-28 10:19:06 +02:00
Nicolas Martinelli 814d903109 [FIX] purchase: zero line
To reproduce, see issue #16611.

In the mentioned use case, a line with a quantity of zero is created,
which generates a traceback at invoice validation.

Fixes #16611
2017-04-28 09:28:14 +02:00
Christophe Simonis 2a65b8156d [FIX] base: run defined modifiers tests 2017-04-26 19:36:10 +02:00
Olivier Colson 863f46ec71 [FIX] resource: conditions on id
Don't check ids with "id is None" statements, as it won't match if id is False. This caused some bugs with MRP when confirming a MO with no calendar defined, if mrp_operations was installed.
2017-04-25 11:49:01 +02:00
Nicolas Lempereur 716ceede16 [FIX] web_enterprise: kanban_state_selection ie
On IE (from 9.0 up to at least IE EDGE 14) we have this behavior
for the method serializeToString of XMLSerializer:

> (new XMLSerializer()).serializeToString($('<b>"</b>')[0])
  '<b xmlns="">"</b>'
> (new XMLSerializer()).serializeToString($('<b>"</b>')[0].firstChild)

Whilst browser such as chromium or firefox have:

> (new XMLSerializer()).serializeToString($('<b>"</b>')[0])
  '<b xmlns="">"</b>'
> (new XMLSerializer()).serializeToString($('<b>"</b>')[0].firstChild)

Hence for IE9 and over, if in a `<t t-extend/>` a `t-jquery`
sub-directive (without `t-operation`) is available, we can have
broken javascript if a " is transformed into an &quot; at a unfortunate

This commit favour over XMLSerializer serializeToString to
avoid the possibility of this issue when a text node is processed.

2017-04-20 17:08:17 +02:00
Goffin Simon 0ae30c5997 [FIX] base_partner_merge: deduplicate contacts in multi company
When deduplicating contacts, the function _process_query doesn't use
the orm to fetch the partners to merge according to the criteria.
So there were some access error in multi company when trying to merge
contacts from a not allowed company.

Now a check is made with the orm before merging the contacts.

2017-04-19 15:45:38 +02:00
Odoo Translation Bot 5d5bd2c404 [I18N] Update translation terms from Transifex 2017-04-16 02:54:21 +02:00
Ronald Portier e479828025
[FIX] account_voucher: add missing context
Fixes #16420
Closes #16421
2017-04-14 15:11:30 +02:00
SEINLET Nicolas ded636eae1 [FIX] ir.rule: use rules at most once (#15843)
When a user belongs to multiple groups, and an ir.rule is applicable for some of
them, the rule is added multiple times in the domain. Just do it once. This
makes the query shorter and easier to debug.
2017-04-11 09:27:58 +02:00
Odoo Translation Bot 8f7791fcee [I18N] Update translation terms from Transifex 2017-04-09 02:54:13 +02:00
Raphael Collet 6595cfdf0c [FIX] expression: avoid useless query when searching on x2many sub-field
Searching on a domain like `[('m2m.sub', operator, value)]` currently does
something like:

    right_ids =[('sub', operator, value)]).ids
    table_ids =[('m2m', 'in', right_ids)]).ids

and reduces the domain triple to `('id', 'in', table_ids)`.

The domain triple can actually be reduced to `('m2m', 'in', right_ids)`.  With
this reduction, the search on the field `m2m` will be done as part of the main
query.  And this will also enable the optimization of the former fix!
2017-04-06 16:46:46 +02:00
Raphael Collet 3c2065c89d [FIX] expression: use sub-select when searching on many2many field
Avoid pathological performance issue caused by injecting ids retrieved with
another query.

Consider a domain like `[('m2m', 'in', ids)]` on a many2many field.  The
current implementation will perform the subquery:

    SELECT m2m_id1 FROM m2m_table WHERE m2m_id2 IN (ids)

and inject its result into the main query as:

    SELECT id FROM ... WHERE id IN (result_ids)

The latter may be very slow if `result_ids` is a huge list of ids.

The fix injects the first query into the main query as:

    SELECT id FROM ... WHERE id IN (
        SELECT m2m_id1 FROM m2m_table WHERE m2m_id2 IN (ids)

As a result, the database will typically JOIN both tables, and avoid generating
the whole list from the subquery.
2017-04-06 15:59:50 +02:00
Nicolas Martinelli 3128e84243 [FIX] account: aged receivable
- Create an invoice of 10000 at date 2016-11-30, due 2017-02-28
- Make a partial payment of 1500 at date 2016-11-09
- Make a partial payment of 1000 at date 2016-11-30
- Make a partial payment of 2000 at date 2017-01-30

At current date (e.g. 2017-04-04), run the Aged Partner Balance. 5500 is
still due, but set to the +120 days period instead of 30-60.

2017-04-05 11:50:03 +02:00
Jerther 33076f7394 [FIX] stock: set AML date same as move date
Based on v9 fix: f6b6eb906de780714b97b7ca15784d319300548b

Closes #16217
2017-04-05 11:31:19 +02:00
Jerther 52c58fd218 [CLA] backport signature to 8.0
Done at #16240
2017-04-05 10:48:35 +02:00
Denis Ledoux 759492167a [FIX] web: textarea of editable list above everything
When expanding a textarea of an editable list,
by putting a long description for instnace,
with multiple lines,
some elements were put above the textarea,
making the content partially hidden

Closes #16083
2017-04-03 17:23:58 +02:00
Cédric Pigeon a1aada9f76 [FIX] stock: new cursor for orderpoint
On large databases, the orderpoint calculation can fail due to the huge
cache used diring the process.

Instead of using one cursor for the transaction, we create a new cursor
every 100 orderpoints, to limit the cache size and speed up the

Closes #16158
2017-04-03 10:13:03 +02:00
Odoo Translation Bot 794c9f5118 [I18N] Update translation terms from Transifex 2017-04-02 02:56:31 +02:00
Odoo Translation Bot fb130ec5a4 [I18N] Update translation terms from Transifex 2017-04-01 02:56:03 +02:00
Jeremy Kersten d7c765f62f [FIX] openerp: fix traceback when no field in constrains
In case you don't have 'field', the first 'if' will raise a warning.
In this case the second 'if' will crash with:
    "'NoneType' object has no attribute 'store'"

This commit closes #16146
Courtesy of @kmetaxas
2017-03-31 11:52:31 +02:00
Joren Van Onder 7f260ab517
[FIX] point_of_sale: round product.product price analogous to backend
A rounding issue was resolved in
ee33593351. It however introduced
another issue.

Rounding functions (both round_precision in web.utils and float_round
in are not perfect due to IEEE floating point
limitations. However both should produce the same output given the
same input. An example: rounding 13.95 to 2 digits yields

The additional rounding introduced in
ee33593351 on price lead to issues in
certain cases. One example occurs when applying a 90% discount on a
product costing 13.95. The POS will do the following:

> 13.950000000000001 * 0.09999999999999998
> round_pr(1.3949999999999998, .01)

whereas the backend will do (as eg. in sale.order.line)

>>> 13.95 * 0.09999999999999998
>>> round(1.3949999999999996, 2)

Causing a difference of 0.01.

The core of the issue is that in the backend 13.95 is rounded
differently. When a Float gets written to the database doesn't just
pass through the regular float_round. It passes through
_symbol_set_float which truncates characters exceeding the precision.

This implements the same approach in the POS.

Closes #16119
2017-03-29 10:45:43 +02:00
Jairo Llopis 5fc3979262 [FIX] web: Avoid double-fetching many2many tags in list views
Before this patch, #15920 was happening. The problem was that calling `render_cell` produced a call to [`record.set( + '__display', value)`][1], which triggers the `change` event, which called `render_record` the first time, which called again `render_cell` and produced the 2nd data fetch.

After this patch, `render_record` is only called if there is some place where to put the result, which does not happen in those situations.

There is still the problem that there is one call to name_get for each many2many widget found in a list view (instead of one per full view rendering), but at least they are not two calls!

[1]: 5d17749ff4/addons/web/static/src/js/view_list.js (L1125)
2017-03-28 15:12:56 +02:00
Wolfgang Taferner 8e7f34c323 [FIX] web: domains might be undefined, so we check
Introduced recently in b2d66d0c14

Closes #16068
2017-03-28 15:02:47 +02:00
Nicolas Martinelli 59a6397867 [FIX] stock: sort moves to do
- Activate the MTO route on SO lines
- Activate the route "Buy" on a Product A without quantity on hand, add
  a supplier
- Create a SO with 2 lines. First line is Product A, second line is
  Product A with route MTO
- Confirm the SO, run the procurement if necessary
- Confirm the PO, receive the products
- On the picking generated from the SO, you should have one line
  "Waiting Availability" (the line not MTO) and one line "Available"
  (the line MTO).
- Click "Recheck Availability". One reserved quant from line 2 is moved
  to line 1.

A trick is to assign first the move with ancestors, so we don't "steal"
the reservation on the other move.

Fixes #15950
2017-03-28 13:30:29 +02:00
Martin Trigaux e25dad4fed
[I18N] point_of_sale: missing source terms reference 2017-03-28 12:49:01 +02:00
Odoo Translation Bot 7aea6c9ad4 [I18N] Update translation terms from Transifex 2017-03-26 03:09:57 +02:00
Christophe Simonis 08213e831e [REM] useless empty sql file wrongly commited by 0b529cf3af 2017-03-24 17:03:11 +01:00
Christophe Simonis 5847de4aaf [FIX] web_calendar: remove attendee icons from event title 2017-03-24 15:12:39 +01:00
qsm-odoo b2d66d0c14 [FIX] web: properly combine domains with "OR" in CompoundDomain
The CompoundDomain class allows to regroup several domains with an
implicit "AND"; these domains can be either a string, an array or
another CompoundDomain. A CompoundDomain can then be converted to
an array thanks to pyeval.js.
For example, if a CompoundDomain is initialized with `[A, B]` and
`[C]`, the array conversion gave `[A, B, C]` (which is expected).

However, a hackish method was used with CompoundDomain. If one of the
domain of a CompoundDomain is equal to `["|"]` (an array with the
OR operator in it), the two next subdomains were supposed to be joined
by a OR operator. Indeed, for the case of a CompoundDomain initialized
with `["|"]`, `[A]` and `[B]`, the array conversion gave `["|", A, B]`
(which is expected). However, if initialized with `["|"]`, `[A, B]` and
`[C]`, the array conversion gave `["|", A, B, C]` which is very wrong
as what was expected is `["|", "&", A, B, C]`. The problem is that the
given `[A, B]` contains implicit "&" operators.

This commit fixes the problem by normalizing only if the CompoundDomain
starts with a ["|"] or ["!"] array which is the standard odoo case.
This allows to limit breaking custom code (e.g we want a simple "AND"
of `[A]` and `[B]` to stay `[A, B]`, not become `["&", A, B]`).

The commit also modifies a test so that it checks that the problem is
properly solved.
2017-03-24 15:03:54 +01:00
Fabien Meghazi 874c7aa2dd [FIX] web/mail: many2many_tags_email widget returns erratic values (opw: 693067)
The many2many_tags_email's internal value change logic fails to process
all its values. It is not concurrency proof either.

The internal value change logic is now replaced by a mutex and deferreds
are used for the partner's form view popups in order to allow concurrent
2017-03-24 11:28:31 +01:00
Goffin Simon 0b529cf3af [FIX] http: setup_lang in Safari
Fine tuning of this commit: 5761b9a388

2017-03-22 17:03:23 +01:00
Goffin Simon 5761b9a388 [FIX] http: setup_lang in Safari
When not logged in the webstie on Safari and clicking on "Have a Question? Chat with us",
it creates a from get_mail_channel and it also creates a translation.
But with Safari, the accept_languages is set with the value 'fr-fr', and this value was set
in the context as the lang='fr_fr'. So when the translation was created, a bad insert query was
raised in sql because the lang didn't exist in the res.lang table. When a translation is created,
the function _get_languages checked that the language is in the table.
So it was impossible to use the chatter when the user is not logged.

NB: interseting functions to see:

-setup_lang in odoo/
-_dispatch in addons/website/models/
-get_mail_channel in addons/im_livechat/models/

2017-03-21 17:02:59 +01:00
Lucas Perais 1600216c1d [ADD] hw_screen: implement support for customer facing displays (#15303)
This adds the hw_screen module which is responsible for receiving
rendered HTML from a POS client and sending it to a running Chromium
browser. This is done by sending Remote Debugging Protocol messages over
a WebSocket provided by Chromium. This allows hw_screen to evaluate
arbitrary JS. This is used to seamlessly (without flickering) update the

This also includes changes to the POSBox. X, Chromium and some
miscellaneous other programs were added. Functionality was added that
automatically displays a fullscreen, UI-less Chromium browser when the
POSBox starts up. This is accomplished through, which
gets executed only when a display is detected. After the browser starts,
it will display a specific screen until it receives the first order update
from a POS client.
Creates a public controller to be able to display the interface on an external
device not connected to the posbox (e.g. tablet)

Courtesy of JOV, LPE, ODO and MAT
2017-03-21 11:50:12 +01:00
Odoo Translation Bot a09e4aa7aa [I18N] Update translation terms from Transifex 2017-03-19 02:55:34 +01:00
Martin Trigaux 8459860b02
[IMP] hw_escpos: more fault tolerant printer detection
In some cases, the description fails (unknow printer, udev issues,...) and while
the printer works fine, the description fails.

This is a cherry pick of 994d45f4 to 8.0 (as the posbox is built on top of it)
2017-03-16 13:37:20 +01:00
Christophe Simonis 7a15e52cea [FIX] base: check ir.ui.view recursion 2017-03-13 13:27:53 +01:00
Odoo Translation Bot 70cac4d474 [I18N] Update translation terms from Transifex 2017-03-12 02:54:51 +01:00
Christophe Simonis f9fa39a8c0 [FIX] board: correctly handle invalid actions
This may happen when a dashboard contain references to deleted actions.
2017-03-08 16:31:03 +01:00
Odoo Translation Bot 1246680756 [I18N] Update translation terms from Transifex 2017-03-05 02:55:35 +01:00
Denis Ledoux df5f0f2570 [FIX] sale: The order lines weight must change when the quantity change
This is a regression of
and a following of

2017-03-03 10:57:46 +01:00
Christophe Simonis 2b8605c6e2 [FIX] google_drive: show icon via css instead of injecting html 2017-03-01 18:39:34 +01:00
Odoo Translation Bot 775022e01f [I18N] Update translation terms from Transifex 2017-03-01 02:54:50 +01:00
Martin Trigaux 18fd9fe0a8
[FIX] server: avoid cron thread death
In case an exception (programming, out of memory or any other unexpected
failure), the cron_thread would crash and not recover until server restart.

Issue #15666 was an example of failure.

Courtesy of Nils Hamerlinck
2017-02-28 18:00:50 +01:00
Martin Trigaux 69e91f6a7c
[FIX] base: recover thread from down postgresql
If postgresql database is temporarly down, the cron thread may fail.

The cursor creation fails when trying to connect to the server which leads to
the cron thread to die (uncatched exception) and will not restart when postgres
is back.

Fixes #15666
2017-02-28 18:00:00 +01:00
Isaac Gallart Bochons 48cebafdaf
[FIX] mrp: call message_post separately
message_post accepts only one id

CLA signature for igallart done at #15625

Closes #15625
2017-02-27 12:26:42 +01:00
Odoo Translation Bot 333e7d1f9e [I18N] Update translation terms from Transifex 2017-02-26 02:55:24 +01:00
Levent Karakaş a6c2210770 [FIX] hr_payroll: sum correctly category code
If amount = 1 and the category amount = -1, the sum is 0 and the returned
value was amount instead of zero (`0 or amount`)

Avoid this evalution error by splitting on multiple lines

Closes #15470
2017-02-20 16:19:12 +01:00
Odoo Translation Bot 0616016b47 [I18N] Update translation terms from Transifex 2017-02-19 02:54:42 +01:00
Adrien Peiffer (ACSONE) a587fde991
[FIX] web_calendar: translation for title on calendar form
The previous code (`parent.field_widget.string`) was returning the untranslated
action name (and why use parent anyway?)

Use the action name instead.

Closes #15207
2017-02-17 16:45:05 +01:00
Denis Ledoux 5de7500a41 [FIX] sale: stuck workflow in invoice before delivery
With a sale order with:
- a stockable product
- the `Create Invoice` policy set to `Before Delivery`

After the quotation validation and the invoice validation,
if the user:
 - cancelled the invoice,
 - then validated it again,
 - then hit `ignore exception` on the sale order
 - then registered the payment on the invoice

The picking of the sale order was not created automatically,
and the sale order was therefore stuck.

Actually, it was just a write trigger that was missing:
The condition for the sale order workflow to go to the next state
is that the `invoiced` boolean is set to True.

It was, when the invoice of the sale order was paid
(after having registered the payment), but since
this is a computed field, not stored, no write operation
was actually performed on the sale order, and the workflow
wasn't "notified" that a change occured for the `invoiced` boolean.

A simple write on the sale order (e.g. in its notes) would
have unblock the situation, though.

This trigger ensures the worfklow to be notified when
the invoice of the sale order is paid, and therefore
when the `invoiced` boolean is set to `True`.

2017-02-16 11:20:20 +01:00
Odoo Translation Bot 78be4cd1de [I18N] Update translation terms from Transifex 2017-02-12 02:53:52 +01:00
mge-odoo 8cb13c4e4c [FIX] openerp: quote read_group SQL query for case sensitive tables
In SQL, if there is no quote around the table/field, the result will
be returned as case insensitive.

This was causing a bug in the kanban view which was not displaying
the records because x_AA_count was named x_aa_count.
2017-02-08 15:55:47 +01:00
hurrinico 51cf2852d8 [CLA] signature for hurrinico
Done at #15340
2017-02-07 13:58:21 +01:00
Odoo Translation Bot 8ce1e51340 [I18N] Update translation terms from Transifex 2017-02-05 02:54:43 +01:00
Nicolas Martinelli 174d3fdd66 [FIX] account: bank account on invoice
In case of a supplier invoice or a customer refund, it is not possible
to set a bank account if the partner is not the commercial partner.

2017-02-03 10:24:01 +01:00
Joren Van Onder c0817016d2 [FIX] point_of_sale: fix country selection on touch events
The POS uses FastClick to circumvent the 300ms touch delay implemented
by browsers before a click event is fired. (Although this has since been
removed, probably we can get rid of this in the POS at some point as
well [1]).

The way FastClick works is simple: immediately fire a synthetic event
and block the one fired by the browser 300ms later.

Recently, browsers have started to only trust native events to trigger
default actions [2][3]. Chrome in particular has started not trusting
synthetic events since v53.

FastClick provides a solution for this with the needsclick class. It
will not interfere with events triggered on elements with this class.


Fixes #14886
2017-02-02 09:46:48 -08:00
Nicolas Lempereur e3232c85b9 [FIX] mrp_byproduct: remove wrong move_dest_id link
A byproduct is a produced when producing another product (the targetted

A move can be linked to another move. eg: we could have a manufacturing
order of 3 units linked to a move of a delivery order of these 3 units.

If we produce 2 units, the manufacturing order is split in 2 units and
1 units, and the delivery order is split similarily because of the link

1. [T manufacturing move split] -> [T delivery move split]

(T is the targetted product, B is the byproduct)

But in 8c307d7b1 a move_dest_id of a byproduct was linked to the targetted
product delivery move, thus in some situation the move of the delivery
order of the byproduct would erroneously be split 2 times instead of one.

1. [B manufacturing move split] -> [T delivery move split]
2. [T manufacturing move split] -> [T delivery move split]

This could also be the source of other issue, and since the byproduct
and targetted product are different, the link should anyway not be done.


note: this change is already in 10.0 (it is inside mrp refactoring 2ddc35a53)
2017-02-01 15:33:53 +01:00
Nicolas Martinelli e0222de3c2 [FIX] stock: update qty on hand
When the quantity on hand is updated from the wizard, it may result in
completely inconsistent results.

This happens for example in the following case:
- 10 Units in Stock/WH
- 18 Units in Stock/WH/Shelf 1

The "New Quantity on Hand" suggests a theoretical quantity by taking
into account the location and its sub-locations. It the example, that
would mean 28 Units in location 'Stock/WH'.

However, the `_get_quants` method of the `stock.inventory.line` model
doesn't take into account the children locations. Therefore, the
theoretical quantity would be 10 Units in location 'Stock/WH'.

This inconsistency confuses the user, and the new quantity added might
introduce unexpected results.

2017-02-01 13:07:06 +01:00
Hpar c5bda97494 [FIX] website_sale: fix promise website.ready
This closes #15266 and closes #15267
2017-01-30 11:50:07 +01:00
Odoo Translation Bot 66e2ddd670 [I18N] Update translation terms from Transifex 2017-01-29 02:55:31 +01:00
Olivier Dony 492d8ce4d0
[FIX] config: correctly bootstrap data_dir
Complements the patch in 15583a4813
in order to properly bootstrap a writeable data_dir when it is
(partially) nonexistant.
Depending on the startup parameters the data_dir might otherwise
have ended up read-only, preventing the creation of its necessary
components (session store, file store). Only the `addons` directory
of the data_dir needs to be read-only by default.
2017-01-28 00:53:20 +01:00
Olivier Dony f431cee99a
[FIX] hw_escpos: increase timeout for slow matrix printers
Some printers (e.g. matrix/impact printers) may have a hard time
keeping up with the text output, and may trigger timeout errors
because of this, even though they would otherwise produce a correct

Increasing the default timeout to 5s (from the default 1s) should
take care of most slow printers out there.
2017-01-27 14:42:36 +01:00
Olivier Dony af381bf7ec
[I18N] base: update PO template for 15583a4 2017-01-27 14:40:34 +01:00
Olivier Dony 15583a4813
[FIX] module: allow disabling 1-click install
As discussed on issue #15225, it should be possible for system administrators
to disable the 1-click installation system.
The plan is to disable the feature by default, but make it relatively easy
to turn on when it is explicitly desired.

1. At the moment we cannot guarantee that all Apps published on the Odoo Apps
   Store are safe. And it is a security risk to let end-users deploy Python
   code on their Odoo servers without requiring any review/deployment by a
   competent system administrator.
   We will work on improving the validation process of the Store, but this
   will require time, and won't probably be a 100% safe process in any case.
2. The one-click install feature is however really useful to help
   non-technical users install Apps, as long as the feature has been
   explicitly allowed by the system administrator. This is a common feature
   in other software suites as well. So we'd like to keep it as an opt-in
3. Administrators of multi-tenant servers, cloud hosting services, etc.
   understandably expect to be able to turn off the feature for
   security/control reasons.
4. By turning off the feature by default, but still exposing it in the UI,
   we keep it *discoverable* for users. The error message should be
   helpful to direct users to their sysadmins.
5. By using the permissions of the download folder as a flag for turning
   off the feature, we avoid introducing an extra server parameter.
   The folder is still created (read-only) by default, for the sole purpose
   of making it easier to locate.

Fixes #15225
2017-01-27 13:00:42 +01:00
Nicolas Lempereur cfcc37bca5 [FIX] expression: leaf in o2m with m2o inherits'd field
The reverse field of a one2many could be originating from an
inherits'd field, this was solved in some instance with f5e5bbda.

The issue could still happen in some instances when doing a comparison

- the one2many field to a False value,
- the one2many with a negative operator and an empty set to negate,

With this change, the ORM is used in such a situation.

closes #15234
2017-01-26 16:47:52 +01:00
Adrien Peiffer (ACSONE) 4232a08164 [FIX] mass_mailing: ondelete cascade on transient
The test wizard will be dropped eventually but it is not possible to delete
the mass-mailing before the transient is cleaned too due to the required field.
To make it faster, add a ondelete cascade on the field.

Closes #15217
2017-01-26 10:29:04 +01:00
Jairo Llopis 9d535ee2c7
[FIX] mail: check all parameters are set
Since `model` is not a required field, the invalidation may crash when one is
It should never happen than a mail.message has a res_id but not a model as it
makes no business sence.
However it is possible than a message temporarly misses one of the two, e.g:

self.model = False
self.res_id = False
will trigger two writes and will crash at the first.

Above code should probably be refactored to have only one write but this commit
fixes a regression introduced at 8f1c2bfc (the above code did not crash).

Closes #15199
2017-01-24 16:56:33 +01:00
sergio 28ec23e828
[FIX] account: fallback on missing template
template contains the mail template to render and is the result of the call to
`self.env.ref('account.email_template_edi_invoice', False)`

If the template does not exists (deleted), template is `None` and the action
rendering crashes.
While it is not recommended to delete master data, it is still possible to use
custom mail templates.

Closes #15204
2017-01-24 16:50:55 +01:00
sergio 333f012e25
[CLA] signature for sergiocorato
Done at #15204
2017-01-24 16:50:39 +01:00
Odoo Translation Bot c9c9c1a755 [I18N] fetch missing terms in previous pull
Due to --the minimum-perc rule on tx
2017-01-23 15:58:56 +01:00
Odoo Translation Bot 91f11f8bd6 [I18N] Update translation terms from Transifex 2017-01-22 03:25:31 +01:00
Odoo Translation Bot c150838bb5 [I18N] Update translation terms from Transifex 2017-01-19 17:28:33 +01:00
Martin Trigaux 254afc6c9d
[FIX] tools: colorize image with pillow 4.0
Introduced by python-pillow/Pillow@c3fe5d43 and integrated into pillow 4.0
The size of the image is ignored and must be set using an image or a mask.

This patch is retrocompatible with the previous versions as the changed code was
in the box size computation. With this patch a 4 points box size is given so the
modified code is not executed.

Fixes #14927
2017-01-19 10:36:21 +01:00
Jiri Zatloukal da3e6e36e6 [CLA] signature for jirizatloukal
Done at #15117
2017-01-18 15:29:50 +01:00
Christophe Simonis 94410c83e1 [FIX] calendar: also reset `res_id` when sending mail to attendees 2017-01-17 14:48:35 +01:00
Christophe Simonis 8f1c2bfc91 [FIX] mail: force mail.message linked record invalidation 2017-01-17 14:14:16 +01:00
Nicolas Martinelli bbbf317fd3 [FIX] l10n_be: VAT Declaration
The VAT declaration produces an error when uploaded to the official
website. Although the structure is correct, the "Representative" and the
"Declarant" contain the same information, which is not consistent.

2017-01-17 11:51:02 +01:00
qdp-odoo 1e8d9e1c64 [REV] account: revert fix made on ea1eca2.
When an account.move.reconcile was unlinked, the reconcile_ref on the related move lines was no longer cleared.
2017-01-17 11:21:17 +01:00
Pedro M. Baeza ea1eca22d3 [FIX] account: Don't trigger twice the reconcile_ref compute method. Was PR #14892
Both store triggers on reconcile_ref are triggered by the same condition,
but seen on 2 tables different, but they always happen together, so no
need for both.

On regular Odoo, the only problem is the performance: the write operation
is performed twice, but on a system with connector or other parallelization
technology, this provokes lot of concurrency problems.
2017-01-17 10:48:56 +01:00
Odoo Translation Bot 082495240f [I18N] Update translation terms from Transifex 2017-01-15 02:55:40 +01:00
Leandro Di Pasquale 0a60cd6dc6 [CLA] Business Analytics Consulting Group S.A. de C.V. 2017-01-13 16:09:12 +01:00
Denis Ledoux 0a5c5c6c9d [FIX] calendar: final date recomputation trigger
With the previous condition, the `final_date`
was not recomputed when the number of repetitions
(count) was changed alone, without  changing `recurrency`
(nor with other fields, such as start/stop date)

This revision makes sure to recompute the `final_date` when
there is a change in the number of repetitions without
changing the `recurrency` fields, when the event is recurrency
and the end type is `count`

2017-01-12 18:30:56 +01:00
Nicolas Lempereur bf38fe4c5f [FIX] base: edge case of search on >/< and 0
The double inversion introduced by 6e063188 is done to catch default 0

For example '>= -3' is transformed in "NOT what is found by < -3".

There was an issue with '> 0' and '< 0' since in these instance 0 don't
match and the inversion must not be done.

2017-01-12 15:15:51 +01:00
Raphael Collet a1be7ca551 [FIX] mail, purchase: avoid full cache invalidation when possible (#14934)
* [FIX] mail: avoid full cache invalidation when possible

* [FIX] purchase: avoid full cache invalidation when possible
2017-01-12 11:31:58 +01:00
Jeremy Kersten 6b87284f3f [FIX] website_sale: fix amount format
This commit fix wrong grouping when we format price via price_to_str.
where '[3,0]' was interpreted as string and not array in intersperse.

Thousand separator was duplicated ",,,320.00" e.g.

This commit fix also product page where amount for variant was formatted
js side before that RPC translation (website.ready() defered) was resolved.

'/website/translations' is only called when user have rights to edit page.
So a standard user didn't call it and l10n is not initialized.

After an update, now we format the amount with the l10n value.
To stay retro compatible, if l10n is not initialized (value = [])
we use [] for grouping as 'fallback value'.

To fix decimal precision you need to update the template product_price.
To fix the grouping, you need to update the website.layout
To fix the decimal separator, (and previous fix), you just need to pull the JS

This commit is related to #1103, #11553, #14772, #14874, ...
And fix the previous fix odoo/odoo@1f10ef8055

It should also fix (by side-effect) the translation JS for user without editor

Already fixed in V9 - don't forward this commit...
2017-01-10 22:50:19 +01:00
boogerlad a5dc060afb [FIX] calendar: attendee of a private event should be able to see the content
Someone invited to an event should be able to see all details, instead of "busy"

This commit closes #12935
2017-01-10 22:39:14 +01:00
boogerlad 6c0bf660b1 [CLA] Signature for 2017-01-10 22:39:06 +01:00
Odoo Translation Bot 62817a80d3 [I18N] Update translation terms from Transifex 2017-01-08 02:56:42 +01:00
Luc De Meyer 75692bc988 Update (#14891)
[FIX] account: fixed onchange_chart_id that was failing on last and first day of the year.

Courtesy of Noviat
2017-01-05 10:25:39 +01:00
Odoo Translation Bot cc2af89454 [I188888888N] Update translation terms from Transifex 2017-01-04 14:54:07 +01:00
Goffin Simon 0ef0e141c0 [FIX] web_graph: Adding to dashboard a customized view
When reading customized views from our dashbord in reporting,
the measures selected in the customized views were not taken into
account. It happened when the customized view was build from a report.

2017-01-04 10:28:33 +01:00
Odoo Translation Bot 2b8fcfc08b [I18N] Update translation terms from Transifex 2017-01-01 02:58:08 +01:00
Odoo Translation Bot 534eab0c3b [I18N] Update translation terms from Transifex 2016-12-25 02:57:37 +01:00
Denis Ledoux 798a10082c [FIX] google_calendar: fix allday timezone synchronisation
When syncrhonizing an allday event while being in a negative timezone
e.g. Dec 22 in US/Eastner (-5:00)

The event was synchronized the day before
e.g. Dec 21

because `context_timestamp` of `start date-time-` was used,
and then the time was removed to have the date of the all day event
e.g. 2016-12-22 00:00:00 converted to 2016-12-21 19:00:00 and then the time
removed 2016-12-21.

Instead of using the `start_datetime`, we now use the start
date which stores only the date, without timezone information
(and this is what you would like in the case of an all day event).

2016-12-22 14:48:11 +01:00
Denis Ledoux 09066fbbd5 [FIX] calendar: fix allday onchange user tz
While choosing a start/stop datetime in a timezone hour
were the UTC value is within the next day,
Start time Dec 22 20:00 in US/Eastner (UTC -5:00)
Therefore, start time Dec 23 01:00 in UTC
Checking the "all day" box made the start time set to
Dec 23 instead of what the user expected, Dec 22.

This is because the onchange simply took the UTC datetime
(Dec 23 01:00) from which it removed the time (Dec 23).

This revision make sure to remove the time from the
user timezoned datetime instead, so the day set
remain the same day than what was set in the datetime.

2016-12-22 11:23:39 +01:00
rigo1985 c0889a0763 [CLA] signature for rigo1985
Signed at #14553
2016-12-22 10:51:06 +01:00
jclopezar f96a872047 [CLA] signature for jclopezar
Signed at #14707
2016-12-22 10:50:15 +01:00
Goffin Simon a3ee4d1914 [FIX] account: Printing Account Tax
Steps to reproduce:

-open Accounting / Configuration / Taxes / Tax Codes
-open any Tax Code
-press Print / Account Tax

Bug: QWebException: "chart_tax_id" while evaluating
"get_lines(data['form']['based_on'], data['form']['company_id'], data['form']['chart_tax_id'])"

Closes: #8923

2016-12-21 10:05:12 +01:00
Jeremy Kersten e8019a23c2 [FIX] calendar: fix end recurrency date for yearly event
Event with interval > 1 was not correctly computed.
This patch doesn't fix existing event but only the new one created after this fix.

Event 1/1/2015 repeat every 3 months, 6 times
Before this commit : end recurrency = 1/1/2015 + 6 * 1 month
After this commit:   end recurrency = 1/1/2015 + 6 * 1 month * 3 (interval)

This commit closes #14332
2016-12-20 21:12:19 +01:00
Jeremy Kersten 659d68add5 [FIX] calendar: fix retrocompatibility between datetime module
Fix datetime where the return of rrule is sometime a list,
sometime a set according to the datetime version.
list(set) == list(list) and works in both cases.

Similar fix: #9f09c62
2016-12-20 21:12:10 +01:00
Alexis de Lattre 4203360528 [FIX] product: correct forwardport
Introduced at f772303 during forward port
2016-12-20 13:24:16 +01:00
Jeremy Kersten f36aba31e5 [FIX] website_Sale_options: fix regexp to redirect after the add to cart.
Previous regexp was done on the complete url and not the path name.
In the case of a domain with tld .shop, it didn't work.

This commit closes #14756
2016-12-20 10:32:04 +01:00
chafique-delli 352ab7c51b
[FIX] account: add missing context
Closes #10691
2016-12-19 18:31:00 +01:00
Damien Bouvy de45880eb3
[FIX] payment_paypal: html-decode PDT responses
Courtesy of DynApps
2016-12-19 18:15:49 +01:00
javierjcf 79975f008e
[FIX] mrp: returns a list of ids, no a list of lists
The super returns a list. Should not use append.
Introduced at 1ab007a

Closes #11708
2016-12-19 18:09:41 +01:00
javierjcf f609ff39db
[CLA] signature for javierjcf
cf #11708
2016-12-19 18:09:41 +01:00
Nicolas Mac Rouillon 202a2e6959 [FIX] account_voucher: filter suppliers in voucher selection
[FIX] account_voucher: filter suppliers in voucher selection

Closes #12440
2016-12-19 17:34:51 +01:00
Jairo Llopis 000d8eba12 [FIX] portal: allow to delete res.partner
Do these steps:

1. Create a partner.
2. Grant him portal access through *Actions > Portal Access Management*.
3. Delete the created user.
4. Delete the partner.

You will get this error:

Odoo Warning - Validation Error
The operation cannot be completed, probably due to the following:
- deletion: you may be trying to delete a record while other records still reference it
- creation/update: a mandatory field is not correctly set

[object with reference: Portal User Config - portal.wizard.user]

This happens because the wizard (which is a transient model) does not let the partner to be deleted.

With this patch, we avoid that bug.

Closes #12608
2016-12-19 17:26:31 +01:00
Alexis de Lattre 20ba16e777
[FIX] hr_holidays: compare correctly floats
As the number of holidays are float, we may get a flloating point error when
comparing and having -0.0000000001 instead of 0 for the number of remaining
leaves, making the test fail.

Closes #12809
Fixes #14643
2016-12-19 14:52:37 +01:00
Jairo Llopis 23ed2805b8
[FIX] event_type: allow to select typeless event
The requirement for somebody to choose a ticket product should be that it is an
event, not that it has an event type attached, mostly when `event_type_id` is
not a required field.

The event has been improved in upper version but as this field is only
informative, relaxing a bit the domain.

Closes #12475
2016-12-19 13:58:35 +01:00
Odoo Translation Bot 4227082869 [I18N] Update translation terms from Transifex 2016-12-18 02:58:16 +01:00
Hans Henrik Gabelgaard 638989b84e
[FIX] mail: keep recipients after saving a template
When sending an email via the mail.compose wizard, the selected partners are
stored in the context (`active_ids`).
If the composed message is saved (button "save template"), the context is lost
in the _reopen action.
The active_ids content of the new context is the id of the newly created mail
template and is used as the id of a res.partner (sending the email to a
different contact).

Keep the context during the reopen to avoid losing active_ids.

Closes #11947
2016-12-15 13:08:43 +01:00
Hans Henrik Gabelgaard c7fc8e1722
[CLA] signature for hhgabelgaard
cf #11947
2016-12-15 13:08:42 +01:00
Raphael Collet 64249936e8 [FIX] models: allow constraint methods triggered by function fields 2016-12-15 11:08:13 +01:00
Raphael Collet 8e3e7874ad [FIX] models: allow constraint methods triggered by function fields 2016-12-15 09:52:21 +01:00
Jordan Vrtanoski 450f7df00d
[FIX] web: transfer context to underlying many2one in reference field
Fixes #11955 (loss of context in many2one subwidget)
Closes #11957
2016-12-15 09:34:32 +01:00
Martin Trigaux 13ed92c6d8
[FIX] payment_transfer: untranslated string
Replaces and closes #12787
2016-12-14 15:53:03 +01:00
Jairo Llopis f6692139da
[FIX] event: add missing name attribute
This breaks nothing, but allows to enable this filter by default.

Closes #12997
2016-12-14 15:50:32 +01:00
Stefan Rijnhart 4f6e4bb28e
[FIX] account: use code from defaults dict if present
Do not force a ugly '... (copy)' code if provides one.
Closes #11260
2016-12-14 15:08:13 +01:00
Stefan Rijnhart 57788ddb67
[FIX] stock: add missing context
when creating procurement order

Closes #12858
2016-12-14 15:02:12 +01:00
Pere Albujer 73e5c82037 [FIX] point_of_sale: increase total's table size
Was taking the right half of the ticket only and may be too small to display the full amounts (currency symbol cropped in some languages)

Closes #14702
2016-12-14 11:07:56 +01:00
Julien Laloux d543bb3106 [FIX] account_test: add missing _
The translation function `_` was missing while it was present in the content (e.g. account_test_01)

Closes #10403
2016-12-13 16:15:20 +01:00
Moises Lopez - c349e9a8f8 [FIX] stock: Add missing context to search
Closes #13636
2016-12-13 11:46:47 +01:00
Goffin Simon ea021ff17a [FIX] account: taxes with analytic account
The account move line created for a tax must have the right account_analytic_id
according CONDITION.

CONDITION(inspired from function compute defined on model "")

if the tax is for an "in_invoice" or an "out_invoice" => tax_code = 'tax_code_id'
=> the account_analytic_id of the tax must be set to 'account_analytic_collected_id'

if the tax is for an "out_refund" or an "in_refund" => tax_code = 'ref_tax_code_id'
=> the account_analytic_id of the tax must be set to 'account_analytic_paid_id'

note:forward-port upto saas-6

2016-12-13 10:10:35 +01:00
Odoo Translation Bot 72a4229130 [I18N] Update translation terms from Transifex 2016-12-11 02:58:13 +01:00
Cristian Moncho 5ece76b717
[FIX] project: remove redundant context declaration
Declaring the keyword argument `context` in an API v7 `orm.browse_record` can
lead to mixed API v7/v8 inheritance bugs (`context` will be treated as a
function parameter instead of being injected in `self.env.context`). As the
context is already propagated in line 953, we can safely remove it from line

Closes #13115
2016-12-09 14:37:21 +01:00
sergiov 4792a669d3
[FIX] auth_signup: display full error message
When the user name entered hasn't an email specified the error message wasn't
displayed in the reset view.
The error message was in, not e.message
2016-12-09 14:32:16 +01:00
sergiov 85dc060a06
[CLA] signature for Sergio2409
cf #13960
2016-12-09 14:28:15 +01:00
baimo d16d1c6d9f
[FIX] web_gantt: translate "Gantt View" term
Closes #13328
2016-12-08 10:43:28 +01:00
Denis Ledoux 82a07d1072 [FIX] sale: fix company_id assignment on order line creation
Due to the following revision:

The company on the order line was not assigned
when creating a new line in an existing sale order.

The company was correctly assigned when you created
the order line with the order, and when changing the company
of the order, but not when adding a new line on an existing order.

This new trigger repairs this regression.
2016-12-07 16:33:18 +01:00
Denis Ledoux 36c6edf4bc [FIX] product: fix company_id assignment on pricelist version & items creation
Due to the following revision:

The company on the version and items was not assigned
when creating a new pricelist version on an existing

They were if you changed the company of the pricelist,
thanks to the triggers added in the above revision,
but not when they have just been created in the pricelist.

These new triggers repairs this regression. It also handle
changing the `pricelist_id` of a version (this is doable through
the "Sales > Configuration > Pricelists > Pricelist Versions" menu).

Fixes #14631
2016-12-07 16:26:11 +01:00
Josse Colpaert 86718d98bd [FIX] stock: don't delete package when you would still use Unpack button as it can create problems on pickings, ... 2016-12-07 11:59:19 +01:00
Raphael Collet 4116ac2f1c [ADD] models: warning on non-stored @constrains parameter 2016-12-06 14:08:01 +01:00
Paul Catinean ee2f2f2229
[FIX] website_sale_options: untranslated term
Case sensitive term wrongly exported
Introduced at 414175c
2016-12-05 17:02:20 +01:00
Odoo Translation Bot efdeb6779f [I18N] Update translation terms from Transifex 2016-12-04 02:57:30 +01:00
Denis Ledoux 0105cbbcf9 [FIX] website: make website default language required
The website `default_lang_id` was not required,
while the algorithm choosing the website language
expects it to be required.

This solves the below issue, when your browser language is en_US:
 - add a second language to the website (e.g. fr_BE or es_VE),
 - in the website settings, remove English from the languages
 - in the website settings, unset the default language
 - try to go on the website

You will have a crash:
  File "/home/odoo/src/odoo/saas-11/addons/website/models/", line 193, in _dispatch
    resp.set_cookie('website_lang', request.lang)
  File "/usr/lib/python2.7/dist-packages/werkzeug/", line 992, in set_cookie
  File "/usr/lib/python2.7/dist-packages/werkzeug/", line 905, in dump_cookie
    value = to_bytes(value, charset)
  File "/usr/lib/python2.7/dist-packages/werkzeug/", line 106, in to_bytes
    raise TypeError('Expected bytes')
TypeError: Expected bytes

This is because the `request.lang` is set to `False`
because of the below algorithm in ``:
    nearest_lang = not func and self.get_nearest_lang(path[1])
    url_lang = nearest_lang and path[1]
    preferred_lang = ((cook_lang if cook_lang in langs else False)
                      or self.get_nearest_lang(request.lang)

    is_a_bot = self.is_a_bot()

    request.lang = request.context['lang'] = nearest_lang or preferred_lang
`nearest_lang` is `False`, because there is no nearest language
available for the browser lang (`en_US`)
`cook_lang` is `False` for users who never went on the website
``, which is the last feedback,
is also `False` because you removed the default language
in the website settings.

2016-12-01 11:37:03 +01:00
Goffin Simon a433ae65cb [FIX] purchase: default picking_type_id with ir.values
The deleted code put the same picking_type_id for all companies.
The function _get_picking_in returns the right default picking_type_id
according to the company.

Steps to reproduce:
-stock.warehouse0 is on company A.
-Define another company B with its own warehouse.
-Update the purchase module -> a new default value for picking_type_id on purchase
order for company B is created wtih the value of company A
-Create a purchase order on company B, Odoo tries to get the picking_type_id from company A.
If user doesn't have any rights on company A, it occurs a security warning.
Otherwise the purchase order is linked to a picking operation of another company.

2016-12-01 10:04:30 +01:00
Antonio Espinosa aac0faafb8
[FIX] membership: remove date_cancel for draft invoices
In `action_cancel` method below, the date_cancel is set when the linked invoice
is canceled.
When the canceled invoiced was reset to draft, the date_cancel was not removed.
This change makes sense as the state of the membership line is changed from
`cancel` to `waiting` when the invoice is reset to draft.

Closes #14313
2016-11-30 14:33:16 +01:00
Martin Trigaux adb12f95ea
[IMP] sale: remove untranslated terms
Closes #14497
2016-11-30 08:37:57 +01:00
Jeremy Kersten 1f10ef8055 [FIX] website_sale: fix amount format display
Before this commit, amount updated from ajax request don't respect currency format.
Eg: 1.200,000 => 1200.00

Now we use the grouping/thousand separator/decimal separator from l10n,
and if class decimal_precision is defined in dom, we use it. (format=0.001)

This commits closes: #11553
This commits is related to #1103
2016-11-29 17:00:18 +01:00
Odoo Translation Bot 8d724924f7 [I18N] Update translation terms from Transifex 2016-11-27 02:57:09 +01:00
Nicolas Martinelli cd440312ce [FIX] account: partial payment reconciliation
When processing a partial reconciliation in a foreign currency, a
currency exchange difference might be generated during the
reconciliation process (see OPW for a detailed use case).

This prevents the user to process the reconciliation since he will get
the error: 'You have to provide an account for the write off/exchange
difference entry.'

The fix is to use the company-related foreign echange gain and loss
accounts automatically to book this difference.

2016-11-25 10:21:01 +01:00
Zambu 623d61872d
[CLA] Corporate signature for Diagram Software
Closes #14409
2016-11-24 16:31:46 +01:00
Denis Ledoux 456d7b38f1 [FIX] sale: store triggers for related stored `company_id` sale orders
When changing the company of a sales order,
the change was not propagated to the related, stored, company field
of its sale order lines

These triggers makes that happen.

2016-11-24 16:14:36 +01:00
Denis Ledoux 295b96c0b3 [FIX] product: store triggers for related stored `company_id` in pricelists
When changing the company of a pricelist,
the change was not propagated to the related, stored, company fields
of the `product.pricelist.version` and the `product.pricelist.item`

These triggers makes that happen.

2016-11-24 16:08:07 +01:00
Jairo Llopis fbdac9c853 [FIX] website: fix search in existing pages
Previous implementation did not allow the user to search for pages 'name'
but only on the slugified name.

Now we slugify the needles before to find a match.

1. Create a new page: 'The new'
2. add a link on your website and try to find this page...
    - Before this commit, the only ways was to type 'the-new'
    - After this commit 'the new', 'The new', 'The-new', ... will match

This commit closes #10771
2016-11-22 13:47:17 +01:00
Jairo Llopis 954fb6da3c [FIX] website_event_sale: Preserve context when updating cart
Without this patch, when a product was added to cart, if this addon
was installed, it always landed in English in the SO.

This happened because the context, containing the current language,
was being aborted here (`context=None` instead of `context=context`).

This commit closes #14340
2016-11-21 22:18:48 +01:00
Odoo Translation Bot f9f562339f [I18N] Update translation terms from Transifex 2016-11-20 02:58:43 +01:00
Damien Bouvy 205b5542ca
[FIX] payment_paypal: accept PDT requests on /dpn route
It seems Paypal does not always send the same responses on auto-return
even when PDT is off. Although not reproducible on a Paypal sandbox,
sometimes the system auto-return to /payment/paypal/dpn without any
meaningful POST data. This seems to only happen with new accounts
that use the 'Hermes' web application of Paypal.

The correct thing to do would be to add a new field on the paypal
payment provider for PDT token and make the PDT flow available
to users; but this is a stable branch and this fix is already
sufficiently delicate. This shall be done in master though.

From this revision on, users can then activate PDT on their paypal
account, set the PDT token as an ir.config_parameter value (WITH
will process these requests correctly.
2016-11-18 09:46:37 +01:00
Olivier Dony 8e8b7925d2
[FIX] hw_escpos: auto-detect endpoint address
Instead of hardcoding the IN & OUT endpoint
addresses for the ESC/POS printers, we now
attempt to auto-detect them.

This should increase compatibility with many
compatible thermal printers that are simply
using a different address, such as the
- STMicroelectronics POS58 Printer USB
- HU HAI SUNCSW Receipt Printer Co.,Ltd. Gprinter USB Printer

Fixes #12890
2016-11-16 14:52:34 +01:00
Josse Colpaert 1de37862d6 [FIX] stock: when matching moves with pack operations through quants, it did not match the packages correctly. Courtesy of Pedro Baeza
Before, it did a search to see if the package existed,
but the only thing it needs to do is see if the package
on the pack operation corresponds to that of the quant.  (no need to check children also)

There is a test added:
A picking with 120 pieces incoming, 120 in pack 1, 80 in pack2
When we deliver those in a picking out, with product pack operations: (by taking them out of the pack)

120 from pack 1 and 80 from pack2,
we should only have 2 quants and links between moves in the end

And before, it generated 3 because it matched the wrong quants and made the wrong links.

opw 693760 closes #13836
2016-11-16 11:26:20 +01:00
Olivier Dony 46ce74cdde
[FIX] hw_posbox_homepage: update links and version
Also added a direct link to the remote connect page to
grant remote SSH access via ngrok.
2016-11-14 17:11:57 +01:00
Olivier Dony 265c9f7b06
[IMP] hw_proxy: add lsusb full output to hw status page 2016-11-14 17:11:57 +01:00
Olivier Dony d1b0b9e656
[FIX] point_of_sale: check required commands before building POSBox image 2016-11-14 17:11:57 +01:00
Olivier Dony f579acf02f
[FIX] hw_scale: update driver for rs232_devices map and support AdamAZExtra scale
This commit fixes the driver to respect the new device
registration mechanism via hw_proxy.rs232_devices.

It also refactors the code to more easily support multiple
scale protocols, and introduces support for the ADAM Equipment
AZExtra scale protocol. (Might be compatible with other ADAM
Equipment scales)

Support for th AZExtra scale is experimental at the moment,
especially given two annoying problems with this model:
 -  they do not support proper probing (stays mute until a
    non-zero weight is measured), so they have to be probed
    last and *assumed* to work
 -  the scale beeps when a read attempt is made and the
    weight is not stable yet, or the weight has been already
    read previously. This constant beeping during operation
    is mitigated by extra delays between readings, but might
    still prove to be a major issue for supporting this scale.
2016-11-14 17:11:57 +01:00
Olivier Dony eeadeb0d6e
[FIX] hw_proxy,hw_blackbox_be: make RS-232 drivers protect their device
RS-232 drivers now need to register any device
they are handling in the hw_proxy.rs232_devices map.
This will prevent other drivers from probing them,
possibly messing up with the device.
Any update to rs232_devices must be done while holding
the hw_proxy.rs232_lock.

The hw_scale driver will be updated to use this mechanism
in the next commit, that will also handle a new RS-232
scale protocol.
2016-11-14 17:11:57 +01:00
Olivier Dony 2fd4dfca7f
[FIX] point_of_sale: update POSBox image creation script
- ngrok download URL has changed
- default kernel for raspbian image has changed and needs to match
- remove pre-existing git checkout to avoid conflicting
- wait a few seconds after setting up loop dev with kpartx to access image
  contents - sometimes required to let the device appear in /dev
2016-11-14 17:11:57 +01:00
Christophe Simonis 51561d3ac8 [FIX] base: restart server when installing module from apps
When a new module is installed, its controllers and static files should
be available. A restart is required to do so.
2016-11-14 13:45:24 +01:00
Odoo Translation Bot fa544c9da0 [I18N] Update translation terms from Transifex 2016-11-13 02:57:18 +01:00
Nicolas Martinelli 4809b57283 [FIX] account: tax line amount
The company currency is USD, the invoice currency is EUR.
- Create an invoice in EUR, set an invoice date
- Compute the taxes (click on "update" button)
- Change the exchange rate between EUR and USD
- Validate the invoice

At validation, the tax lines are not recomputed. Therefore, the tax
amounts, are still converted in the company currency using the old
rates. On the other hands, the other account move lines will have the
appropriate new rate.

Closes #14024
2016-11-07 14:31:00 +01:00
Nicolas Martinelli 0a17be70e0 [FIX] account: tax line amount
The company currency is USD, the invoice currency is EUR.
- Create an invoice in EUR, set an invoice date
- Compute the taxes (click on "update" button)
- Change the exchange rate between EUR and USD
- Validate the invoice

At validation, the tax amounts are not recomputed. Therefore, they are
still converted in the company currency using the old rate.

Closes #14024
2016-11-07 13:35:54 +01:00
Odoo Translation Bot 369e0bcb45 [I18N] Update translation terms from Transifex 2016-11-06 02:56:48 +01:00
Goffin Simon e0ffc23a59 [FIX] report_intrastat: Not allowed to delete record
It's not allowed to delete record from the tree view of intrastat report.

2016-11-03 14:46:47 +01:00
Nicolas Martinelli 2508786127 [FIX] account_asset: first depreciation amount
When an asset is set as Prorata Temporis, with a one month period, the
first depreciation amount is computed on the basis of the remaining days
in the purchase year. This doesn't make sense for a monthly

This commit makes the distinction between a monthly and a yearly
depreciation. In the case of a monthly depreciation, the remaining days
in the purchase month are taken into account.

2016-11-03 09:15:05 +01:00
Olivier Dony f2158e32c8
[FIX] http: permit debug mode on CORS-enabled routes
As of f814dd9908355465dd03735f4589dd1697b3658a, debug
mode causes an extra X-Debug-Mode header to be sent
by the rpc() JS method.

This custom header was not whitelisted in the accepted
CORS headers, therefore any cross-origin call to a route with
`cors=True` would fail in debug mode, with a console error
along those lines:
   "Request header field X-Debug-Mode is not allowed by
    Access-Control-Allow-Headers in preflight response"

This would prevent loading the POS GUI in debug mode,
for example.

This commit is necessary in the 8.0 branch because
the POSBox is currently based on a 8.0 server and may
be accessed by a 9.0 POS or later, thus with the extra header.
2016-11-02 14:03:19 +01:00
Christophe Simonis 86a9b7893e [IMP] tests: use long message in case of error 2016-11-02 11:45:29 +01:00
Goffin Simon d406314638 [FIX] account_voucher: Wrong reconciliation of customer payments
Steps to reproduce :

1. Create a new customer
2. Create an invoice with an amount of 50.- for this new customer and validate it
3. Create a refund with an amount of 70.- for the same customer and validate it
4. Create a Customer Payment for this customer and validate it. The Invoice will be paid with 50.- of the refund. 20.- are still on residual in the refund.
5. Create a new invoice with an amount of 50.- for the same customer.
6. Create a new Customer Payment for the same Customer and validate it.

The Full Reconcile Boolean stays checked inspite of "Open Balance" of Refund amount is less than the Invoice amount.

After the fix:
Full Reconciliation Boolean doesn't get checked and Allocation amount on invoice journal item line should be same
as Open balance of the Refund Journal Item. So Invoice stays open with Balance amount.

2016-10-31 11:55:49 +01:00
Odoo Translation Bot c340284a60 [I18N] Update translation terms from Transifex 2016-10-30 02:56:40 +02:00
Wolfgang Taferner c39ca45c6d [FIX] config: avoid to accept server-wide-modules with None as a module
Fixes #14048
Fixes #14045
Closes #14051
2016-10-28 15:02:52 +02:00
Martin Geubelle 9f09c625f5 [FIX] calendar: rule._bynweekday can be a set
Depending on the version of dateutil, rule._bynweekday can either be
a tuple or a set (see, which,
in the case of a set, breaks the access by index (see related issue:

By casting it into a list, we make sure that we can access [0] in both case.

Credits to jke ; closes opw-690761.
2016-10-28 11:26:23 +02:00
Leonardo Rochael Almeida 5ee4344efd [IMP] Allow configuration of server_wide_modules from file
Allow reading and saving the value of `server_wide_modules` from the
configuration file, instead of just the command line.
2016-10-25 15:23:41 +02:00
Simon Lejeune 097f46e09a [REF] packaging: debian: depend on python-babel
Before this patch, the debian package depends on `python-pybabel`.
According to the documentation, this is a dummy package for transition
from `python-pybabel` to `python-babel`[1].

This dummy package has thus been removed in debian stretch in favor of
`python-babel`, and the odoo package is thus not installable in debian

To fix this, we depend directly on `python-babel`, which is available in
all debian releases[2].

Closes #13905

2016-10-24 16:22:17 +02:00
Nicolas Lempereur 5d17749ff4 [FIX] web: repair length field in view list
Underscore method _.each expects an array like object when a "length"
property is present.

This was an issue with a record having a numeric "length" field set to a
non-negative value. When changing a line the change would not appear on

This issue was fixed with 0e664c9e9 but introduced back with f0e331e00.

2016-10-24 13:25:58 +02:00
Odoo Translation Bot 8f484fd137 [I18N] Update translation terms from Transifex 2016-10-23 02:57:47 +02:00
David Beal e773c1dce8
[FIX] resource: prevent error when deleting resource.calendar records
Attendance entries should be cascade-deleted along with the parent

Closes #10310
Closes #13044
2016-10-21 19:57:23 +02:00
Jairo Llopis 85b34f4be3 [FIX] openerp: tests: make failing PhantomJS tests actually fail 2016-10-17 13:45:23 +02:00
qdp-odoo 001610ece9 [FIX] anglo_saxon_dropshipping: fix accounting entries creating on anglo_saxon + real_time + dropship.
This revert the fix made on 7bdd4de and replace it with a proper one that do create an account entry from stock_input to stock_output on a dropship move. That way, we avoid the manual change of account on supplier invoice. See the whole discussion on odoo#12687
2016-10-17 09:39:53 +02:00
Odoo Translation Bot d1c81f136c [I18N] Update translation terms from Transifex 2016-10-16 02:57:56 +02:00
Jeremy Kersten 33978d7a7a [FIX] stock: adjustement inventory, check options activated in res config
Before this commit, the inventory by lot/pack/serial/... was only visible
if you switch quickly between res_config and adjustment inventory... once
the vaccumn clean the osv memory, the options was ignored.

Same issue with the _get_string_qty_information function.
2016-10-14 18:07:21 +02:00
Adrien Peiffer (ACSONE) d81258ab8e [FIX] Consider currency rate to compute total amount in expense analysis
Like in Invoices Analysis, the expenses must be expressed in the currency
of the company. In this way, it makes sens to sum them to compute the total.

2016-10-13 11:24:06 +02:00
Richard Möhn cb581bc14f [FIX] api: in todo list, group records to recompute by environment (#11267)
The effect of this change is to trigger the recomputation of fields on larger
recordsets.  This takes advantage of batch computations within compute methods.
2016-10-13 10:13:33 +02:00
Jeremy Kersten d3609f7f19 [FIX] web,crm: list view, don't fallback on group_operator declared in python
Partial revert of odoo/odoo@633780a
2016-10-12 18:03:51 +02:00
vnsoft 16430be566 [FIX] models: in method read_group(), allow orderby='id desc'
When orderby argument is 'id desc', an error occurs: "read_group order by 'id'
ignored, cannot sort on empty..."
2016-10-12 13:19:37 +02:00
Alexandre Fayolle 65c685ad24 [FIX] context mutations (#10368)
when extending these methods with the new api, the context is a frozendict
so we need to copy before mutating.

this patch was made by searching for key addition to context and calls to the
update() method on the 8.0 addons, and checking if a copy was made before in
the method.
2016-10-12 12:30:42 +02:00
Jeremy Kersten f4aae1c58b [FIX] email_template: encode date/datetime format
See more details here: odoo/odoo@6191e3f6d0

This commit closes #13704
2016-10-11 17:04:36 +02:00
Christophe Simonis ecb6055b0f [FIX] tools/config: avoid sharing init/demo config
Theses config options should not share the same dict as `init` dict
may be modified by migration scripts to handle new module dependencies.
2016-10-11 16:46:32 +02:00
Olivier Dony 789566a0d0
[FIX] website_livechat: make it auto-install
Most people install the im_livechat module and expect it
to be enabled automatically on their website.
When it doesn't work they try to use the integration JS
code and add it to their website layout, which does not
work as expected.

Setting it as auto-installed solves the issue.
2016-10-11 16:36:39 +02:00
Jairo Llopis dd312e0da2 [FIX] fields: make [(5,)] with computed domain work (#13480)
* Failing test for one2many [(5,)] action, when domain is callable.

The problem is that `self` inside a callable domain becomes the comodel when at [(5,)].

* [FIX][fields] Make [(5,)] with computed domain work.

To reproduce this failure, declare a field like:

child_ids = fields.One2many(
    domain=lambda self: [("id", "in", self._ids_to_find())],

Now set some value to it.

Now unset them. Impossible because ``self`` becomes ``other.model`` in domain evaluation.
2016-10-11 15:14:05 +02:00
Jeremy Kersten 633780a00c [FIX] web,crm: view_list respect group operator defined in the view.
Remove useless avg defined on crm view.

If you define avg='Average Values' in a view, now we see in the footer of list view the average.
2016-10-11 11:50:24 +02:00
Jeremy Kersten 4ca06e0255 [FIX] fields: add group_operator to be availble in get_description.
Web client use fields_get (which one call get_description) to know if
a group operator exists. But until now, group_operator are never returned.

Without it, the web client cannot display the sub-total except for sum
(the fallback in the web client).

This commit closes #13713

Todo: do the same on Class Monetary in next branch
2016-10-11 11:49:55 +02:00
Nicolas Martinelli a1d6c2d631 [FIX] account: check exchange rate
An issue occurs in the following situation:
- Define a currency exchange rate at day 1 and day 2
- Create an invoice at day 1, and calculate the taxes. Do not set an
  invoice date!
- Validate the invoice at day 2

The exchange rate for taxes is the rate at day 1, while the exchange
rate for other amounts is the rate at day 2.

There is actually no way to know what was the rate applied for the
taxes at invoice validation. There are two solutions:
- recompute the taxes at validation
- force the user to set an invoice date and recompute manually the

The first solution might have unexpected effects, therefore the second
solution is applied.

Fixes #13473
2016-10-10 10:08:33 +02:00
Odoo Translation Bot d3c4ab23e4 [I18N] Update translation terms from Transifex 2016-10-09 02:56:21 +02:00
Denis Ledoux 964f42fb86 [FIX] purchase_double_validation: from waiting approval to cancel
It wasn't possible to cancel a purchase order
within the state "Waiting for Approval", despite
the fact the button cancel is displayed.

Clicking on the cancel button just did nothing.

This is now properly working, thanks to the additional
path added by this revision, between the workflow states
`CheckForApproval` and `cancel`.

2016-10-06 16:07:16 +02:00
Olivier Dony 3d55aff1c8
[FIX] convert: properly catch Value/Name Errors 2016-10-03 23:41:44 +02:00
Olivier Dony ba7880a249
[FIX] base: force local cursor in case of mismatch 2016-10-03 19:48:09 +02:00
Olivier Dony 12634e1227
[FIX] base_import_module, tools: raise a clear error for unsupported file types
Also restrict XML data attribute evaluation context
even for real module data files. This will prevent
accidentally depending on context parameters that
would not be available inside base_import_module.
2016-10-03 19:48:09 +02:00
Odoo Translation Bot ca18a1699c [I18N] Update translation terms from Transifex 2016-10-02 02:57:59 +02:00
Manuel Vázquez Acosta 5b692df1b1 [FIX] mail: Ignore case for mail aliases.
When receiving new mail (not replies) to an alias we should not take
case into account.

This also homogenize the treatment of local parts.  For instance, lines
967 and 980 convert the local part to lower case to avoid
case-sensitivity issues.

Also `mail_alias` normalizes alias names by lowering case and finding,
if necessary to make it unique, a suffix to alias name provided.

From RFC 5321, section 2.4:

  > Exploiting the case sensitivity of mailbox local-parts impedes
  > interoperability and is discouraged

Closes #334
Closes #13037
2016-09-30 18:41:39 +02:00
Jairo Llopis 295f62741d
[FIX] tools: cherry-pick of 0529a7f9
extract terms in correct folder

If two addons path have a common part in the folder name (e.g. `/home/alice/dev`
and `/home/alice/devodoo`), the `get_module_from_path` method may match the
wrong folder.
A file `/home/alice/devodoo/bob/` would wrongly match `/home/alice/dev`
path (due to the lack of separator) and the returned module would be `odoo`

In such scenario, the translations of files (code, static folder, report) would
not be included in the exported translation file.

Force the module path to ends with a folder separator to avoid wrong matching.

Closes #13363
2016-09-28 13:43:41 +02:00
Alexandre Fayolle 94f58d647c [FIX] auth_ldap: fix authentication with special chars
encode the filter in utf-8

This prevents a UnicodeDecode error in python-ldap when the
filter contains non ascii characters.

closes #10899
closes #12710
2016-09-28 12:58:32 +02:00
Cesar Lage 4ab34d4156 [FIX] l10n_de: set reconciled to False for accounts of type liquidity… (#13520)
Courtesy of Cesar Lage. Thanks for the contribution
2016-09-26 09:43:08 +02:00
Odoo Translation Bot 6baef31c8f [I18N] Update translation terms from Transifex 2016-09-25 02:59:19 +02:00
Jeremy Kersten 0e7c7a80d8 [IMP] base: set_param log warning if group not found. 2016-09-22 15:03:34 +02:00
Nicolas Lempereur e083d720a9 [FIX] website_blog: blog pager page issue
When we are on the page:


the link to page 3 is:


So we need to give /blog/our-blog-1 as source url of pager.

Previously in this instance, since 4faed0b7 the page 3 url
in this scenario would erroneously be:


2016-09-22 08:05:20 +02:00
Jeremy Kersten 8b41933a9e [FIX] web_graph: force row title to be string
If the title was 'true' or 'false', the export failed, because we are tying to
concat bool and str. TypeError: cannot concatenate 'str' and 'bool' objects

How to reproduce, install sale, be sure to have one order with delivered = True
In Reporting / Sale analysis, add a group by 'shipped' filed to have 'true' as

This commit closes issue odoo/odoo#13425
2016-09-21 10:59:39 +02:00
Odoo Translation Bot 6a1ecef775 [I18N] Update translation terms from Transifex 2016-09-18 03:05:57 +02:00
xmo-odoo 9c78ba1f75 [IMP] document subset/superset operations 2016-09-15 17:05:10 +02:00
Fabien Meghazi 9874892b97 [FIX] module#get_module_path() does not check the manifest's presence (closes #13467) 2016-09-15 10:22:24 +02:00
Nicolas Lempereur 1da79b872e [FIX] web: keep m2m value in list view
Currently, when rendering a list view cell with a many2many we would
empty the list of ids, and fill it again once a name_get is resolved.

But in some instance, the code could use the data when it has been
emptied out.

For example, if we set the tax_id field (inside the order_line list view
inside the sale.order form view) as requred, if we modify the order line
and save directly (without clicking outside of the list view) we can get
an incorrect error saying that the "Order Line" is not valid.

It has been reproduced when saving with CTRL + SHIFT + S on google
chrome and firefox, and there have been reports that for some
configuration it also happen when clicking on the "Save" button.

This commit change the behaviour so the value is kept whilst the name_get
is ongoing, and just use a default "false" value for the name during this

closes #13478
2016-09-14 15:52:48 +02:00
Damien Bouvy 3e4206b4d4
[FIX] payment_paypal: accept GET requests for Paypal DPN
Although we have been reluctant to perform this change, a specific
use case can cause customers to be redirect to the Odoo DPN url
with a GET request.

This happens when a Paypal Merchant account has the feature Guest
Checkout active; in that case, a customer can pay without having
a Paypal account (using only his credit card) and will *not* be
subjected to auto-return; as detailed here:
Request coming from that payment flow will always trigger a GET
request, causing the customer to be welcomed by a
405 - Method Not allowed
error on the Odoo server. The payment is normally correctly processed
through IPN, so this does not normally causes loss of data; however
this is not a nice way to welcome back your customer right after
they pay you.
2016-09-12 09:24:38 +02:00
Odoo Translation Bot 40691d31f3 [I18N] Update translation terms from Transifex 2016-09-11 03:04:01 +02:00
Olivier Dony 0feaeb7641
[CLA] CCLA signature for GoOpen, računalniške storitve, Aleš Ferlan s.p.
Received PDF signature by email on 2016-09-06, from
Aleš Ferlan <>.

See opw-687914 for original PDF signature.
2016-09-09 10:22:31 +02:00
Olivier Dony b17b2a2eb7
[FIX] http: do not allow passing spaces around db in URL param
Until 9.0 our psycopg2 DSN connection strings do not allow having
spaces within the db name, and passing some can cause duplicate
registries to be loaded.

Stripping spaces is a simple workaround until we actually support
spaces within db names.

Fixes #13078
2016-09-09 09:28:10 +02:00
Ravi Gohil b226510840 [IMP] payment_*: avoid access error on provider model
As provider model is intended to be used internally restricting the read of
some private fields to the employee group avoid creating access issues.
2016-09-06 10:20:41 +02:00
Odoo Translation Bot 75a196972e [I18N] Update translation terms from Transifex 2016-09-04 03:06:55 +02:00
qdp-odoo 7bdd4de805 [FIX] anglo_saxon_dropshipping: fix dropship use case in anglo saxon with perpetual valuation.
OPW: 684742
When using dropship+anglo-saxon+perpetual valuation, there is no journal move for the delivery to debit outgoing inventory (since the goods don't transit by an internal stock) but the sale does credit it so there was a build up in the holding account that has to be moved out manually. This was also reported in #12687.

The solution implemented is to check if the invoice line is related to sale order lines having one of its procurement_ids with a purchase_line_id set. If yes, it means that it is a confirmed dropship and in that case we don't call to super (we don't create the cost of sale line).

That means that:
* If the procurement is in exception at the customer invoice time, the behavior will be as it is currently, but it's fine as you don't know how the procurement will be solved, and it'll be only at the beginning (once the config is done it shouldn't go in exception anymore). People will have to manually fix those amounts with a miscellaneous operation.
* users in anglo saxon mode should not use the 'stock interim account (received)' on supplier invoices for dropshipped goods, but rather use the COGS directly (sounds to me logical, and that's actually why I wouldn't go for the solution to create the stock move entries every time even for the dropshipped goods. That, and the fact that it would pollute the accounting with useless moves)
2016-09-02 14:13:17 +02:00
Nicolas Martinelli 2559b2cf4f [FIX] web: statusbar click
When the statusbar is clicked, a `debounce` function prevents a
doucle-click, and therefore making several `write` calls. On some status
bars, clicking doesn't work anymore.

The reason is because, in some mysterious cases, the event is propagated
to the parent. The `currentTarget` is not the `li` element, but the
parent `ul`. By setting the `immediate` argument to `true` (execute the
first function instead of the last), this solves the issue.
2016-09-02 10:27:41 +02:00
Nicolas Martinelli 7b93e1dc7b [FIX] l10n_be_intrastat: skip EXTXVAL=0
An entry with EXTXVAL=0 should not be included in the Intrastat
declaration, otherwise it is rejected.

2016-08-31 11:02:48 +02:00
Jeremy Kersten f1a331850d [FIX] website_sale: fix order for the pager in front end.
In psql, use LIMIT and OFFSET together without a fully specified and uniq sort order
will generate unexpected behaviour.

> id   id_dept  name
> -------------------
> 1    1        Tom
> 2    1        Mike
> 3    2        Meggie
> 4    2        Marge
> 5    3        Bart
> 6    3        Lisa

> using LIMITed selects like:

>    SELECT * FROM employee ORDER BY id_dept LIMIT 3
>    SELECT * FROM employee ORDER BY id_dept LIMIT 3 OFFSET 3
>    SELECT * FROM employee ORDER BY id_dept LIMIT 3 OFFSET 6

> You can have some result missings from the 3 requests, and others duplicated.
> Because id_dept is not a uniq order.


note: backport of saas-12 4dce8616
2016-08-29 17:08:25 +02:00
Odoo Translation Bot 671fa0c7d4 [I18N] Update translation terms from Transifex 2016-08-29 11:48:02 +02:00
Simon Lejeune c55c15aef3
[FIX] packaging: Backport of efe37469 to 8.0
[FIX] packaging: debian: update-python-module is no more

The command is not installed by default. It was available in the
python-support library which we didn't depend on and now this library
is no more in debian jessie/ubuntu xenial.

Backported for #13302
2016-08-26 14:24:30 +02:00
Christophe Simonis c7d9695f52 [MERGE] forward port branch 7.0 up to b431e6c 2016-08-25 11:02:01 +02:00
Martin Trigaux 4cb2dc6d71
[FIX] web_graph: no label for ungrouped pie chart
When a pie chart has no grouping selected, the label was "undefined" (the
javascript variable). Replace by the already translated string "Undefined".

Fixes #13288
2016-08-25 10:39:39 +02:00
Jeremy Kersten abf17354f8 [FIX] account: remove domain that depend of purchase when not installed
This commit avoid a traceback when you open the form account_invoice_line
for a supllier invoice without having installed purchase.

The fields_view_get method add domain with purchase_ok field, but this
field can be missing on the model product.template because purchase is not
a dependence of account.

Invalid field 'purchase_ok' in leaf "<osv.ExtendedLeaf:
('purchase_ok', '=', True) on product_product

In stable version, the best fix found, is to remove the domain.
But we need to fix it in master, moving this field from purchase module to
product module. (odoo/odoo##13271)

This commit closes #13268 and closes #315 for stable version.
Todo: merge odoo/odoo#13271 in master (@qdp-odoo agreement)
2016-08-24 12:21:48 +02:00
Jairo Llopis 4faed0b792 [FIX] website_blog: fix pager when existing filters in url
Go to a URL such as `/blog/our-news-1?date_begin=2015-01-01`
Now click on page 2.

Without this patch you will go to `/blog/our-news-1?date_begin=2015-01-01/page/2`.
With this patch, you will go to `/blog/our-news-1/page/2?date_begin=2015-01-01`.

This commit closes #13206
2016-08-22 10:30:56 +02:00
Odoo Translation Bot 29f5719254 [I18N] Update translation terms from Transifex 2016-08-21 03:05:30 +02:00
Christophe Simonis ee846fbff8 [FIX] core: exception are made to be raised 2016-08-19 15:59:10 +02:00
Damien Bouvy 08ed48e24c
[FIX] stock,purchase: stop shortening picking type names
In purchase, a special key is set in the context to simplify the name
of the picking type: instead of the normal name, only the name of the
warehouse is used. This is problematic if more than one incoming picking
type exists for a given warehouse, as it prevents you from being able to
differentiate them. Asking users to modify the view to remove the
context key seem a bit too much to ask for something that should be

It is my understanding that this was implemented only for cosmetic
reasons, but I am willing to assume that having to select
"YourCompany: Delivery Orders" instead of simply
"YourCompany" for people who only have one picking type should not
be too disruptive or obscure.

2016-08-18 13:59:42 +02:00
Goffin Simon c844534f8a [FIX] account_asset: asset depreciation with refund
When an asset is created from a refund invoice, the negative amount
must be taken into account to create the depreciation moves.

2016-08-18 11:11:49 +02:00
Raphael Collet d32871570a
[FIX] base: extrapolate table name on uninstall for ir_model_constraints
When uninstalling a module, the model *may* be removed from the registry
before the removal of the model constraints; to prevent crashing in
those cases, a simple replace('.','_') on the model name should allow to
obtain the table name in these cases.
2016-08-17 15:21:26 +02:00
Goffin Simon 3846d35d02 [FIX] account_voucher: unreconcile with deleted journal items
Inspired from e2d16ea

When cancelling a voucher from a customer payment receipt,
the voucher lines linked to the deleted account move lines
have to be updated by clicking on button "unreconcile".

2016-08-17 09:25:01 +02:00
Damien Bouvy 6cb84a1048
[FIX] analytic: add missing context propagation
Courtesy of @adrienpeiffer
2016-08-16 15:11:31 +02:00
Nicolas Martinelli c2fe9fe0e6 [FIX] web: prevent double-click on statusbar
When double-clicking on the statusbar widget, two calls to write are
performed. This can cause unwanted behavior, and when the `write` method
takes a lot of time to process, it's not possible to prevent it

Courtesy of @gurneyalex and @aab-odoo

Closes #13134

2016-08-16 13:09:49 +02:00
Odoo Translation Bot 71594f5958 [I18N] Update translation terms from Transifex 2016-08-14 03:04:34 +02:00
Goffin Simon 43e25b336d [FIX] account_voucher: unreconcile with deleted journal items
Inspired from e2d16ea04a

When cancelling a voucher from a customer payment receipt,
the voucher lines linked to the deleted account move lines
have to be updated by clicking on button "unreconcile".

2016-08-10 15:04:30 +02:00
Odoo Translation Bot 0606247a8b [I18N] Update translation terms from Transifex 2016-08-07 03:07:40 +02:00
Martin Trigaux d56b03465f
[I18N] Update translation terms from Transifex
Last one before dropping a few non-active languages
2016-08-05 16:12:06 +02:00
Jeremy Kersten 7f6c669530 [FIX] website: /website/info use xmlid
When a user try to create a new page info, he is redirected
to the /page/info because the xmlid already exists...

The problem is that this view need to be rendered via the
controller /website/info which gives some extra values (version, ...)

The fix for v8 is to redirect /page/info to /website/info.

In V9, the behavior is changed and one page info-1 will be created.
But this fix is also required for direct access to /page/info.

To do in master: maybe use another xml_id that this basic name 'info'?

This commit fix issue #8022
2016-08-05 12:05:24 +02:00
Martin Trigaux b431e6c324
[I18N] Last 7.0 update translation terms from Transifex 2016-08-04 15:56:34 +02:00
Nicolas Martinelli ebb52cbbdf [FIX] stock: backorder sequence
When an internal move is partially delivered, name of the backorder is
'False'. This also occurs if an internal move is copied.

This is because there is not sequence for code 'stock.picking.internal',
but there is one for 'stock.picking'.

2016-08-03 14:43:40 +02:00
Goffin Simon 1213de3ff5 [FIX] account: get_reconciliation_proposition
The bank statement reconciliation widget should look for the name
of the account.move if the ref is not found.

Backport of 11f8e8d

2016-08-03 13:38:44 +02:00
Nicolas Martinelli f0d6138712 [FIX] im_odoo_support: link "Odoo Support"
The free livechat support doesn't exist anymore, therefore the link
"Odoo Support" does nothing.

2016-08-02 17:45:20 +02:00
Christophe e106691ecb
[CLA] Corporate signature for adiczion
Done at #11662
2016-08-01 17:49:41 +02:00
Christophe 980ff5ef10
[FIX] account: correct typo in css
Closes #11662
2016-08-01 17:49:41 +02:00
Ondřej Kuzník fafeb9fb83 [FIX] stock: avoid traceback when owner on picking and transfer more.
If you create a picking, with an owner, for qty x, and confirm it.
Next transfer x+1, it will raise a traceback 'cannot adapt res.partner'

Now, we pass the id, and not the browse record.

This commit closes #12978
2016-08-02 00:47:05 +11:00
Jeremy Kersten 7f86272b94 [FIX] hr_timesheet_sheet: set timesheet widget dirty when editing
Without this commit, there was no warning displayed when clicking
on a button that would make the user lose all he entered in the
widget, which is insonsistent with other odoo widgets.

2016-08-01 09:04:58 +02:00
Odoo Translation Bot d99745302c [I18N] Update translation terms from Transifex 2016-08-01 00:33:47 +02:00
Odoo Translation Bot 337049baa8 [I18N] Update translation terms from Transifex 2016-07-31 03:07:08 +02:00
Gourav Chawla f7b8028f67
[FIX] hr_payroll: display employee's identification number
The report "Payslip" was displaying both the employee's job, the second time
being in the "Identification No" box.
Remove the second job and replace by the field 'Identification No' which makes
more sense.

Closes #12937
2016-07-29 15:30:49 +02:00
aetna-softwares 9fe930e6ba [FIX] survey: prevent saving issues of answers to multiple_choice questions, when id starts with id of other questions
Fixes #11873 #12215
2016-07-29 11:13:08 +02:00
Olivier Dony c372708b01
[FIX] website_google_map: do not allow invalid partner prefix
The only supported prefixes are the following:
 - /partners/ when website_partner and/or website_crm_partner_assign are installed
 - /customers/ when website_customer is installed
2016-07-28 17:27:54 +02:00
Nicolas Martinelli de2d7d9acd [FIX] sale_stock: incorrect value in error message
The error message has an hardcoded precision of 2 digits, which is not
enough of the product precision is higher than 2. Since this error
message is often used, we should avoid its modification to prevent
breaking the translations.

Fixes #12629
2016-07-28 15:10:59 +02:00
Nicolas Martinelli f57f55966d [FIX] sale_stock: UoM in warning
The warning message of the product packaging change does not take into
account the appropriate UoM.

Fixes #12827
2016-07-28 13:36:30 +02:00
Gourav Chawla 8ceb9438d1
[CLA] signature for user gouravchawla
Closes #12738
2016-07-27 17:26:38 +02:00
Nicolas Martinelli 6742d1fafe [FIX] account: wrong initial balance in GL
When the General Ledger is printed, the initial balance is zero if the
filtering is done by period.

It appears that in this case, the method `_query_get` selects all the
periods before the selected period range thanks to:
`build_ctx_periods(cr, uid, first_period, context['period_from'])`
On the other hand, `_query_get` builds the query as:
`date_start <= %(date_start)s AND id NOT IN %(period_ids)s`

That doesn't make sense since we first choose the periods before the
selected period range, then we exclude them. What the method
`_query_get` is doing seems wrong, but since this method is used in many
reports, it is safer to only fix the GL report directly.

Another solution could be

2016-07-26 18:12:14 +02:00
Goffin Simon dbf44a9680 [FIX] payment_paypal: country and state code required for paypal
As explained in:


The country and state code is required to create a paypal transaction.

But in some cases, the complete name of the state/province is required.
For example, for India, sometimes the complete name of the state is required.
Check the list of those state/province in the documentation.

Hint: form_preprocess_values

2016-07-26 15:59:55 +02:00
Martin Trigaux 245e38d242
[FIX] doc: remove statusbar_color reference
This attribute has been removed from the web framework since b4c28050
and should not keep example of code with it.
Related to #5987
2016-07-26 14:54:25 +02:00
Jeremy Kersten 077dde3a69 [FIX] calendar: don't duplicate all the calendar_contact
Before this patch, add_filter was called 2 times.
Once when we select a partner in the drop down, we trigger a onchange value
to change from false to the partner id.
Once to reset to false the value after the first add_filter()

This commit closes #9758
2016-07-26 13:35:11 +02:00
Jeremy Kersten e1c55b2d2d [FIX] calendar: avoid local variable referenced before assignment
When the get_one_event_synchro crash, the status variable is not initialize.
So the return status, content, ...  raise an error:
    "local variable 'status' referenced before assignment"

This commit closes the issue #11513
2016-07-26 11:00:51 +02:00
Jeremy Kersten 78f00700e3 [FIX] product: keep precision in historized cost field.
Now we use the same decimal precision for cost in table 'Historization cost'
and 'product'.

It is one fix, but that will not fix the case where decimal precision has been
updated between 2 historizations.

This commit closes #12861
2016-07-26 10:07:20 +02:00
Martin Trigaux 64c80ddb4a
[FIX] product: add missing argument in read
The list of fields was not present, making the call to fail.

Closes #11716
2016-07-25 17:01:03 +02:00
Stefan Rijnhart 4712fddd88 [FIX] account: never allow modification of posted entries
Posted moves are not protected from modification if the journal is set
to 'autopost'.

If an account move is posted in a journal with 'Autopost' set, it is
possible to modify the associated move lines without any restriction.
This can for example lead to the creation of unbalanced moves.

The original issue fixed by this extra condition
( does not
occur if the commit is reverted.

This reverts 4e95e4223

Closes #12014
2016-07-25 15:50:47 +02:00
Jeremy Kersten 3418b9f8aa [FIX] calendar: avoid infinite recurrent event
Old check was always ignored since 0 is False.

This commit closes #12715

Other fix; when we detach an event, we reset the rrule_type to avoid to have a
warning popup (about empty final_date) if the old one value was end_date.
2016-07-25 15:48:25 +02:00
Olivier Dony acc531a9d7
[FIX] portal: avoid users sharing non-portal groups 2016-07-25 13:07:29 +02:00
Olivier Dony 8245c1d1d8
[FIX] service.server: drop idle connection attempts
Avoid wasting HTTP workers (in prefork server mode)
for pending/idle connections.
HTTP connections that have not sent anything for 500ms
will be dropped.

In particular, wkhtmltopdf uses a connection pool
to load remote resources. It opens more HTTP connections
than necessary and uses a random subset of them, leaving
the other idle.

On a server that has little available workers this
may significantly delay report rendering, and could
even lead to a deadlock.

2016-07-25 13:06:31 +02:00
Olivier Dony 43cff22950
[FIX] base: fix broken URLs when redirecting
Similarly to werkzeug.urls.url_fix(), attempt to
correct some leftover special characters that
should have been URL-encoded.

We cannot actually use `werkzeug.urls.url_fix` or
`werkzeug.urls.url_quote`, as they expect more/most
characters to be un-encoded.
We have many existing cases where the redirect URL is
already fully encoded or mostly encoded, and those
functions would cause double-encoding, breaking the
final URL.
2016-07-25 13:06:31 +02:00
Olivier Dony 8596a4ccaa
[FIX] portal: avoid users sharing non-portal groups 2016-07-25 13:06:31 +02:00
Pedro M. Baeza 7e162e8993
[FIX] account: total_invoiced field should be only for customer
"total_invoiced" must only take customer invoices into account because
when you click on the button "invoiced" in the partner view form
you just see the customer invoices.

Adaptation for 8.0 of 9.0 fix made at 37569695

Closes #12044
2016-07-25 11:29:05 +02:00
Nicolas Martinelli aa1c3946da [FIX] product: rounding in pricelist report
The pricelist report might show price incorrectly rounded. For example,
a calculated price of 20.625 will be displayed as 20.62 in the report
since `formatLang` does not apply a rounding but simply truncate the

Fixes #12875
2016-07-25 10:56:06 +02:00
Odoo Translation Bot 84f9cdd1d9 [I18N] Update translation terms from Transifex 2016-07-24 02:59:48 +02:00
Stéphane Bidoul (ACSONE) 862e4c42ba
[CLA] Add Thomas Binsfeld in ACSONE CCLA
Closes #12810
2016-07-22 10:51:55 +02:00
Pedro M. Baeza c3b1a0eca7
[FIX] purchase: retrieve product full name in dropshipping
The name field is the name of the product.template while the display_name will
contains the variant description and product code to allow to identitfy which
product.product is moved.

Closes #11311
2016-07-22 10:37:57 +02:00
Martin Trigaux 8b83119fad
[FIX] project: add misssing decorator on onchange method
The onchange should have the signature with `ids` instead of `id` for a proper
Without this, the method can not be overriden with an api.multi (the return
result is a list of dictionnary which is not understood by the ORM as a proper
return format).

Fixes #12856
2016-07-20 17:20:18 +02:00
Goffin Simon d7f1270050 [FIX] product: default name in copy on product.product
When duplicating a variant, it's not necessary to append (copy) to
the name of the variant as it changes the name of the template too.

2016-07-19 15:48:49 +02:00
Nicolas Martinelli 2c19e9be96
[FIX] base: cherry-pick 55fa0912 to 8.0
Backported to 8.0 following report at #12648

[FIX] base: use datetime instead of date

The variable `date` is compared to the field `name` in the selection
query. `name` is filled in with datetime data. In particular, in the
module currency_rate_live, is used in the name. It is
necessary to make an appropriate comparison to make sure we select the
updated rate right away.

Fixes #12648
2016-07-19 12:58:13 +02:00
Odoo Translation Bot c3dd308913 [I18N] Update translation terms from Transifex 2016-07-19 12:10:41 +02:00
Stefan Rijnhart 2757ec3d0c
[FIX] web: prevent kwargs position confusion
The fith arguemnt of the search method in count in new API.
Passing all arguments as positional arguments will make the context passed for
the value of the `count` argument.

bbc67ec is a similar fix in 9.0

Closes #12830
2016-07-19 11:19:46 +02:00
Ronald Portier 17a1304285
[FIX] hr_timehseet_sheet: drop view before creation
When the schema of a view change (e.g. drop of column), the "CREATE OR REPLACE"
will not be enough and dropping the view is required.

Fixes #12754
Closes #12756
2016-07-14 11:42:52 +02:00
Goffin Simon 965024902d [FIX] delivery: Invoice line for delivery method
Steps to reproduce:

1. Activate the following options
** Settings > Warehouse > Products > Manage different units of measure for products
** Settings > Accounting > Accounting & Finance > Analytic accouting
2. Desactivate the following option
** Settings > Accounting > Analytic accouting > Sale > Use multiple analytic accounts on sales
3. Create a Sale order
** Add 2 qty of the product iMac
** Add in quote the delivery method "Normal Delivery Charges" and set 2 qty
** Set an analytic account under Contract/Analytic
** Set the field Create Invoice to "On delivery Order"
4. Deliver only 1 quantity of the iMac and then create the invoice
5. Deliver the last quantity of the iMac and then create the invoice

Behavior before the fix:
The first invoice contains 2 qty of the Transport
The second invoice contains 1 qty of the Transport, has no analytic account set, has no UOM set

Behavior after the fix:
The first invoice contains 2 qty of the Transport
The second invoice contains 0 qty of the Transport because it has already been invoiced

Closed #12644

2016-07-11 14:30:16 +02:00
Odoo Translation Bot ef83f798d5 [I18N] Update translation terms from Transifex 2016-07-10 03:01:32 +02:00
Denis Ledoux 0c3cd7cbb4 [FIX] website_hr_recruitement: website desc translation
Backport of the revision

2016-07-08 10:14:10 +02:00
Christophe Combelles e38947989a
[FIX] setup: backport of 6ceb0a2b1b92
[FIX] pyparsing version inconsistent with requirements

Fixes #12693
2016-07-07 14:05:20 +02:00
Martin Trigaux 0df7a1ca2f
[FIX] base: decode params_store content
The parameter bin_size=True will display the size of the binary field.

Fixes #12681
2016-07-06 16:24:50 +02:00
Daniel-CA 5e466d3507
[FIX] stock_account: prevent division by zero
In case of a move where source location = destination location, the result of
SUM(quantity) would be 0 and ending up with a division by zero.

Closes #12247
Closes #12423
2016-07-06 11:18:20 +02:00
Lionel Sausin 5537c5a13c
[FIX] stock_account: do not sum price unit
The view yields one line per stock move, with a price/unit on each line.
It doesn't make sense to sum price/units, the avg will be only meaningful when
grouping per product but it's correct in the default state.

Closes #11309
2016-07-06 11:16:07 +02:00
Laetitia Gangloff 77de330c03 [IMP] stock: stock_change_product_qty : add hook to complete inventory line data
Improved by Denis Roussel (Acsone). Closes #10598
2016-07-05 17:55:26 +02:00
Alex Comba e3954a3457 [FIX] stock: fix AccessError on stock.quant while trying to resolve an inventory line linked to a package closes #12511 2016-07-05 17:36:45 +02:00
Joren Van Onder 75dbd545c8 [FIX] point_of_sale: mount /boot when building the POSBox image
We don't mount /boot in fstab to prevent systemd-udev looking for
corresponding kernel modules in /lib/modules. We need to do this
because the modified kernel-qemu image we use for emulation is usually
not 100% the same version as in the Raspbian image. Therefore
systemd-udev won't be able to find the 'correct' kernel modules in

This causes issues when the raspberrypi-kernel package is updated
however. apt will update /lib/modules and will write the new
kernel{7,}.img files to /boot. Before this patch /boot was just a
directory on /dev/sda2, not the 'real' /boot which is on /dev/sda1. So
you'd end up with old, not updated kernel images but new, updated
kernel modules in /lib/modules.

This mounts /boot after the system booted. /boot gets mapped to
/dev/sda1 by /etc/udev/rules.d/90-qemu.rules.

Fixes #12650
2016-07-05 16:18:25 +02:00
Martin Trigaux 64b0e67a38
[FIX] hr_recruitment: wrong id on composer
When an applicant is moved from a stage to another, an email is sent to the
applicant(s) if an email template is specified on the stage.
The active_ids is correctly set in the compose context to be used by the
send_mail method to send a message to all the applicants in the new stage.

However, a potential active_id may be propagated from a previous action.
This is the case when a user goes from a Job Position record to the list of
applications and change the stage using the kanban view (active_id & active_ids
is the id of the hr.job).
The default_get method of mail.compose.message will use the active_id as the
default value for the field res_id which is wrong as it is the id of another

Forcing the value at False instead of ids[0] as it would not work in batch mode.
The list of records is correctly used in send_mail anyway.

Closes #12494
2016-07-05 10:28:34 +02:00
Anton Engelhardt 8914de8c53
[FIX] mrp: missing context
context was not passed to move objects in action_cancel

Closes #12598
2016-07-04 17:24:47 +02:00
Odoo Translation Bot 1986980a51 [I18N] Update translation terms from Transifex 2016-07-03 02:59:06 +02:00
Odoo Translation Bot ff31e0381a [I18N] Update translation terms from Transifex 2016-07-01 00:28:27 +02:00
Nicolas Martinelli 830fc8922d [FIX] purchase: traceback when copy
If a PO has no product, a traceback is raised because
`onchange_product_id` returns no planned date.
2016-06-30 08:27:49 +02:00
Odoo Translation Bot 3e965ecf58 [I18N] Update translation terms from Transifex 2016-06-26 02:57:50 +02:00
Stéphane Bidoul (ACSONE) ee3666237a
[CLA] add Denis Roussel in Acsone CCLA
Closes #12570
2016-06-24 14:31:00 +02:00
engelant b00ba0b6db
[CLA] signature for engelant
Closes #12551
2016-06-24 14:28:09 +02:00
Alexis de Lattre 297bbff6f5 [FIX] stock: use float_compare to avoid an error in the transfer (The roundings of your Unit of Measures kg on the move vs. kg on the product don't allow to do these operations or you are not transferring the picking at once.) 2016-06-22 15:05:07 +02:00
Raphael Collet ff93777099 [FIX] models: inverse several computed fields based on a common computed field
Consider fields G1 and G2 being computed fields with inverse methods that
require the value of a common dependency F, which is also a computed field.
For inversing G1 and G2, their values are put in cache, then their inverse
method is called.  If the inverse method of G1 requires the computation of F,
setting F's value will invalidate both G1 and G2 in cache.  Hence the value of
G2 is lost when invoking its inverse method!

The fix consists in marking G1 and G2 as being computed before invoking their
inverse method, which prevents them from being invalidated by field F.
2016-06-22 14:01:59 +02:00
Christophe Matthieu a9fac2ea2d [FIX] web: required attribute on one2many field
Require One2many field without any line must show an error like many2many fields.

issue 11782
2016-06-22 09:16:07 +02:00
Odoo Translation Bot 41ec7eec56 [I18N] Update translation terms from Transifex 2016-06-22 07:12:57 +02:00
Josse Colpaert fe15829c16 [IMP] stock: when applying a push rule the new move should not be linked to the same procurement anymore 2016-06-21 10:16:07 +02:00
Goffin Simon c77745b9c5 [FIX] sale, slae_stock, website_quote: get sale_delay in onchange_template_id
Inspired from a706ada

opw:681245, 681289, 681285
2016-06-20 15:13:01 +02:00
Christophe Simonis 5b1beec1f2 [FIX] models: commit *before* trying to set NOT NULL constraint
Setting NOT NULL constraints on required fields may fail if there are
any row with unset value for this column.
The ORM handle this case by catching the exception raised and warning

However, not commiting the current transaction before, will rollback
changes made before like setting default values or renaming a column.
2016-06-20 11:53:59 +02:00
Nicolas Martinelli 8a1d7dfe7b [FIX] sale_stock: do not count discount twice
When a product is a kit and a discount is applied thanks to a pricelist,
the discount is counted twice if the invoice is created from the stock

This is because the pricelist will modify the price unit, but moreover
the discount will be applied a second time by the method
`_compute_price` of the account move line.

2016-06-20 08:36:19 +02:00
Odoo Translation Bot cd369396d9 [I18N] Update translation terms from Transifex 2016-06-19 02:59:13 +02:00
Xavier ALT f02b23006b [FIX] fields: during an onchange(), do not invalidate *2many fields because of their domain
Our usage of domain on fields One2many seems to trigger an obscure behaviour on

With the following (simplified) config:

        _name = 'test_new_api.message'
        important = fields.Boolean('Important')

        _name = 'test_new_api.discussion'
        name = fields.Char('Name')
        important_emails = fields.One2Many('test_new_api.emailmessage', 'discussion',
                                           domain=[('important', '=', True)])

        _name = 'test_new_api.emailmessage'
        _inherits = {'test_new_api.message': 'message'}

        discussion = fields.Many2one('test_new_api.discussion', 'Discussion')
        message = fields.Many2one('test_new_api.message', 'Message')

- We change 'name' on discussion, triggers an `onchange()` call
- we ends up filling cache on virtual record (on secondary fields, we calling
- we get a cache miss ('important' field not provided, only 'important_emails' ids,
  i.e with no change on existing records)
- we fill the cache, this mark 'important' field as modified
- because of commit 5676d81 and because 'important' is that case is a related (i.e
  computed) field we triggers cache recomputation
- as there is no way to recompute 'important_emails' for virtual record (no real
  ID) we ends up with empty 'important_emails' generating removal of existing records.

=> Finally changing any value for 'test_new_api.discussion' that trigger an onchange
will always reset 'important_emails' to empty

Fixed by Raphael Collet <>, and test by Xavier Alt <>.
2016-06-17 17:50:25 +02:00
jeffery chen fan bcb191f273
[FIX] crm_profiling: backport of cf9230d1ff
Do not redefine the view arch but do a proper inherit.
It was a problem as the redefinition removed some fields (headers,..).
It was also a problem if crm_profiling was uninstalled as the redefinition was
not removed.

Closes #12454
2016-06-17 15:19:39 +02:00
qdp-odoo ba49172929 [FIX] account: on ir_sequence, number_next_actual must always be read instead of number_next which might contain wrong value in case of 'standard' sequence. This was causing a crash on creating a new invoice, if demo data were installed and the user went to settings\accounting to do some modification. Issue #12471 2016-06-17 14:41:12 +02:00
luc-demeyer 1750b90252 [FIX] account: fixed group_lines method of invoices.
The group_lines method didn't make the sum of the quantity field, hence resulting in incorrect results when making product based statistics from the account.move.line records.

Courtesy of Luc De Meyer. Was PR #10551
2016-06-17 10:27:53 +02:00
Martin Trigaux 9007ed4c0b
[FIX] doc: Research -> Search
If I need to do researchs to find a quotation, the goal of having a userfriendly
software may be missed.
2016-06-17 09:48:47 +02:00
Nick-OpusVL bdf93910c3
[FIX] doc: 'Searching' instead of 'Research'
The word 'Research' isn't usually used in this context.  'Searching' is better.
Closes #11517
2016-06-17 09:40:46 +02:00
Florian Kisser 80db184616
[CLA] Corporate signature for Seekda GmbH
Closes #12463
2016-06-17 09:20:40 +02:00
William Moreno eeb53881dc
[CLA] signature for williamjmorenor
Closes #12467
2016-06-17 09:20:40 +02:00
Denis Ledoux ae74ebb5ce [FIX] purchase: `related_usage` must be readonly
The `related_usage` field of `purchase.order`
is a related field to the location `usage` field,
which is defined in order to display/hide
some other field in the PO according to the location usage

This is purely a technical field, which is set only
to change the form view according to the location

This is not expected to change the location usage
through this field, this field must therefore
be set to readonly.

A change on the location usage could happen because
of the `onchange_picking_type_id`:
If the user changed the picking type, and then the location,
the usage returned by the `onchange_picking_type_id` was
applied on the location, and this must not have happened.

In addition, since `related_usage` is a related to the location
usage, it should be changed as well when the location is changed.
(in the new api, this is no longer required, the related field
is updated automatically).

This revision therefore adds an onchange on the location as well,
to handle this.

2016-06-16 11:32:10 +02:00
Stefan Rijnhart 606eab8ef8
[FIX] product: make copy friendlier to overrides
Do not force to use "<name> (copy)" when duplicating

Closes #12397
2016-06-15 12:07:14 +02:00
Simon Leblanc baa4cc0e97
Backport of ec005af5 to 8.0
[FIX] anonymization: default anonymization fields was twice : remove one doesn't exist (now, it use the partner name) : remove
remove training.* fields that do not exists

Closes #11806
2016-06-14 15:52:18 +02:00
Simon Leblanc 7db7b2dd6a
Backport of 45483b96 to 8.0
[FIX] anonymization: allow anonymization on HTML fields

Was missing in the (old) list of fields
2016-06-14 15:51:46 +02:00
Simon Leblanc dedbcce762
Backport of 42aa79d6 to 8.0
[CLA] Sign CLA of leblanc-simon

Done at #11806
2016-06-14 15:51:08 +02:00
Martin Trigaux de78b1b3da
[FIX] http: force removing the debug in redirection
In case of local_redirect with
* forward_debug=False
* qwery={'debug': True}

the debug mode should be removed.

cf discusion on #12107 and dd4980b0
2016-06-13 15:18:09 +02:00
Nicolas Martinelli 6817c48a8b [FIX] website_sale: check email address
Partial backport of ef19830. The error message cannot be included for
compatibility reason, but the browser will highlight the field in red,
which should be enough to locate the error.

2016-06-13 14:08:26 +02:00
Jordan Vrtanoski d43d1ddf4b [FIX] hr_payroll: do not unlink records in onchange method
Fixing the error ValueError: "name 'date_from' is not defined"
while evaluating '[date_from, date_to, employee_id, contract_id]'

This commit close #12383, close #8883, close #3116
2016-06-13 10:05:09 +02:00
Jordan Vrtanoski 2219c83aac [CLA] add 2016-06-13 10:04:34 +02:00
Odoo Translation Bot 3215a81bab [I18N] Update translation terms from Transifex 2016-06-12 03:06:37 +02:00
Martin Trigaux dd4980b0a8
[FIX] http: keep debug mode in rediction
The parameter forward_debug is used to keep the debug mode during redirection.
Previous code was setting the debug to None which is ignored by werkzeug, making
the option useless.

Closes #12107
2016-06-10 16:51:41 +02:00
Nicolas Martinelli 26b3501ca9 [FIX] l10n_fr_hr_payroll: use `child_of`
Previous commit 8f7129216 searches recursively for children of a rule
category. Use `child_of` instead which is way more efficient.

2016-06-10 11:39:47 +02:00
Nicolas Martinelli 8f71292162 [FIX] l10n_fr_hr_payroll: children categories
When a rule category has children, the total of the category should
include the total of the children categories.

2016-06-09 15:21:03 +02:00
Shelton Freddy 35536b7206
[FIX] purchase: do not allow creation on purchase.order.line
To match the behaviour on sale.order.line.
Purchase line form is expected to be open in popup (where parent is defined),
not individually when creating a line alone is not useful.

Fixes #6644
Closes #12325
2016-06-09 13:46:08 +02:00
Shelton Freddy 34eecbf4be
[CLA] signature for sheltonfreddy141
Closes #12326
2016-06-09 13:21:28 +02:00
Peter Hahn 6d7cb5408e
[FIX] sale,procurement: use super instead of direct call
Otherwise inheritance is not properly propagated

Closes #12337
2016-06-09 13:19:09 +02:00
Patrik Lermon 529c2447b8
[CLA] individual signautre for Patrik Lermon (kler)
Closes #12347
2016-06-09 10:38:30 +02:00
Pedro M. Baeza e3e5cfe82c
[IMP] l10n_es: Added a new tax "IVA soportado no sujeto" 2016-06-08 16:15:20 +02:00
Pedro M. Baeza 730890f369
[IMP] l10n_es: New taxes, taxes codes and fiscal positions according law changes
* v5.2: Añadida retención 19,5% arrendamientos.
* v5.1: Renombrado todo lo relacionado con arrendamientos para no incluir la
  palabra "IRPF", ya que no es como tal IRPF.
* v5.0: Se ha rehecho toda la parte de impuestos para dar mayor facilidad de
  consulta de los datos para las declaraciones de la AEAT y para cubrir todas
  las casuísticas fiscales españolas actuales. Éstas son las características
  más destacadas:

  * Desdoblamiento de los impuestos principales para bienes y para servicios.
  * Nuevo árbol de códigos de impuestos orientado a cada modelo de la AEAT.
  * Nuevos códigos para los códigos de impuestos para facilitar su
  * La casilla del modelo viene ahora en la descripción, no en el código.
  * Posiciones fiscales ajustadas para el desdoblamiento.
  * Nuevo impuesto y posición fiscal para retención IRPF 19%.
  * Nuevo impuesto para revendedores con recargo de equivalencia.
  * Nuevas posiciones fiscales para retenciones de arrendamientos.
  * Pequeños ajustes en cuentas contables.

Closes #8453
2016-06-08 16:14:35 +02:00
Goffin Simon d0d3ba921d [FIX] website_quote: delay in SO line
When creating an SO line with a quotation template, the customer
lead time must be set.

2016-06-08 14:17:40 +02:00
Martin Trigaux f307e36e66
[FIX] base_import: disable tracking during validation
Force the value tracking_disable to be make sure that the validation (which is
supposed to have no impact), will not send any email.

Fixes #3173
2016-06-08 11:37:03 +02:00
Joren Van Onder fe99c51703 [IMP] hw_scanner: support multiple simultaneously attached devices
The hw_scanner module not only supports barcode readers (although that
was it's original intention). It also happens to support certain card
readers (like the MagTek Dynamag we use for Mercury) because they act
the same way as barcode scanners (like a keyboard and end sequence with

Before we supported Mercury there was no real reason to support multiple
devices on the POSBox, because it didn't make much sense to attach >1
barcode reader to the same POSBox. With Mercury however, this is a real
use case, as users want both a barcode reader and a card reader.

This commit implements support for this, while keeping the functionality
as close as possible to how it was before (eg. care was taken to not
break plug and play support).
2016-06-08 10:03:09 +02:00
Nicolas Martinelli 6140300da0 [FIX] account_analytic_analysis: fpos of invoices
When an invoice is created automatically thanks to the cron task, the
superuser is used. However, this implies that the company of the
superuser will be used for the account invoice creation, leading to
potentially incorrect taxes and fiscal positions.

2016-06-07 12:20:23 +02:00
Martin Trigaux ff3a0b12c6
[FIX] hr_evaluation: badly rendered form
The date was positioned inside the h1 and was badly rendered (field too small)
Fixes #2476
2016-06-07 12:16:38 +02:00
Denis Ledoux b9a006c1c0 [FIX] account: Exchange test failing on Jun 6
The test `test_balanced_exchanges_gain_loss`
failed on Jun 6, because it created a specific rate
for today's date at midnight
(e.g. on Jun 6, 201x-06-06 00:00:00) for the test purpose,
but a rate is created in the demo data for Jun 6 midnight exactly:
`base.rateUSDbis`, making the test confused about which rate
to use.

We solve this by making the test use the rate `base.rateUSDbis`,
modifying the rate for its own need, instead of creating a new
2016-06-06 13:11:20 +02:00
Denis Ledoux 950fd97d06 [FIX] fields: translations of the help of inherited fields
This is similar to revision 54140331f3

2016-06-06 11:44:34 +02:00
Odoo Translation Bot eb48b94cea [I18N] Update translation terms from Transifex 2016-06-05 03:01:35 +02:00
Adrien Peiffer (ACSONE) 2779d463e8 [FIX] l10n_lu: Change the sign for VP-IC-EX. Was PR #12041 2016-06-02 17:38:05 +02:00
Martin Trigaux 30f06fd39e
[FIX] website_forum: convert content of posted comment to plaintext
HTML content should be escaped before being sanitized. Any content (link, image,
code,...) that is acceptable in usual mail.message but should not be interprated
when posted on a comment of the forum.

Fixes #3737
2016-06-02 17:00:17 +02:00
Denis Ledoux c751c129da [FIX] website_sale: `State` select readonly in shipping info
If we take the below facts:
 - The country select is set as disabled
   when Shipping is set to "Ship to the same address"
 - The disable property of select inputs is
   removed when shipping is set to
   `create a new address`:
   In `website_sale.js`:
   $selects.attr("disabled", value <= 0 ? null : "disabled" ).prop("disabled", value <= 0 ? null : "disabled" );

We can safely assume that the select input "State / Province" was supposed
to be set as `disabled` in the first place, not as `readonly`

Before this revision, State / Provice was greyed when choosing
"Create a new address" for shipping, and selecting the United States
(but the select input was still usable, though, it was just greyed)

2016-06-02 16:57:36 +02:00
Christophe Simonis bde083a5f9 [MERGE] forward port of branch 7.0 up to 0ae392c