Commit Graph
103552 Commits
Author SHA1 Message Date
qsm-odoo 5e38bef5a5 [FIX] website: review iframe video building
/!\ This commit *must* be "forced" forward-ported /!\

Recent commit(s) broke existing databases making website videos
disappear / not be saved / ...

Original code was broken then fixed by a succession of commits which
solved some errors to create new ones. Hopefully, this one is the right
stable one. Existing databases should be restored while allowing new
videos to be added correctly no matter the version. In master, a solution
must be found to smoothly migrate old videos to a new better system.

See:
https://github.com/odoo/odoo/commit/8749410b1033ddec1207ce1db42d1889a0d2ea33
https://github.com/odoo/odoo/commit/45e0cd564afdae71e9525193250744e88076da71
https://github.com/odoo/odoo/commit/6d2bf44fee76a8b73ebad206cd7a283c88b6c4ef (opw-783233)

opw-786165
2017-12-04 11:45:06 +01:00
Adrien Dieudonne e15e6fe32e [FIX] web_editor: support of SVG elements in snippets
Before this commit, it was not possible to save a page
containing a snippet with a SVG tag.

To support SVG elements, we need to use 'Element.getAttribute'
and 'Element.setAttribute' as mentionned in the documentation:
https://developer.mozilla.org/en-US/docs/Web/API/Element/className

For more information, see GH-14485
2017-12-04 09:24:35 +01:00
Odoo Translation Bot 19fda52a53 [I18N] Update translation terms from Transifex 2017-12-01 02:53:01 +01:00
Thibault Delavallée fe4bb49b21 [FIX] mail: fix wrongly duplicated access right 2017-11-30 12:55:48 +01:00
Romain Derie 82bde85030 [FIX] website_sale(_options): text in field qty throws error and/or create infinite quotations
Before this commit:
1. If user wrote text in the quantity field to add to his cart, it would crash
and show a server error.

Now, if the user insert a non-valid quantity in the field, we set it to 1

Step to reproduce:
With website_sale only
  - Go to a product page on the shop
  - Insert 'abc' in the quantity field and click 'Add to Cart'
  - Server will throw an error 'Can't parse float..'
With website_sale_options
  - Go to a product page on the shop
  - Insert 'abc' in the quantity field and click 'Add to Cart'
  - Popup confirmation with optional product will show with 'NaN' in the qty
  - Click 'Proceed to checkout'
  - Server will throw an error 'Can't parse int..'

2. On the checkout, if user typed text in qty field it would create infinite
quotations.
Some modules (eg: website_event_sale) would hide this behavior because they
override the RPC call to '/shop/cart/update_json' and throw an error on the
RPC.

Now, if user type incorrect integer quantity, we set the quantity to 1.

Step to reproduce:
1. On base (website_sale only)
  - Add an item to your cart
  - On checkout page, set qty to 'abcd' or whatever text
  - Check your browser console, every 500ms their will be a RPC call
  - Check your quotations in backend, their will be a new one every 500ms
2. On db-all
  - Add an item to your cart
  - Set qty to 'abcd' or whatever text
  - Check your browser console, it will throw an error on the second call

This closes #20482, closes #20904
2017-11-29 13:31:59 +01:00
Ivan Yelizariev 832d73deb4 [CLA] IT-Projects LLC 2017-11-29 12:43:09 +01:00
Ivan Yelizariev 6ba492fb09 [IMP] point_of_sale: log error message too
It's needed in phantomjs tests.

Without this commit it printed only error stack, which doesn't provide enough
information to fix it. This is a problem when the error is not reproduced on
running tours manually in browser.
2017-11-29 12:43:09 +01:00
adekock11 59a5dfefa8 [FIX] base: South African Rand is before the amount
Closes #21234
2017-11-28 15:24:36 +01:00
adekock11 90d4d7318b [CLA] signature for adekock11
Done at #21234
2017-11-28 15:24:23 +01:00
Lucas Perais (lpe) cae188514f [FIX] web_editor: Fieldtexthtml wait until iframe loaded to save
In the case where:
- you are too fast editing a mass mailing, trigger an onchange (e.g. mailing_model) and then save
You can use the edit/save shortcuts to make yourself believe you are Flash Gordon
- your internet is too slow (Down: 4Mb/s, Up: 500kb/s, Latency: 20ms)

