Commit Graph

94522 Commits

Author SHA1 Message Date
Goffin Simon 8ef590bb28 [FIX] stock_account: stock inventory valuation
The function "open_table" is not called when triggering the action
window "Current Inventory Valuation". Then the 'history_date' is not
set in the context.

opw:649168
2015-09-16 14:18:40 +02:00
Paul Catinean 40c35fb48a [FIX] website: set multilang to `False`on `website_image`
Add multilang=False to website_image controller to prevent redirects

Because website_image is decorated with website=True
Requests made for the product image at
`/website/image/product.template/xx_xx/..`
triggered redirections to add the language code to the
requests URLs. This redirection was useless, as setting
the language code for images is non-sense.

Adding `websitelang=False` prevents this redirection.

In addition, the redirection could lead to
SSL security concerns, as the redirection
could use the http:// scheme.

Closes #8515
2015-09-16 14:12:44 +02:00
Olivier Dony 2b1cdd551f [FIX] fields.float: avoid non-deterministic side-effects on other cursors
In 5efac22043 and
1cf5723835 the computation
of the decimal precision of float fields was modified to
reuse a random cursor from the request environments.
Environment.envs is a WeakSet, subject to unpredictable
garbage collections.

This could cause hard-to-diagnose problems by executing
a SELECT query in a cursor that is supposed to be
otherwise idle and untouched.

As an example, this could cause a transaction start in a
cursor that was just committed/rolled back,
and was waiting for another operation to complete.

One such case happened semi-randomly during a module
installation triggered from the web client, where the request
cursor is committed and waiting for the registry
initialization done with a different cursor,
in the middle of _button_immediate_function()

After the registry initialization, the request cursor is
used again to determine the next action (ir.actions.todo),
and this could cause a TransactionRollbackError if the
request cursor was used during the initialization.

Using a new cursor every time is much safer, simpler,
and will not cause any significant performance hit,
because it will usually grab an available connection
from the connection pool, rather than create a new one.

Fixes opw-649151
2015-09-15 19:38:19 +02:00
Xavier Morel a139d81c46 [FIX] doc: odoo theme so it's compatible with Sphinx 1.3
Sphinx.set_translator is a Sphinx 1.3 API, and we only require Sphinx
1.2 at this point. Replace the use of set_translator with explicitly
setting the ``html_translator_class`` config setting.
2015-09-15 16:06:13 +02:00
Xavier Morel 2474a91bc9 [IMP] doc: recommend not using @api.one
* alter docstring of @api.one to mark it as deprecated for 9.0,
  recommend using @api.multi instead
  - deprecation notes were not correctly styled, add styling
    matching "warning" alerts
* move @api.one down the doc page to deemphasize it
* fix "backend" tutorial to remove all instances of ``@api.one``

closes #8527
2015-09-15 14:38:45 +02:00
Goffin Simon acf22b7bc8 [FIX] resource: current_hour in interval_get_multi
The minutes of dt_from(start date) must be taken into account by current_hour and not by
todo (hours).
2015-09-14 15:53:59 +02:00
Goffin Simon 2442fe2e4b [FIX] resource: hour_to and hour_from in interval_get_multi
The function interval_get_multi must take into account the minutes in
hour_from and hour_to. hour_to and hour_from are float fields in the model
"resource.calendar.attendance" and the decimal part of these two fields is
for the minutes.

opw:648349
2015-09-14 14:53:14 +02:00
Denis Ledoux f627199def [FIX] payment_ogone: Waiting status
Waiting status should be seen as pending status:
They require a manual intervention, except
if a new feedback is provided later.

opw-649302
2015-09-14 12:45:13 +02:00
Nicolas Lempereur 1fe932a7bc [FIX] web: css for popup search view float position
The widget SelectCreatePopup display the search view drawer directly
after the search view input field. But in current firefox version this
could lead to an issue with float positionning.

