Commit Graph
110261 Commits
Author SHA1 Message Date
Thibault Delavallée e00370e194 [IMP] website_mail: allow per-module override of token_field
Instead of forcing a token field through an override, set it at the class level
to be changed in other model inheriting from the MailThread
2018-07-08 09:04:42 +02:00
Simon Lejeune 19ac9fba0d [FIX] base: strengthen ir.attachment access rights
An ir.attachment record can be served as a request's reponse if:
  - a request triggers a 404
  - the ir.attachment record has its url field matching the url of
    the failed and is of binary type

Following rev[1], portal users have the right to create these kind of
records, and it is a security concern.

This patch restrict the ability to create and write on the ir.attachment
records that may be served through the dispatch's exception mechanism to
settings users.

As the asset bundles files are served through the use of these special
ir.attachment, we make sure to retrieve only ir.attachment records
created by the superuser in the `get_attachment` method.

As website administrators often need to play with these special
ir.attachment, we also let to this group the permission to manage them.

[1] 61065b6d04
2018-07-29 14:10:42 +01:00
Simon Lejeune dae2822799 [FIX] report: avoid local file resources
Make sure building reports using local resources are disabled.
This avoids get different report result based on the system if the
given resources are or not present (e.g. custom style)
2018-07-03 10:53:42 +02:00
Lucas Perais (lpe) db994ca57a [FIX] sale: do not always overwrite discount on soline
Before this commit, the discount on a so line was always brought to zero when changing the price

After this commit, we do this only when the pricelist is supposed to compute the discount

OPW 1867262
closes #25851
2018-08-07 11:04:29 +02:00
Joren Van Onder 9609f79cad [FIX] point_of_sale: invalidate cache after reloading partners
The POS uses a DomCache for various UI elements to avoid re-rendering
elements that are the same as the last render. One such cached UI
element is an entry in the client list.

When a partner is edited in the POS frontend the POS will write this
to the backend and then it will load all updated res.partner
records (new write_date > previously loaded most recent write_date).

