Commit Graph
140385 Commits
Author SHA1 Message Date
Martin Trigaux 1f5a4649a6 [MERGE] Forward port of saas-12.3 to saas-12.4 up to 87fc1554d6
closes odoo/odoo#34820

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-12 13:59:35 +00:00
Nans Lefebvre 1c51963cab [FIX] website_sale: _compute_abandoned_cart with multiple records
This is an api.multi method, which should therefore not call self.field.
Fortunately there's a loop just below.

opw 2035374

closes odoo/odoo#34832

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-07-12 11:43:21 +00:00
Xavier-Do 87fc1554d6 [FIX] core: avoid writting sources during tests
Future runbot improvement may share sources between build,
meaning that sources will be readonly to avoid any interaction.

_touch() was supposed to handle ro filesystem but
f7130556 introduced a new test that was not working
in this case.

Instead of trying to touch file and pseudomocking the result
if the filesystem is readonly, this commit add a real patch
on getmtime.

cherry-pick of b295723c99

closes odoo/odoo#34823

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2019-07-12 10:02:32 +00:00
Nicolas Seinlet 80fa405af5 [FIX] mail: message_unsubscribe takes 3 parameters
don't know why you try to use 4 parameters with a function that requires
3 of them:
https://github.com/odoo/odoo/blame/saas-12.3/addons/mail/models/mail_thread.py#L2283

closes odoo/odoo#34639

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-12 09:09:27 +00:00
Xavier-Do 6532b87165 [FIX] core: avoid writting sources during tests
Future runbot improvement may share sources between build,
meaning that sources will be readonly to avoid any interaction.

_touch() was supposed to handle ro filesystem but
f7130556 introduced a new test that was not working
in this case.

Instead of trying to touch file and pseudomocking the result
if the filesystem is readonly, this commit add a real patch
on getmtime.

cherry pick of b295723c99

closes odoo/odoo#34815

Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2019-07-12 08:47:40 +00:00
Martin Trigaux c962b2cd11 [MERGE] Forwardport of saas-12.2 to saas-12.3 up to 01365a3f62
closes odoo/odoo#34747

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-12 07:22:41 +00:00
lejeune quentin a8004118b2 [IMP] point_of_sale: Updating the date of the IoT Box
before this commit the date of the IoT Box did not update.
With this commit we restart the service timesyncd on the IoT box

Task: 2034930

closes odoo/odoo#34789

Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2019-07-11 13:54:53 +00:00
Goffin Simon f94b09dbf2 [FIX] point_of_sale: payment method journal in wrong currency
Steps to reproduce the bug:
- Install point_of_sale and account_accountant
- Create a company C in USD
- Create a cash journal CJ with no currency set
- Activate Multicurrency
- Create a pricelist P in EUR
- Create a sales journal SJ with currency = EUR
- Create pos.config in company C
- Assign SJ in the Sales Journal field
- Set P as default pricelist
- Set the cash journal CJ as payment method and save

Bug:

As CJ is implicitly in USD, it was wrong to set CJ as payment method in a pos.config
in EUR.

With courtesy of <jcb@odoo.com>

opw:2031883

closes odoo/odoo#34790

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-07-11 11:13:44 +00:00
Aaron Bohy cea3f51e2f [FIX] web: batch read of m2m in o2m after onchange
Let's assume a one2many field (editable list) in a form view with
a many2many (e.g. many2many_tags), and an onchange on the one2many
such that, when a row is added to the relation, the server returns
update commands for (a subset of) the records being already in the
relation. For thoses updated records, the many2many field needs to
be read (the onchange only returns the ids in the relation).

Before this rev., the many2many field was read independently for
each record in the one2many. This could cause a performance issue
on large relations. For instance, this was the case on
account.invoice records with a lot of lines.

Issue 2027356

closes odoo/odoo#34785

Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-07-11 10:43:42 +00:00
Lucas Lefèvre 646ccfc530 [FIX] web: Display boolean title in list views
Since commit 9fbb4fb, the `title` attribute is added
to list views `<td>`. The title value is given
by field utils formatting methods, according to the
field type. However, for boolean fields, the formatting
method does not return a string but a jquery element
(unless `forceString: true` is given as an option).
Hence, the displayed title is `[Object object]`.

After this commit, boolean fields do not have any title.