Before ths commit, the onchange will return *before* the field (the iframe actually) is loaded.
This onchange contains a signal *in* the body_html of the field to allow communication with the iframe.
If you save before the iframe is loaded, this body_html keyword will be saved.

After this commit we deactivate the save button until the iframe is loaded.
We could have gone for a python user error on the value of the body_html too.
But it would have added a supplementary click and potential reloading

OPW 783616
2017-11-28 11:22:30 +01:00
qsm-odoo 6d2bf44fee [FIX] website: do not duplicate iframes at each edition
Before this commit, when an user added a video in his page (an <iframe>)
it was then duplicated each time the snippet in which the video is was
edited and saved again, slowing the page loading.

As the code responsible for that is quite outdated, it should be
reviewed and refactored in master. This commit only fixes the problem
with more code. This commit will also fix existing databases, if the
user edit the video snippet once again.

(Note: even if this commit's code will be even more strange in master,
it *should* be forward-ported anyway).
2017-11-28 10:03:27 +01:00
Joren Van Onder 11ae103e12 [FIX] point_of_sale: search customers with full search query
When the keypress handler is called the pressed key has not yet been
added to this.value. This leads to the search being performed with
e.g. 'Agr' when the user has typed 'Agro'.

Fix this by getting this value when the timeout expires. At this point
the value will be updated.

Fixes #21129
2017-11-27 16:03:47 -08:00
Martin Geubelle ccaced9292 [FIX] web: display selection label in graph
When grouping a graph view by a selection field, the labels on x axis
were the selection values themselves (not their corresponding label).

This issue was only present if there was only one group by field. In
this case, the attribute `grouped_on` is not an array but a string
containing the field name. This case wasn't correctly handled.

Note that this issue is not present in the new views (from saas-16).

Closes #19790
2017-11-27 15:47:35 +01:00
Stefan Rijnhart 10de33a57e [FIX] mail: handle emails with a single non-text part
SAP sends out emails that only contain a PDF part, without a text or
html body, e.g.:

    X-Mailer: SAP NetWeaver 751
    Content-Type: application/pdf; name="Afleveringsbewijs.pdf"
    Content-Transfer-Encoding: base64
    Content-Description: Afleveringsbewijs

Before this patch, this single non-text part was parsed into the body of
the final message, as if it was a text part.