To render the newly updated information *and* to ensure any other
partner edited (through backend or because it's a child contact) is
updated just clear the whole cache.

Fixes #13856
2018-08-06 15:44:34 -07:00
Martin Trigaux 8669361dd6 [I18N] remove outdated translations
Contained bad %s and out of sync with .pot
2018-08-06 16:18:46 +02:00
Odoo Translation Bot 2b7c525982 [I18N] Update translation terms from Transifex 2018-08-05 00:28:35 +02:00
Lucas Perais (lpe) e17bc4eb37 [FIX] base: set currency on a new db
Open the web/database/manager and create a db with a country set.

The country of the first company will be set to the country set on the form

Before this commit, the currency was not set, eventhough it is a field
on res.country

After this commit, we also set the currency of the first company

opw 1869435
closes #26097
2018-08-01 14:40:39 +02:00
Lucas Perais (lpe) 17e50b745d [FIX] account_assets: fallback sell or dispose button
Create an asset and confirm it.
Click on Sell or Dispose
The form view of the disposal move opens

With the breadcrums, back to the asset
Click again on sell or dispose

Before this commit, literally nothing happens
This is because there is no more business to do

After this commit, in the case there is no business to do
we fallback onto the smartbutton's action

OPW 1864318
closes #26086
2018-08-01 14:16:21 +02:00
Lucas Perais (lpe) e372ca5cd8 [FIX] account: aged partner balance report consistent return
Before this commit, the function that computes the aged partner balance
could return a list instead of a dict if no partner were found

After this commit, we make the function's signature consistent
closes #26095
2018-08-01 11:23:31 +02:00
Adrian Torres 60353cf463 [FIX] server: do not restart if phoenix is True (#21209)
Before this commit, saving a file being watched by watchdog
(--dev=reload) with vim (and possibly other text editors) would
crash the server via a KeyboardInterrupt error.

This happens because vim, emacs cause multiple filesystem events to
happen when saving a single file, the FSWatcher registers these events
as multiple SIGHUPs which in turn calls restart() multiple times in a
very small amount of time which makes the KeyboardInterrupts completely
shut down the server

This is fixed by only calling restart() if odoo.phoenix is False, since
catching a SIGHUP sets it to true.

Fixes #21178

Special thanks to @odony for the help :)
2018-08-01 10:43:44 +02:00
Holger Brunn 65ad60665e [FIX] base: fix users' groups assignation
Avoid sharing of users'groups when writing on multiple users.

When changing groups of multiple users, all implied groups were shared
between written users.

Oversight of new-api rewrite.

Fixes #26036
2018-07-31 16:22:26 +02:00
Romain Derie e11908d429 [FIX] website_sale: _get_pl_partner_order
With 60300fc, people can use promo code on website.
But the condition leads to a side effect, if a partner has a pricelist set for
him, he will never be able to see the dropdown list of pricelist since he will
enter the else condition with show_visible set to true.

Now, user is able to see selectable pricelists.

opw-1869371
2018-07-31 09:25:26 +02:00
Nicolas Lempereur ce2fdc02ab [FIX] im_livechat: bad rating=1 not 0 w/ 75d3121c
In 75d3121c9 the bad rating was change from 0 to 1.

This commit update the javascript feedback part so the behavior is the
one expected.

related to opw-1863312
closes #26043
2018-07-30 12:45:53 +02:00
Christophe Simonis 7a519520f2 [FIX] mail: use -U+FEFF instead of U+2011 for negative numbers
Just like cb2a3afa7e, U+2011 may not be
rendered correctly with all fonts.
2018-07-30 12:22:16 +02:00
Christophe Simonis 3a14b75518 [MERGE] forward port branch 9.0 up to cb2a3afa7e 2018-07-30 10:23:48 +02:00
Lucas Perais (lpe) e81d331959 [FIX] event: outlook live calendar link doesn't work anymore
The functionality to add an event on outlook through a link seems gone on Microsoft's part
Or doesn't work as it did before

To avoid confusion, we remove the links

OPW 1865938
closes #25968
2018-07-30 09:14:36 +02:00
Odoo Translation Bot e1703cb95a [I18N] Update translation terms from Transifex 2018-07-29 00:26:54 +02:00
Denis Ledoux 3096d94d9b [FIX] service: --dev=reload, exclude temporary python files
Do not reload when a temporary Python file is
added/updated/reloaded.

This is to be able to use editors using isolation when saving file.
On save, they create a temporary file which is then moved on the target file.
The temporary file exists for milliseconds only,
and when the change was detected by watchdog and the server was reloaded,
the file already no longer existed on load.
It leaded to `No such file or directory` after the reload.
2018-07-27 11:40:01 +02:00
Lucas Perais (lpe) f05b10ce49 [FIX] website_payment: display acquirer's messages in case of wire transfer
Connect as portal, go to my account > invoices and click pay now
select wire transfer as the acquirer and then pay now

Before this commit, the messages displayed to the user was misleading and wrong

After this commit, we take the relevant acquirer's message

OPW 1867670
closes #17508
closes #25946
2018-07-26 14:17:32 +02:00
Nicolas Lempereur f1ee633f26 [FIX] website_hr_recruitment: frontend creation ok
When creating a job position from the frontend, and we:

- are on the same language that the default website language,
- have the permission to write on ir.ui.view,

we have all conditions to adding branding used to edit a page.

But when creating a position by the frontend, we create a job that will
render this template:

 website_hr_recruitment.default_website_description

When we are in the above said condition, we will create a job position
that erroneously has the branding that should only be displayed on
website and removed when saving an edition.

This caused a lot of problem with the editor that would most often not
be able to edit the content.

In this commit, we use the "rendering_bundle" context key to prevent
branding.

opw-1868879
closes #25963
2018-07-25 12:01:05 +02:00
Christophe Simonis a34789c837 [MERGE] forward port branch 9.0 up to 2c5ec48f92 2018-07-25 11:09:30 +02:00
Julien Machiels e9901d1422 [FIX] barcodes: barcodes working in button in dropdown
On mobile, some barcodes didn't trigger in the picking screens, notably
O-BTN.validate. This is due to the use of parent() to check if the
button is in a dropdown, as parent() only checks one DOM-level upwards.
The button being inside a <ul><li>, we need to check more levels than
one to pass the condition and trigger the button press.

By changing parent() to parents(), the entire chain will be checked, not
just one level, and the button press is correctly triggered.

opw-1860964
closes #25941
2018-07-24 14:45:57 +02:00
Christophe Simonis 6e71cf8a71 [MERGE] forward port branch 9.0 up to af2e480e41 2018-07-23 13:41:04 +02:00
Odoo Translation Bot 402aac89a7 [I18N] Update translation terms from Transifex 2018-07-22 00:27:21 +02:00
Lucas Perais (lpe) ee746b52cd [FIX] product: fallback onto name for product.partner_ref
Have a product with a partner A as a seller, without any description whatsoever

Do a vendor bill with partner A as the partner.

Add the product onto the lines

Before this commit, the description on the line was "False"

After this commit, we fallback onto the product name if no other reference is set

OPW 1865969
closes #25857
2018-07-19 09:25:33 +02:00
Christophe Simonis 633a65d231 [MERGE] forward port branch 9.0 up to e62e17d078 2018-07-17 16:11:20 +02:00
len-odoo d5baec40ab [FIX] web_forum: disallow tag editing of questions if karma is unsufficient
When editing his post, a user can modify the tags even if he doesn't have
sufficient karma to do so.
Since the backend raises an error, it sends the user to a 403 forbidden page.

opw 1866019
2018-07-17 16:02:01 +02:00
len-odoo a3fd6a2072 [FIX] web_forum: fix the comparison of tags ids
When checking if tags had changed, a missing .ids made it that a recordset was
compared to a set of ids (integers).
As a result, to make an edit the forum would always check that the user had
sufficent karma to retag, even if it was not needed.

opw 1866019
2018-07-17 15:27:35 +02:00
Christophe Simonis 13e321325b [MERGE] forward port branch 9.0 up to 476207e9a4 2018-07-16 15:41:27 +02:00
Lucas Perais (lpe) c8c5bc2c1b [FIX] account: test: prevent aged report to crash on july, 16th and after
Before this commit, the test aged report crashed on date Year/07/16 (and probably after, too) because:
- we create a partial reconcile today (create_date = Year/07/16)  when making the payment to the invoice
- the report date is set as Year/07/15, so, the partial reconciliation, if tested after that date, always appears in another period,
which is not the use case we test, hence the crash of the test

After this commit, we force the create date of the partial reconciliation to *before* the report is called,
thus, no error occurs

closes #25785
2018-07-16 15:22:05 +02:00
Goffin Simon 943e45ba3d [FIX] sale_stock: float division by zero
In some case, qty_delivered can be equal to 0

opw:1863726
2018-07-16 09:20:39 +02:00
len-odoo 02afc0e0aa [FIX] web: groupby product on package types triggers a js error
On a database where many modules are installed (e.g.  runbot all), with
the option "manage available packaging options per products", doing a groupby
"product" on the "package type" list view triggers a js error.
It comes from the fact that the fixed_group variable contains a "length"
attribute; the _().each function uses this to determine (erroneously)
that the object is an array.
It thus uses fixed_group[0] to get an undefined, and then tries to access
a method of undefined.

We replace the each by a simple js loop.

opw 1863576
2018-07-16 08:47:06 +02:00
Odoo Translation Bot 7e44d8f6fc [I18N] Update translation terms from Transifex 2018-07-15 00:26:48 +02:00
Alexis de Lattre 6f68beb0dc l10n_fr: add reconcile=True on several accounts 2018-07-13 09:46:43 +02:00
Lucas Perais (lpe) 755081cbf4 [FIX] account: reconciliation widget rounding
Set the rounding method to Round Globally

Create a tax A with rate = 1.1040 %
Create a bank statement with one line having amount = 1153.960

Go on to reconcile that bank statement

Reconcile with a new line on which the tax A applies
Create the write-off

Click on Reconcile

Before this commit, an error was thrown by the server (Move unbalanced)
This was because the amount of the write-off line sent by JS (which is the tax amount)
was 12.7397
The server though computes the taxes by forcing the rounding and gives off a tax amount of 12.74
Hence the error

After this commit, the JS will fetch the amount of the taxes by forcing the rounding there also
And the reconciliation process goes well

This fix is already present in v11.0 at 6fce298d70

OPW 1859939

closes #25733
2018-07-12 13:07:56 +02:00
Goffin Simon dad19a769a [FIX] sale: Price on SO not working with different uom
Steps to reproduce the bug:

- configuration on sale:
   - Unit of measure: Some products may be sold/purchased in different units of measure (Advanced)
   - Sale Price: Advaced pricing based on formulas (discounts, margins, rounding)
   - Discount: Allow discounts on sale order lines
- kg as the Reference UOM for weight
- create an uom 10 kg
   - Category: Weight
   - Type: Bigger...
   - Bigger ratio: 10.0
- create a product P
   - Sale price: 100
   - Unit of measure: kg
   - Purchase UOM: kg
- create a pricelist "My pricelist"
   - Discount policy: Show public price & discount to the customer
   - Items : All products - 10% discount
- create a SO with "My pricelist"
- create a SO line with P, the unit price is automatically 90 with 10 % of discount
- change the uom of the line with 10kg

Bug:

The unit price of the line didn't change and the discount on the line disappeared.

In function product_uom_change, the uom of the SO line has been set in the context
of the product(like in function product_id_change). So in funciton _get_display_price,
the function _get_real_price_currency must be called with the uom of product in the context.
In this way, the lst_price will be fetch on product with the right uom without any bad conversion
(because uom.id == product_uom with uom from the parameters and product_uom from the context).

But with function get_product_price_rule, no need to call this function with the uom in context as
it is already set in the product(check "if uom_id: ... else ..." in this function).

The same logic has been applied in function _onchange_discount

opw:186385
2018-07-12 11:45:15 +02:00
Christophe Simonis 718a5b76b8 [MERGE] forward port branch 9.0 up to 189e0088e0 2018-07-12 11:28:29 +02:00
Christophe Simonis 12a97cc7ad [MERGE] forward port branch 9.0 up to 2d0621da05 2018-07-11 16:42:42 +02:00
Alexandre Moens 6e8f1fcc63 [FIX] Stock : deliveryslip report - prioritize partner_id (#25709)
Display the address  of the partner_id when available rather than using the partner id  of the movelines. Important when the partner  is changed after the movelines are created.

support ticket :  1857582
2018-07-11 14:43:33 +02:00
len-odoo ddb68eb1bb [FIX] crm: handle selection fields correctly while merging leads
When merging two or more leads, a traceback was generated when attempting
to merge some selection field, if any.

closes https://github.com/odoo/odoo/issues/25644

opw 1864870
2018-07-10 15:05:56 +02:00
Lucas Perais (lpe) cd5c10a47f [FIX] website_sale_delivery: we should be able to pay if the order only contains services
Two use cases must work:
Should hide payment AND display errors when order contains deliverable product

Should show payment AND not display errors when order contains only services (event tickets)

Linked OPW 1864744
Linked PR v11.0 #25679
closes #25692
2018-07-10 11:54:01 +02:00
Christophe Simonis 5e682451cb [MERGE] forward port branch 9.0 up to 8b25099aea 2018-07-10 11:25:27 +02:00
RomainLibert e08f999468 [FIX] calendar: add onchange on start_date and stop_date
When creating an event using the list view, no value is set in the
fields start and stop.

If selecting all day, we could only change the value of start_date and
stop_date which does not change the value in start or stop.

This makes it impossible to create an event from the list view.

This problem is not present in the calendar view since this view sets a
value in start and stop, and the start and stop are recomputed via the
inverse fields.

Closes #25680
2018-07-10 11:14:16 +02:00
Martin Trigaux dc0914b8a5 [FIX] web: allow getting session_info as non-authenticated
The call to /web/session/authenticate should return an empty session_info
in case of wrong login/password.
It was producing a traceback (due to self.ensure_one() and search)
Introduced at d1cd293ece and fdb250942

Fixes #24071
2018-07-09 13:35:14 +02:00
Lucas Perais (lpe) 42e74aae51 [FIX] account: revert reconciled payment with exchange difference entry
This is essentially a backport of 7544c22de9
and
4f40c9da7b

Company is in USD
Do an invoice in EUR with a specific rate (and post it)
Do a payment on this invoice with another rate (and post it)

revert the payment's move

Before this commit, the move_lines of the original/reverted move pair were not reconciled
to one another
This could cause problems in some reports (aged reports for example)

After this commit, the lines in the original/revert move pair are reconciled
provided that they *can* be reconciled
Which is either belonging to a reconciliable account, or to an account of type liquidity

OPW 1861273
closes #25600
2018-07-09 10:05:18 +02:00
Lucas Perais (lpe) 67b5cde62b [FIX] point_of_sale: new session should open with user as cashier
Open a new session with user A, the cashier is A.
Close the session and post the entries.
The responsible for the session is user A and the salesman on the sale order is A.

Then log in to the database with user B.
Open a new session on the same pos.

Before this commit, the cashier on the second session was A

After this commit, the cashier on the second session is B

OPW 1864207
closes #25628
2018-07-09 09:04:20 +02:00
Odoo Translation Bot 33b698254a [I18N] Update translation terms from Transifex 2018-07-08 00:26:19 +02:00
Nicolas Martinelli 8b8adcb5e6 [FIX] google_calendar: backport 6bbf38e171 to 10.0
Test `e.code` only in case of `HTTPError`. In case of a `UserError`,
`e.code` crashes.

opw-1851319

Fixes #25627
2018-07-06 13:40:56 +02:00
Christophe Simonis 26e7d5d8ee [MERGE] forward port branch 9.0 up to b5c50fa824 2018-07-05 14:19:33 +02:00