closes odoo/odoo#34657

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-07-11 11:25:32 +00:00
Johan Demaret Rivarola 6f2efae1f1 [FIX] account: add invoice partner as follower
Feature was lost in the accounting-pocalypse merge.

Partner (customer) should be added as follower when the invoice is
posted, previously open.

See https://github.com/odoo/odoo/commit/beaa30a3d1843de43a45f419bfbc1bfa7613a920#diff-f3712147f4b25231caa371bd83265dbeL1447

We also add the commercial partner now.

Closes odoo/odoo#34766

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-07-11 10:13:18 +00:00
Thanh Dodeur 01365a3f62 [FIX] mail: removes unsupported usage of formData.delete
This commit replaces the usage of `formData.delete()` as it is not supported
by Internet Explorer and Safari Mobile.

closes odoo/odoo#34787

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-07-11 09:39:54 +00:00
Johan Demaret Rivarola c61de0cb84 [FIX] payment: post accounting-pocalypse aftermath
Some leftovers of https://github.com/odoo/odoo/commit/beaa30a3d1843de43a45f419bfbc1bfa7613a920.

Invoice's number is now account move's name.
2019-07-11 09:32:41 +00:00
Johan Demaret Rivarola 54eddda79a [FIX] account_payment: post accounting-pocalypse aftermath
Some leftovers of
https://github.com/odoo/odoo/commit/beaa30a3d1843de43a45f419bfbc1bfa7613a920.

Fields have been renamed according to the following mapping:

residual_signed -> amount_residual_signed
reference       -> ref

State 'open' does not exist anymore, use 'posted' and combine it with
'invoice_payment_state' instead.
2019-07-11 09:32:41 +00:00
Lucas Lefèvre 9d29056989 [FIX] website_slides: Display button when not in fullscreen
When answering a quiz, the button "Check your answers"
is not displayed when not in fullscreen.

JS error: `def.resolve is not a function`
because an already instantiated Promise does not have a
resolve function.
A promise cannot be resolved from outside its callback scope.

closes odoo/odoo#34762

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-11 07:14:05 +00:00
Goffin Simon 8271be23cf [FIX] product: _inverse_product_pricelist uses wrong company
When reading the non stored computed field property_product_pricelist,
the force_company set in the context is taken into account. But when
writing on property_product_pricelist, the force_company was not taken
into account. So it was inconsistent as you could read a record with a
force_company in the context and wrote on an other record as the inverse
function didn't take the force_company into account.

closes #31561

opw:2032024

closes odoo/odoo#34757

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-07-10 13:46:51 +00:00
Aaron Bohy 8f9e1e40a3 [FIX] web: batch read of m2m in o2m after onchange
Let's assume a one2many field (editable list) in a form view with
a many2many (e.g. many2many_tags), and an onchange on the one2many
such that, when a row is added to the relation, the server returns
update commands for (a subset of) the records being already in the
relation. For thoses updated records, the many2many field needs to
be read (the onchange only returns the ids in the relation).

Before this rev., the many2many field was read independently for
each record in the one2many. This could cause a performance issue
on large relations. For instance, this was the case on
account.invoice records with a lot of lines.

This commit must be forwardported up to 12.2, not further.

Issue 2027356

closes odoo/odoo#34771

Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-07-11 09:38:03 +00:00
Xavier-Do 95b4f2ab4b [IMP] core: improve test_tags
Add the support to be able to specify exlicitely module, class and method name in test_tags

Before this commit, there is no distinction between module tag and test tag. Meaning
that --test-tag module_name will replace the default +standard tag and execute all test
of the module.

This commit tries to keep the initial behaviour, while addind new features, like explicit
modules tag with /module_name, as well as class (:class) and method (.method)

Some usage examples:
--test_tags /module will execute all standard test of module
--test_tags :class will execute all standard test with class name 'class'
--test_tags .method will execute all standard test with method name 'method'
--test_tags external/module will execute all external test of module
--test_tags */module will execute all tests of module,
--test_tags */module,-standard will execute all non standard tests of module,
--test_tags -/website:TestUiTranslate.test_admin_tour_rte_translator will disable only rte translator test