fixes #8462
opw-648999
2015-09-14 12:15:10 +02:00
Olivier Laurent 47133c7d3f [ADD] doc: database upgrade API: structure change
1° add a second level of titles because they were too long and
overrided the second column (the 'code column)
2° Add 'double backticks' around some keys
2015-09-14 11:52:12 +02:00
Nicolas Lempereur 5ac77c943b [FIX] membership, website_membership: paid but expired
A paid membership is expired if the validity period (period between
date_from and date_to) doesn't match with the current date.

closes #8505
opw-648627
2015-09-14 10:43:29 +02:00
Nicolas Lempereur e03d64cfaa [FIX] website: remove cancelled request for mobile preview
In 7d40a7d, f820c07, 3ed0628 the way the mobile preview iframe is set
was altered several times. This left an inconsistent needless page load.

This page load was cancelled, but as a side effect in a given set of
conditions:

- an ajax request is done early in current (and so iframe) page,
- phantomjs is used for the test,
- server response time

this could lead to a false positive caused by a cancelled xhr request
throwing the error: "Can't load template, http status 0".
2015-09-14 10:13:25 +02:00
Odoo Translation Bot 7ed58916df [I18N] Update translation terms from Transifex 2015-09-13 01:55:09 +02:00
Christophe Simonis 024177ebc4 [FIX] resource: get_working_intervals_of_day
Use patch from 8.0 (64e1c28e35) instead of
the one from 7.0 (bbd15cdca6).
2015-09-11 18:07:49 +02:00
Raphael Collet 1a47ac3921 [FIX] models: fix write() on inherited field that is not a column of parent 2015-09-11 17:35:24 +02:00
Christophe Simonis 35233dbbe2 [FIX] core: tools.html_sanitize: allow svg images 2015-09-11 16:42:47 +02:00
Christophe Simonis 1a8569095e [MERGE] forward port of branch saas-3 up to d48aa27 2015-09-11 16:38:00 +02:00
Christophe Simonis d48aa27cce [MERGE] forward port of branch 7.0 up to a7ff110 2015-09-11 16:16:27 +02:00
Goffin Simon 9e2062a74b [FIX] purchase: _create_invoice_line_from_vals
When creating a SO in dropshipping with 'create invoice' = 'on delivery order',
the resulting invoice must not be linked to the PO but to the SO created.
Inspired from '_create_invoice_line_from_vals' in addons/sale_stock/sale_stock.py

opw:647628
2015-09-11 15:41:33 +02:00
Christophe Simonis a7ff1104bc [FIX] base: sanitize module description 2015-09-11 14:58:44 +02:00
Nicolas Martinelli 94588c4302 [FIX] account_cancel: allow canceling the Cash Register in the same manner as Bank Statement
Closes #8342
2015-09-11 09:07:11 +02:00
Olivier Laurent 7163a0c865 [ADD] doc: database upgrade API (background image)
Add a background image.
The previous one was empty.
2015-09-11 08:46:01 +02:00
Mohamed M. Hagag 9069f29efa [ADD] l10n_sa: Saudi Arabia multi-lang CoA
Closes #8098
2015-09-10 15:20:05 +02:00
Denis Ledoux 428588a8b7 [FIX] website_quote: Amount before discount with included taxes
The undiscounted amount did not take into account the taxes
included in the price. Included taxes were seen as a discount.

For a quotation with one line with an included tax of 15%,
but no discount, the undiscounted amount must be the line price subtotal,
the price subtotal already removing the taxes from the price unit.

For a quotation with one line with an included tax of 15%,
and a discount of 10%, the undiscounted amount must be the line price subtotal,
plus the amount discounted. That way, the taxes included are already removed
from the price, but the discount is not included.

opw-648388
2015-09-10 15:06:44 +02:00
Martin Trigaux a9757d99c3 [FIX] account_anglo_saxon: price computation with different uom
When recording the cost of good sold, fetch the price based on the stock.move
Revision fb57514c used the standard_price fixing a UoM issues
2015-09-10 15:04:37 +02:00
Goffin Simon 92c4a3e89a [FIX] stock_landed_costs: Former Cost
The former cost of a stock.valuation.adjustment.lines line is the sum
of cost * qty  of each quant linked to the stock.move record linked to
this line (with the field 'move_id').

opw:648922
2015-09-10 14:08:37 +02:00
Olivier Laurent 1545591f3b [ADD] doc: database upgrade API 2015-09-10 12:51:47 +02:00
Martin Trigaux 8f7484b6af [FIX] crm_partner_assign: message translation structure
Backport of 1989495 without breaking existing translations.
do not forward port in 9 where proper fix has been made at 1989495.

Do not generate the messages by putting bits of sentences together.
Other languages do not have the same structure (and 'have not' was not
translated anyway).

For 8.0 keep the same source for the base error message but create a new one for
the negation as it was wrong in other languages.
2015-09-10 11:45:50 +02:00
Goffin Simon 77c8da7d2f [FIX] point_of_sale: tax_amount sign
The sign of the tax_amount in an "account.move.line" can be negative.
Introduced by cb86fef

opw:648231
2015-09-10 09:10:50 +02:00
Antonio Espinosa 74711efa0a [FIX] website: Default company of website model
Default website.company_id to base.main_company instead of base.public_user

base.public_user being a `res.users` and not a `res.company`

Closes #8236
2015-09-09 17:23:54 +02:00
Jos De Graeve ca47d4117f [FIX] delivery: Dont add other companies taxes deliveries
When delivery_set is called from the website_delivery module, the
uid is set to SUPERUSER_ID. In a multi-company environment, this
causes the linked taxes from the delivery product to be added
to the sale_order_line.

Closes #8311
2015-09-09 16:50:26 +02:00
Olivier Dony 2f8d6e796b [CLA] Update Camptocamp CLA
Typo + add older Camptocamp contributors.

Confirmed by email with Joël Grand-Guillaume
and Luc Maurer on 2015-09-09.
2015-09-09 15:51:15 +02:00
Stéphane Bidoul 8d58d985dd [FIX] http: no auto-load for modules not installable
Closes #8289
2015-09-09 13:56:55 +02:00
Denis Ledoux 097fbd3941 [FIX] payment_paypal: receiver email different than business email
Check receiver_email only if receiver_id was not checked.
In Paypal, this is possible to configure as receiver_email
a different email than the business email (the login email)
In Odoo, there is only one field for the Paypal email:
the business email. This isn't possible to set a receiver_email
different than the business email.
Therefore, if you want such a configuration in your Paypal,
you are then obliged to fill
the Merchant ID in the Paypal payment acquirer in Odoo,
so the check is performed on this variable instead of the receiver_email.
At least one of the two checks must be done, to avoid fraudsters.

opw-648776
2015-09-09 13:38:19 +02:00
Nicolas Lempereur 4626240d5d [FIX] point_of_sale: don't read for barcode when search focused
The product search field already handle product scanned by a code bar
(by adding it if it corresponds to only one product to the order) so
when the barcode is entered in this search input, the scan doesn't need to
be done.

closes #8433
opw-648856
2015-09-09 12:10:59 +02:00
Goffin Simon c092c40d14 [FIX] purchase: _calc_new_qty_price
The price must be compute with the purchase unit of measure set
on the product because qty is computed according to this unit of
measure.

opw:648513
2015-09-09 10:53:48 +02:00
Nicolas Martinelli 186c77dad1 [FIX] stock: do not remove lot id when splitting lot
Partial revert of the commit b62191c171.
We want to keep the lot number if we don't add all the products at once.

opw-648629
Fixes #7044
2015-09-09 10:50:04 +02:00
Raphael Collet 085875619f [FIX] fields: in `one2many.set`, replace incorrect query by ORM access
When linking a record into a `one2many` relation with command `(4, rid)`, a
query checks whether the record is already linked to the current record id:

    SELECT 1 FROM {inv_table} WHERE id={rid} AND {inv_field}={id}

where `inv_field` is the name of the inverse field, and `inv_table` is the
table where this field is stored.

The query is wrong if the inverse field is inherited, because the `rid` does
not belong to the table `inv_table`.

The test has been replaced by a plain ORM access:

    rec = obj.browse(cr, SUPERUSER_ID, rid)
    if int(rec[inv_field]) != id:
        ...

This fixes #4685.
2015-09-09 09:36:40 +02:00
Wolfgang Taferner b89b7e0554 [FIX] website_sale, website_sale_delivery: Improve GA eCommerce data
As eCommerce is not complete and could be improved easily and was
not working anyway until
9d0cb024fd

- Use EAN13 instead of internal product id if available
- Add tax to transaction data
- Add shipping costs if available to transaction data
2015-09-08 18:06:38 +02:00
Denis Ledoux e509f9155b [FIX] google_calendar: all day event stop date
For an event during all day, during 2 days,
e.g. September 9th and September 10th,
Google expects as start date the first day, and as
stop date the day after the last day.
e.g.
start 2015-09-09
stop 2015-09-11

Even if, afterwise, in the Google Agenda interface, it will
be correctly displayed 2015-09-10 as end date.

This must be applied at the event creation AND at the event
update. It was not the case until this revision.

Besides, we now use the event `stop_date` in Odoo, instead
of the duration, in case the duration has been incorrectly
computed.

opw-648867
2015-09-08 17:21:20 +02:00
Martin Trigaux 3280819142 [I18N] crm_partner_assign: fix outdated source file
Seems it was not updated at 8.0 release, missing many terms
Fixes #6655
2015-09-08 17:19:47 +02:00
Odoo Translation Bot 101540b491 [I18N] Update translation terms from Transifex
Fetch the translations with the option --all to fetch missing languages
and use --minimum-perc 10 to avoid empty files

Fixes #8423
2015-09-08 17:07:59 +02:00
Martin Trigaux 3120357707 [I18N] export translations of models.py and tools 2015-09-08 16:55:40 +02:00
Martin Trigaux 8ac392873b [FIX] tools: export translations of models.py
When exporting the translations, the terms stored in individual files outside of
addons folders (e.g. openerp/models.py) needs to be scanned as well and added in
base translations.
Some folders like osv and report were enough to add these files but with the new
api moving the ORM to openerp folder, a non-recusrive scan needs to be added.

Fixes #7482
2015-09-08 16:55:36 +02:00
Luc Bonjean 4792156e1f [CLA] Corporate Lubon bvba
Closes #7671
2015-09-08 15:51:50 +02:00
pedro 782db031c9 [CLA] Pedro Rodriguez Gil
Closes #8377
2015-09-08 15:50:38 +02:00
JoshuaJan 682672ea50 [CLA] Joshua Jan
Closes #8335
2015-09-08 15:50:37 +02:00
Antony Lesuisse c16f65b1dc [CLA] update mailmap 2015-09-08 15:45:09 +02:00
Denis Ledoux ca2fa82aba [FIX] mass_mailing: Select records with Leads / Opps as recipients
`False` is not syntax valid for a domain.
It leads to errors when trying to evaluate `False`
as a domain in the evaluation of `pyeval.js`.

Therefore, using `False` as default value for `mailing_domain`
isn't correct

opw-648857
2015-09-08 15:33:55 +02:00
Martin Trigaux 909e6e300a [FIX] email_template: use valid email_from content
Correctly use the email_from tag from template.
This partially reverts commit 0f82346167.
"[FIX] email_template: keep email_from and outgoing server"
Remove the email_from part that was incorrect, keeping the one on mail_server_id

Instead of assigning an non-evaulated email_from in the context, specify the
email_from in the onchange method. This way the created email has an evaulated
from value. This was an issue for templates using email_from like
"${(object.user_id.email or '')|safe}"

In the _notify method method, the email_from is partially respected as it will
be used a fallback only. However changing that would introduce a modification of
behaviour not suitable for 7.0 branch.

Fixes #8409
2015-09-08 14:30:37 +02:00