Making the check for the main part more restrictive solves the issue, as
there is no reason to assume that a non-multipart content is
necessarily of text/* type. This PR also includes a regression test.

Closes #21102
2017-11-27 10:58:16 +01:00
Laurent Smet 8214395a49 [FIX] account: fix account.tax order
Suppose some taxes with the same sequence:

The tax are not computed in the same order in POS and SO/INV.
This is wrong in case of multiple taxes affecting the base.

-opw: 779498
2017-11-22 11:55:28 +01:00
Jeremy Kersten 8be77ca382 [FIX] website_event: add old class removed in previous commit
That could break xpath for others modules and that have no real impact to keep
it since it is removed in JS via:
    .find('.modal-body > div').removeClass('container'); // retrocompatibility

Related to https://github.com/odoo/odoo/commit/809aaf9e7b9de28383444d5059b19a67bb513f51#commitcomment-25751949
2017-11-21 11:32:13 +01:00
Lucas Perais (lpe) 586d3d4460 [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-21 08:30:13 +01:00
Lucas Perais (lpe) fee8b2b2d3 [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-21 08:29:52 +01:00
Lucas Perais (lpe) bab597bb47 [FIX] calendar: r_date must be defined before use
commit b4ec51021b forgot about the case where no domain was supplied
or when the conditions on it were not fulfilled.

before this commit, a traceback was thrown and no event was shown

After this commit, no errors and all the relevant events are shown

opw 782985
2017-11-20 09:16:16 +01:00
qsm-odoo 8d5c4cb30d [FIX] web: adapt JS boot logs to new Firefox version
When logging multiple elements in one log call in the new Firefox
version, all the elements are kept on one line. So if the second
element starts with a line feed, it will not go under the first
element but still be at the right of the first element, on a new
line.
2017-11-17 17:04:00 +01:00
Cedric Snauwaert 5b10f5dbc1 [FIX] account: reconciliation of payment with statement should not take lock date into account
If we have a payment in october and a statement in november and the lock date is 1st november, we can't reconcile both because we try to write statement_id on payment but there is the lockdate constraint. This is not correct and we should be able to reconcile both even after lock date as it is the case for other moves.
2017-11-16 12:23:48 +01:00
Lucas Perais (lpe) b4ec51021b [FIX][BACKPORT] calendar: correct search in recurrent event
backporting 76b724294a

OPW 779208

closes #20996

original commit message:

Add a 3 use cases with tests that were failing before.

datetime filters were not working correctly on stop filters
The `_get_recurrent_date_by_event` was only computing recurrency on the start
field of an event which can make a difference. A recurring event
  start=2017-01-01 09:00:00; stop=2017-01-01 10:00:0
was not matched in a search ('stop', '>', '2017-01-01 09:30:00')

The filter != was not handled in the recurring use cases.
e.g. making the search 'start is set' in the web client is equal to
  ('start', '!=', False)

Searching with only a start filter matching recurring events but not the
first ("real") occurence, was returning no result if no stop filter was present.
  start=2017-01-01 09:00:00; count=5
had no result in a search ('start', '>', '2017-01-02')
2017-11-16 10:39:32 +01:00
Laurent Smet 9785f8bbed [FIX] account: fix migrate_tags_on_taxes not working on multi-company
-opw: see PR https://github.com/odoo/odoo/pull/20792
2017-11-16 09:11:03 +01:00
Romain Derie 5297321207 [FIX] website_sale: 0.00 total is showing in empty cart if logged in
Before this commit, if you go on /shop/cart and your cart is empty, it will
show the total (Subtotal, Taxes, Total) as $ 0.00.
Indeed, the code is retrieving a 'sale.order' if you are connected and you
already have a draft sale order on DB (eg: you just add something to cart and
 emptied it afterward).

  - Add product to your cart and proceed to checkout
  - On checkout cart, remove the product, your cart is now empty
  - Reload the page (you should still be on /shop/cart) or go to /shop/cart
  - You now see the zero prices (Subtotal, Taxes, Total)

Now, we will hide this if you have an order but no line on that order.

This closes #20896
2017-11-15 12:45:41 +01:00
Nicolas Martinelli b152c5be4f [FIX] im_livechat: Creation date (hour)
Go to Report -> Operator Analysis -> Apply group_by 'Creation date
(hour)' => traceback.

`start_date_hour` is implemented for Livechat Support Report on
Channels, but not on Operators.

opw-782255
2017-11-14 15:36:58 +01:00
Nicolas Martinelli 73f0c6da6d [FIX] l10n_fr_fec: Receivable/Payable
In the FEC report, opening entries on receivable and payable accounts
should be split by partner.

opw-781321
2017-11-14 14:24:53 +01:00
mehdi-ghezal d07f9c5ef5 [CLA] signature for mehdi-ghezal
Backported to 9.0 cf comment
Closes #20850
2017-11-14 10:56:00 +01:00
Manuel Vázquez Acosta d6c2906d44 [FIX] mail: access the super of TestMailGroup
Instead of the parent of TestMail class

Closes #20728
2017-11-13 16:41:03 +01:00
Aaron Bohy 9bea735145 [FIX] web: search view: autocomplete on datetime fields
... gives wrong values due to the timezone.

For instance, let's assume that the browser timezone of the user
is UTC+2, and the user types 10/09/2017 10:00:00 in a searchview
with a datetime field in its arch (i.e. which autocompletes on a
datatime field). Before this rev., the suggested value was
10/09/2017 08:00:00, i.e. the timezone offset was substracted from
the value.
2017-11-13 14:07:40 +01:00
Olivier Dony fa5ee6ed26 [FIX] ir_sequence: add support for PG 10
PostgreSQL 10 move sequences' metadata fields into a new `pg_sequence`
system catalog. As a result, selecting from a sequence relation now
only return three fields, and does not include the `increment_by`
metadata field anymore.

This patch obtains the `increment_by` value from the new system catalog
for PostgreSQL server versions >= 10.

Fixes #20269
2017-11-11 01:01:48 +01:00
Laurent Smet ce818f1f8f [REVERT] account, point_of_sale: revert complex taxes computation
Reverts:
f85c8843c9
6c996723b2
455b5aaff8
c6a9bab074
6366150484
33d20a2241
47c0cfc6e7
6e46ba7b46
5afb5ecd04
2017-11-10 15:22:45 +01:00
Lucas Perais (lpe) bb38c7047e [FIX] im_livechat, mail: visitor to portal_user should keep livechat channel
Before this commit, when starting a livechat session as a public user and continuing as a portal user, the conversation was lost
(the poral user couldn't see previous messages posted as a public user)

After this commit, the conversation is kept and security insured by the uuid in the cookie

OPW 775568

closes #20279
2017-11-09 10:42:36 +01:00
Jeremy Kersten 35aa2a977f [FIX] website_slide: fix traceback when slide is a google doc or youtube link
In case we are not uploading a file but add a slide based on google doc url
or youtube link, post['datas'] is not set and the code will crash.

Javascript don't check the onError, so the user never see the error and wait
 that nothing happend.
2017-11-08 13:00:07 +01:00
Odoo Translation Bot 43e5f5a67f [I18N] Update translation terms from Transifex 2017-11-08 11:08:53 +01:00
Thibault Delavallée f8c974cf6e [FIX] mail: speedup tracking values computation when reading messages 2017-11-08 10:00:47 +01:00
Jeremy Kersten 15715e822c [FIX] hr_timesheet_sheet: avoid ambigous field action in sql.
ERROR: column reference "action" is ambiguous

This commit closes #13839
2017-11-07 16:32:09 +01:00
Nicolas Seinlet 6488682cd6 Backport 2d66d9a63e
[FIX] *: do not use groups when extending an asset bundle
Using groups when declaring an extension of an asset bundle leads to a
different generated asset bundle according to the user's group. This
is not something we want because a dynamic asset bundle's content
means that it could (and it does) trigger unwanted cache invalidation.

website_event, website_blog, website_forum and website_sale add
functions to . These functions are bound to
server side qweb nodes protected by groups. We can always add the
functions; if a user tries to use the routes he should receive a
traceback because of lack of access rules

website_blog adds a  module, but is guarded by
the presence of a node in the DOM. We use the same logic to guard the
module added by website_sale with the  node.

website_gengo is working as expected.
2017-11-07 10:57:06 +01:00
Nicolas Martinelli 6c996723b2 [FIX] point_of_sale: wrong variable name
`tax_amount` is not defined here, making it impossible to remove an
order line...
2017-11-03 13:16:15 +01:00
Nicolas Martinelli f85c8843c9 [FIX] account, point_of_sale: tax with fixed amount
- Create a tax:
  Fixed amount: 10
  Price included
- Add it by default to a product costing 100
- In a SO/PO/Invoice, add 2 units of the product

The total price is 210 instead of 200.

opw-779696
2017-11-03 12:57:34 +01:00
Laurent Smet 455b5aaff8 [FIX] account, point_of_sale: fix rounding issues with taxes computation (#20573)
Suppose a tax of 20% with price_included = True and apply this tax on 399.99:
- base = 399.99 / 1.2 = 333.32500000000005
- tax_amount = base * 0.2 = 66.665
- round(base) + round(tax_amount) = 333.33 + 66.67 = 400.0 (!= 399.99: WRONG)

-opw: 777925
2017-11-02 14:02:04 +01:00
Richard Mathot b9b6deff8e [FIX] l10n_br: wrong & pointless field redefinition
Fields `amount_type` on `account.tax` and `account.tax.template` are
already defined in the `account` module.
Redefining them here (with the same parameters) breaks every other
module that would have used `selection_add=` on those fields.

Actually, it is the case in `account_tax_python`, and thus, all the
localizations/customizations that depend on it were broken by this one.

~ Old API backport of 5d0d80afa5 ~
2017-10-31 13:21:16 +01:00
Lucas Perais (lpe) f41690538d [FIX] point_of_sale: date string ECMA 5.1 in Date()
Before this commit, when opening the POS in IE11, then the customer list, the list was empty.
This was due to condition that was wrongly evaluated as false due to the fact that IE11 apparently only wants ECMA5.1 to deal with constructing Date() from a string.

After this commit, we construct the Date() object with the right string, and the list of customers doesn't disappear.

OPW 776463

For reference:
http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15

closes #20468
2017-10-30 09:25:29 +01:00
Nicolas Lempereur 6e1e350e51 [FIX] l10n_no: typo missing comma in c44024b50 2017-10-27 14:57:33 +02:00
Laurent Smet c44024b50b [FIX] account, l10n_*: preserve existing tags on upgrade
Taxes tags for some localization have been rewrote in order to improve the taxes report.
However, these changes delete the existing account.tags on stable version.

These "[l10n_*] one tag per grid in tax reports" should target master instead of 9.0.

-opw: 777464
2017-10-27 13:54:31 +02:00
Christophe Monniez e47e78e2e9 [FIX] website_slides: pdf slide viewer slug
When trying to get the pdf content in an IFrame, the url based on
ID was not found and then redirected to a rewritten URL eventually
with  wrong protocol (https became http). This causes a bug in
modern browser that doesn't allow mixed content if the base website
is in https. By using the slug in the URL, there is no redirection
and we avoid changing the protocol.
Thanks @Gorash and @nim-odoo

opw-777950
2017-10-27 08:39:01 +02:00
Jeremy Kersten 809aaf9e7b [FIX] website_event: avoid double subscription
Before this commit, you was able to double click on the button when
are in registration flow. In this case, you subscribe 2 times and so
take 2x more seats, what can be annoying when you have a limited room.

In the same time, we fix the form in the form that generate
strange behaviour like some events not bubbled correctly.

The attendee form (into the modal) was inside the registration form.
$'attendee_form).on('submit') obviously failed due to this bad dom.

This commit closes opw-778191
2017-10-26 17:52:21 +02:00
Denis Ledoux ab9b5a13e4 [FIX] l10n_ca: default stock input account for products categories
Since Odoo 8.0,
the default stock input account for product categories
in the Canadian localization is set to
`214100 CANADA REVENUE AGENCY`

This is the case since this commit:
https://github.com/odoo/odoo/commit/13dacd11c10dac853def763432829b8976604a7d#diff-2e65e26a4efc4ab95e72dbe2033141ecL294
In which the account with the XML ID 2141_en
214100 Stock Received But Not Billed
has been renamed
214100 CANADA REVENUE AGENCY

In this very same commit, the account "Stock Received But Not Billed" has been moved to the account 217100,
under the XML ID chart2171_en:
https://github.com/odoo/odoo/commit/13dacd11c10dac853def763432829b8976604a7d#diff-2e65e26a4efc4ab95e72dbe2033141ecR447

While the default value for the products categories stock input account remained the same, the account with as code 2141:
https://github.com/odoo/odoo/blob/8.0/addons/l10n_ca/account_chart_template_en.xml#L8

This is an oversight. It was not meant that way. The default stock input account for products
should well be "Stock Received But Not Billed".

In addition, a stock account is supposed to be of type assets, and not of type liabilities.

I contacted @max3903, who was a contributor of the l10n_ca localization,
and who is therefore a better expert than me regarding the Canadian localization.
He confirmed me all the above findings.

opw-775413
2017-10-26 17:31:25 +02:00
Pierre Rousseau b80b13a572 [FIX] l10n_fr_fec: change EcritureNum
opw-777652
2017-10-26 15:54:04 +02:00
Jeremy Kersten 4a3801bc58 [FIX] google_calendar: allow to use the function number_of_week for synchro
get_param return string, but timedelta wait a integer
2017-10-26 11:10:13 +02:00
Nicolas Martinelli 6366150484 [FIX] point_of_sale: apply fiscal position
Commit https://github.com/odoo/odoo/commit/5afb5ecd04cf49be6bedb655b187b19a65e1e02d#diff-1c14accbe350f7a177b3e81e5846861bL1363
removed the call to `_map_tax_fiscal_position`. Fiscal positions are not
applied anymore...

Instead of applying the fiscal position in the `compute_all` method as
it used to be, we apply it just before the call. This mimics the
behavior of SO/PO/Invoices, where the taxes are changed directly on the
order line.
2017-10-25 09:37:32 +02:00