closes odoo/odoo#34756

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-07-11 09:03:14 +00:00
Raphael Collet b8f4ad585e [FIX] test: assertRaises() without environment 2019-07-11 08:48:18 +00:00
Julien Castiaux 5038f777a0 [FIX] web: prevent db_manager modal close on empty pwd
Go to the database manager, configure a password either via the
interface either via the `admin_passwd` `.odoorc` config file. Click on
the backup menu, let the `password` field empty and submit the form. The
modal is closed without any warning and no query is sent.

The problem is that even if the field is marked as `required`, there is
a event listener that catch the `onsubmit` event and close the modal
even if it is not valid.

opw-2031461

closes odoo/odoo#34669

Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
2019-07-09 13:44:41 +00:00
Lucas Perais (lpe) 06d149a3b1 [FIX] l10n_be_intrastat, _2019: support rounding to 2 decimals
Before this commit, values were rounded to the unit, which was part of the former specs
of the Intrastat report

After this commit, we make the intrastat 2019 comply with the new spec, which is to round
value, price and weight to two decimals

See the spec here: https://www.nbb.be/doc/dq/f_pdf_ex/nieuwsbriefintrastat_n28_2018_fr.pdf

OPW 2031682

closes odoo/odoo#34700

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-07-09 13:08:31 +00:00
Richard Mathot 0ec0a4a32e [FIX] models: avoid Unicode error when translating that error message
The patch fa492d87f4 has been backported
from Odoo 12.0, that runs on Python 3.

The string '\n\n({} {}, {} {})' to be formatted is a byte-string in
Python 2, while the return value of _() is always a unicode-string.

As format() is (too?) nice, it attempts to convert the unicode-strings
into ascii in order to inject them in the format pattern.
With some languages that are written in ascii, this works -- by chance.
When you use non-ascii languages like Japanese, it fails.

We then fix that issue by using unicode-strings in the formatting
pattern.

#OneCharacterPatch B-)

opw-2032016

-----------------------------

For full technical understanding:

Python 2.7.16 (default, Mar 11 2019, 18:59:25)
[GCC 8.2.1 20181127] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> '{}'.format('test')
'test'
>>> '{}'.format(u'test')
'test'
>>> '{}'.format(u'エ')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u30a8' in position 0: ordinal not in range(128)
>>> u'{}'.format(u'エ')
u'\u30a8'

closes odoo/odoo#34698

Signed-off-by: Richard Mathot (rim) <rim@openerp.com>
2019-07-09 12:26:46 +00:00
Olivier Colson 7dd718f0e5 [FIX] l10n_br: invoice and refund accounts had been inverted on some taxes
closes odoo/odoo#34693

Signed-off-by: Josse Colpaert <jco@openerp.com>
2019-07-09 11:56:05 +00:00
RomainLibert 6157a3876c [FIX] base: revert of 9607f4e801
In website_sale we don't want to synchronize the company_id of the
parent partner so use sudo to fix opw-1930305
2019-07-10 12:55:48 +02:00
Jairo Llopis 7c99310b23 [FIX] auth_oauth: Override qcontext in the right place
Before this patch, if some module was based on top of `auth_signup`, and `auth_oauth` was also installed in the same database, the only way to get the proper qcontext would be to call `super()` inside `web_auth_signup_qcontext`, which would produce a login, which is most likely not desired because such addon would try to add some logic on top of it that maybe prevents login based on some circumstances.

After this patch, any submodules can work properly without workarounds.

closes odoo/odoo#34690

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-07-09 11:31:25 +00:00
Nicolas Lempereur 3862f63669 [FIX] theme_bootswatch, doc: https import for less3
The @import directive in less leave the @import as is if it detects .css
extension. Otherwise it will use the less import.

Since less 3.0.0 less/less.js@77fde7eb7 checking css extension regex
changed from:

/[#\.\&\?\/]css([\?;].*)?$/

to:

/[#\.\&\?]css([\?;].*)?$/

thus all our import of google fonts with URI like:

//fonts.googleapis.com/css?family=FontName

now are getting imported as less, thus they are included directly in the
output file with HTTP scheme URL which may be blocked on HTTPS instance.

With this fix, we specify that the import is a normal CSS one with (css)
import option:

http://lesscss.org/features/#import-atrules-feature-css

opw-2057037
closes #36167

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-08-28 09:20:32 +00:00
Florimond Husquinet (fhu) 344beaf282 [CLA] Signature for hari4274
Ticket: 2058955

closes odoo/odoo#36162

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-28 08:31:37 +00:00
Julien Castiaux f69bd5c23c [FIX] website_slides: fix typo in enroll attribute
opw-2032459

closes odoo/odoo#34686

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-07-09 11:22:45 +00:00
Nicolas Lempereur 545437b899 [FIX] mail: show old messages /leave w/o reload
Before this commit, if we had a livechat channel with a user and:

- in backend use command "/leave" to leave and unpin conversation
- [do not reload the page (or there is no issue)]
- then the user sends a new message

The chat window opens just with the new message. Fetched previous
messages are ignored due to being already in the mail manager, and
links between these messages and the threads were never updated.

With this commit, when fetching messages that are already in the mail
manager, these messages are linked again to threads.

This commit also fixes an issue in which messages moderated with
status "accepted" were not correctly removed from the moderation
mailbox. This problem occurred after the fix on re-linking messages
to threads.

opw-2031270
closes #34761

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-07-10 16:46:22 +00:00
Toufik Ben Jaa 07e87e1e34 [FIX] lunch: default value for responsible_id is incorrect
- When creating a vendor on lunch without setting explicitly the
`responsible_id`, `default_get` should return the current user id.
Instead it returns the current user's partner id.

closes odoo/odoo#34759

Signed-off-by: Nicolas Seinlet (nse) <nse@odoo.com>
2019-07-10 14:19:17 +00:00
Martin Trigaux 00ef2653da [MERGE] Forward port of 12.0 to saas-12.2 up to 3b1d00acda
closes odoo/odoo#34732

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-10 10:14:06 +00:00
Martin Trigaux 3b1d00acda [MERGE] Forward port of saas-11.3 to 12.0 up to db5261b19e
closes odoo/odoo#34723

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-10 08:27:12 +00:00
Julien Castiaux fa58a842f4 [FIX] mass_mailing: company logo on unsubscribe url
Setup a multi-company account and multiple website (one for each
company), create a mail campaign from a different company than the
superuser, send the emails and unsubscribe, the company logo is the logo
of the company the superuser is in instead of the logo of the company
sending the email.

opw-2026528

closes odoo/odoo#34701

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-07-09 13:37:53 +00:00
Xavier Morel 3e63d8efce [ADD] core: support for parent.xxx in modifiers of o2m sub-fields
closes odoo/odoo#34699

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-07-09 12:41:41 +00:00
Alexandre Kühn f9ead39f5f [FIX] mail: rename direct message chat
Before this commit, when a direct message chat was renamed, it
crashed with the following error:

`TypeError: Cannot read property 'toLowerCase' of undefined`

This occurs because the name of the dm chat changed from the RPC
response. However, no new name was provided, thus it sets its
name to `undefined`.

Test has been adapted in order to reflect that the server does not
response with new name after RPC `channel_set_custom_name`.

closes odoo/odoo#34641

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-07-09 12:37:07 +00:00
Julien Castiaux ad4a618a82 [FIX] mass_mailing: disable sitemap on unsubscribe route
Insall website and mass_mailing, go to the `/sitemap.xml` url, the
`/unsubscribe_from_list` url is listed, it should not.

opw-2033251

closes odoo/odoo#34677

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-07-09 07:52:25 +00:00
Francisco Fernández @PlanetaTIC 1f627dcf57 [FIX] stock: Fix product template compute quantities depends
Slightly different version than 48e93a10a1 (which was for 10.0)

closes odoo/odoo#30026

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-10 08:15:24 +00:00
Martin Trigaux 633c87de22 [MERGE] Forwardport of saas-15 to 11.0 up to 239af6ee99
closes odoo/odoo#34717

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-10 06:58:50 +00:00
Goffin Simon 88a12afdf4 [FIX] purchase: purchase VATs in a multi-company
Steps to reproduce the bug:

- Create two companies C1 and C2 where C2 is the child of C1
- Create two purchase taxes T1 and T2 where T1 is in C1 and C2 is in T2
- Create a prodcuct P with T1 and T2 as supplier taxes
- Be in C1 as current company
- Create a RFQ and add P

Bug:

T1 and T2 were set on the order line of P instead of T1

PS: This fix is insired from product_id_change in model sale.order.line

opw:2032113

closes odoo/odoo#34658

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-07-08 12:09:51 +00:00
Nans Lefebvre a3e504eff5 [FIX] sale_timesheet: let employees officers/project users access private tasks
Have a user U that is Project User, Timesheets User, Employeed Officer.
Give him access to a private task T (by adding U as a follower of T)
on private project P.
Because of Employeed Officer rights, view_task_form2_inherited is rendered.
This shows field is_project_map_empty, which computation depends on project_id.
If U does not have access to P, then this triggers an access error, so the Task
cannot be displayed.

It is in general a legitimate configuration to allow U to interact with T
without being given full access to P, since it works in all cases but the rights
described above.
Since the computation of is_project_map_empty is the only blocking point,
we put it in sudo.

opw 2031124

closes odoo/odoo#34676

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-07-09 10:34:46 +00:00
Lucas Perais (lpe) 674ee035ca [FIX] account: vendor display name multicompany
In multicompany mode,
/!\ Adress book sharing should be deactivated

User A in company A creates a vendor bill without a partner

User B in company observes the list. The new bill is present

User A changes companies and goes to company B
User B doesn't have access to company B

User B reloads the list

Before this commit, there was an access right error on User B side because the partner associated
with User A changed company, and is now unreadable from User B perspective

After this commit, there is no crash and we have the string: Created By User A in the list
in place of the vendor display name

OPW 2028451

closes odoo/odoo#34668

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-07-08 15:03:50 +00:00
Jairo Llopis fb95cf7b51 [FIX] mass_mailing: Do not alter method signature
Before this patch, this method was altering the signature of its parent method, moving the position of `failure_type` to 1 and making the other 2 arguments kw-only.

It seems this accidentally didn't break anything because all calls happened to be done in kwarg mode. However, it's very possible that a downstream module that is not based on `mass_mailing` and makes positional calls gets broken when `mass_mailing` is installed.

The fix is to respect original method signature.

closes odoo/odoo#34648

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2019-07-09 07:14:57 +00:00
Damien Bouvy b5f61bfaad [FIX] payment_authorize: P3 version of 88de931141
closes odoo/odoo#34667

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-07-08 14:41:41 +00:00
Damien Bouvy 63a5b44380 [FIX] payment_authorize: avoid dismissing callback
The callback will usually check the transaction's state during
its execution, hence it should be executed after the state change

closes odoo/odoo#34666

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-07-08 14:05:18 +00:00
Julien Castiaux e94a789b13 [I18N] portal: make 'Accept & Sign' translatable
Move inside a node so the term can be exported (t-esc value are not
translatable)
opw-2031550

closes odoo/odoo#34663

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-08 13:20:48 +00:00
Jairo Llopis 743c790fa1 [FIX] mass_mailing: Proper translation string
Computed expressions cannot happen inside a translation string.

closes odoo/odoo#34643

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-08 12:09:13 +00:00
vrenaville 7be62eb852 [FIX] account: do not assing on empty recordset
If a browse record is empty, assigning a value will fail
Introduced at c04065abd8

Closes odoo/odoo#34521

closes odoo/odoo#34654

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-08 11:42:31 +00:00
Julien Castiaux 5c705c51cd [FIX] website_profile: bypass IR Rules on karma ranking
Install website_slides, create a bunch of users all published on the
website. Using raw sql queries, give some karma to those users. Go to
the `/profile/users` web page. When connected the ranking is correctly
shown, when not connected all users are ranked 0.

The problem is that the public user (id: 4) can only access is own user
which prevent him to access the karma of the other user required to rank
them.

As the injected IR Rules are not adding any value and that a domain is
applied already, it is safe to skip the ir rules.

opw-2029105

closes odoo/odoo#34656

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-07-08 11:30:19 +00:00
RomainLibert 8c839ac1e0 [FIX] lunch: use currency of company as default value
The default value for a many2one on res.currency should be a currency
not a company

closes odoo/odoo#35005

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-18 13:15:56 +00:00
Romain Derie e80caa4d3e [FIX] sale: fix race condition on signature tour
Before this commit, the signature tour (130af96dc1) would fail sometimes.
Indeed, the tour is trying to get `Thank You` on the page after the sign step
but since the modal to pay will open on top of the page, the `Thank You` would
not be found.

closes odoo/odoo#34990

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2019-07-18 14:42:29 +00:00