Commit Graph
127250 Commits
Author SHA1 Message Date
Toufik Ben Jaa 9530f1071d [FIX] mail: avoid crash when calling channel_info in mail.channel
- If a channel has only the current user as the partner the method `channel_info` crashes.
This can happen in the case of a partner talks to an other partner in
discuss.
Then these two partners are merged using the CRM partner merge
feature.

The channel has now the same partner in the channel twice.
The current code doesn't handle this case and crashes.

closes odoo/odoo#33274

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-05-09 11:10:12 +00:00
Nicolas Seinletandwilliam-andre dbaef7de17 [IMP] account: faster reconciliation
avoid to get journal_entry_ids, to avoid pushing those ids in cache and
having them read uselessly when accessing an account.move.line
recordset.
Use search and search_read instead of ORM __get__

closes odoo/odoo#33192

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>


Co-authored-by: william-andre <wan@odoo.com>
2019-05-09 10:10:32 +00:00
Christophe Simonis f1d6a6108e [MERGE] forward port branch saas-11.3 up to 825fee2626 2019-05-09 11:12:22 +02:00
Luis González 6afec6b6b8 [I18N] sale: Remove duplicated term from pot
Commit c7773f9f introduced a duplicated term to the file .pot, which
causes the following error when trying to re-load translations:

```
ON CONFLICT DO UPDATE command cannot affect row a second time
HINT:  Ensure that no rows proposed for insertion within the same
command have duplicate constrained values.
```

This commit removes on eof the duplicates, leaving only the valid one.

In addition, field string is modified to match the one defined at the
`website_sale` module, to prevent this from happening again, as had also
in 6af6da5c.

closes odoo/odoo#33223

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-05-08 21:35:02 +00:00
Xavier Morel 1121f01196 [FIX] bus: crashmanager popup if beep can't be played
According to MDN, HTMLMediaElement returns

> A Promise which is resolved when playback has been started, or is
> rejected if for any reason playback cannot be started.
>
> Note: Older browsers may not return a value from play().

Since un-resolved un-handled promises re-raise and trigger the crash
manager, this is extremely noticeable if the browser doesn't support
the media type or is not currently allowed to play
medias (e.g. configured to prevent auto-play).

This just avoids the error, but eventually it might be useful to
display a toast noting the user could allow sounds iff the rejection
reason is NotAllowedError. This fix would probably be implementable /
implemented on older revisions (which might have the issue, just not
as prominent as unhandledrejection is not hooked into the crash
manager).

closes odoo/odoo#33260

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-05-08 14:23:53 +00:00
wan 1679b0e926 [FIX] account: action was taking unexisting parameter
Somehow this worked before and isn't working now but that parameter is never used

closes odoo/odoo#33214

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-05-09 07:08:45 +00:00
Jorge Pinna Puissant 2c366acbf0 [FIX] hr_holidays: leave type in hours in new leave request
When a new request of leave is created, some fields are computed to
calculate if it's possible or not, to take the leave
(virtual_remaining_leaves, leaves_taken, remaining_leaves and
max_leaves).

These fields are computed using the fields :
allocation : hr_leave_allocation.number_of_days.
and request : hr_leave.number_of_days.

When a leave type is in hours, both of these fields are calculated
differently:
allocation: The allocation field is calculated dividing the number of
hours registered by the user per the average hour per working day.
(https://github.com/odoo/odoo/blob/d809b476819968837b61bdd78fbf101caac73adc/addons/hr_holidays/models/hr_leave_allocation.py#L236)
request : The request field is calculated by finding the real number of
requested days.
(https://github.com/odoo/odoo/blob/d809b476819968837b61bdd78fbf101caac73adc/addons/hr_holidays/models/hr_leave.py#L360)
If in the company each day have different working hour, then the number
of days calculated with the average hours didn't represent the real
number of days that the employee can take. This issue can avoid the
employee to take a leave even if he has the correct number of hours to
take it.

Now, the fields (virtual_remaining_leaves, leaves_taken,
remaining_leaves and max_leaves) are calculated using either the days
fields or the hours fields depending on the leave type.

opw-1972133

closes odoo/odoo#33244

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-05-08 13:12:09 +00:00
Jorge Pinna Puissant 5c33ebef5f [FIX] hr_holidays: allocation list with leave type in hours
When a leave type is in hours, before this commit, in the allocation
list the allocation is shown in days. The problem is that the number of
days its calculated with the average hour per day. If in the company
each day have different working hour, then the number of days calculated
with the average didn't represent the actual number of days that the
employee can take.

Now, in the allocation list, the allocation is shown either with days or
hours depending on the leave type.

opw-1972133
2019-05-08 13:12:04 +00:00
Julien Castiaux fe6d9ed343 [FIX] calendar: getting recurrent_ids twice
The `_search` is override in `calendar.event` to return both ids and
virtual ids of recurrent events. Calling `.get_recurrent_ids` after the
search is wrong.

The entire request has been copied from the original
`_find_allowed_model_wise` function defined in `mail.message` to ensure
his correctness.

The purpose here is to ensure every virtual event id is mapped to the
real event id so the original function doesn't throw KeyErrors for
virtual ids.

opw-1972563

closes odoo/odoo#33246

Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
2019-05-08 09:56:32 +00:00
David Beguin 92cb648882 [FIX] survey : externalise survey web assets to avoid multiple load at website install
Since f5625969be, web assets in survey module
was loaded twice when website (and website_survey) is installed.

Thoses web assets are now externalised in another template that is loaded
only if survey is installed without website installed.

Task ID : 1985977
PR #33218

Also linked to Master task - refactor survey
Task ID : 1930132
PR #32419

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-05-07 13:34:13 +00:00
wan 766f8c42a9 [FIX] base: html field was used instead of m2o
Original PR: https://github.com/odoo/odoo/pull/31597

The html sanitizer could have unwanted bahavior, and using a html field should be unneccesary

closes odoo/odoo#33143

Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2019-05-07 10:51:15 +00:00
Alexandre Kühn 893e07e590 [IMP] im_livechat,web: use nicer placeholders for livechat
In the context of a livechat session, a placeholder that looks like a
person is better than a generic "missing picture" one, when the user has
no public avatar.

In order to allow a different placeholder without exposing a public
placeholder parameter, a separate route is introduced for the
purpose of displaying user avatars:
/web/partner_image/<id>/<field>/<model>
and can be simplified to:
/web/partner_image/<id> for loading a partner avatar (`image_small`).

The common part of the /web/image route was moved into a helper
function that is not directly exposed.

Task-ID 1924666
Closes #32664

Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2019-05-08 10:35:37 +00:00
Alexandre Kühn 9e067d7d9d [FIX] web: safe open image placeholder
Before allowing custom placeholders, make sure the placeholder images
are accessed safely, using the proper util methods.

Task-ID 1924666
Closes #32664
2019-05-08 10:35:37 +00:00
wan c1ef82225e [FIX] l10n_be_edi: removing tax duplicate
If the account was not set on the new move line, a onchange added a new tax line leading to a duplicate
Also enforce the company on the tax selection

closes odoo/odoo#33250

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-05-08 11:04:54 +00:00
Christophe Simonis b5684105b1 [FIX] website_sale_comparison: deactive test
The feature is broken in version saas-12.3 and need to be fixed.

(hopefully) deactivate the test temporary.
2019-05-07 18:47:50 +02:00
Christophe Simonis 691bfde022 [FIX] account_check_printing: adapt test
Avoid having vendor bills and supplier refunds in the same payment
batch.
2019-05-07 14:35:12 +02:00
Christophe Simonis 106dffe479 [FIX] board: adapt test to new version
Oversight of previous forward-port.
2019-05-07 11:42:58 +02:00
Nicolas Martinelli d809b47681 [FIX] web: month view drop
- Install the 'Maintenance' app
- Create a maintenance request, set a day and a duration of 6 hours
- Go the calendar view, month mode
- Move the maintenance request from one day to another

The duration is changed with a non-sense value.

In month mode, the hours are not represented in the calendar so it is
not possible to compute the `date_delay`. Moreover, when a record is
moved from one date to another (`_onDropRecord`) in month mode, there is
actually no point recomputing the duration; the `date_start` is enough.

Note that `date_delay` is used (at the time of writing) in 2 views and
absolutely not tested.

opw-1984637

closes odoo/odoo#33193

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-05-06 15:59:13 +00:00
Lucas Perais (lpe) 6368971ba0 [FIX] sale: invoice multiple SO: right sequence
Have sections order lines on each Sale Order
Have multiple Sale Orders on which the action "invoice order" is triggered
(to make one invoice for all of them)

Before this commit, the real invoice lines were not under their respective
section line
This was because we kept the sequence of the order line when making the order line
which makes little sense in a case where we merge the orders

After this commit, the invoice lines are under their respective section

OPW 1985080

closes odoo/odoo#33219

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-05-07 12:50:52 +00:00
Christophe Simonis c32b7e54a5 [FIX] stock: Allow multi-create on stock.warehouse 2019-05-06 16:16:52 +02:00
Julien Castiaux 2b080256dd [FIX] sale_coupon: print report in customer lang
Before this commit, coupons were printed using the connected user language
instead of the customer language.

opw-1970448

closes odoo/enterprise#4142

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>

X-port/Cherry-pick of odoo/enterprise@5a4ce5a3bc
2019-05-06 15:18:28 +02:00
Christophe Simonis 406b2850b5 [FIX] web: render new tests async
Oversight of previous forward-port.
2019-05-06 15:04:26 +02:00
Christophe Simonis aeb5166a2c [FIX] sale_{management,product_configurator}
Correct forward-port of 29052c5328
2019-05-06 13:04:44 +02:00
Gorash e244fa23ad [FIX] web_editor: drop an image in the 'mail.compose.message' modal
Issue: Can not drop an image into the modal's editor because the server
request a positional res_id arguments.

closes odoo/odoo#33232

Signed-off-by: Pierre Paridans <pparidans@users.noreply.github.com>
2019-05-06 10:32:42 +00:00
Gorash eaeff40236 [FIX] web_editor: drop an image in the editable area
Issue: can't drop a image if the editor is not focused or if the editor is
empty
2019-05-06 10:29:23 +00:00
Christophe Simonis a97037c6d4 [MERGE] forward port branch saas-12.2 up to 78b3b650b0 2019-05-06 12:27:51 +02:00
Pierre Masereel 6caca7bb5b FIX] website_sale: autoconfirm free SO
For now the SO made with an amount of 0, are not automatically velidated
as there are no transactions. To avoid this problem, we are calling
actionn_confirm on the order with amount 0.

closes odoo/odoo#33176

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-05-06 08:59:52 +00:00
Nans Lefebvre 2ff0ebd63b [FIX] website_sale: render mail template when sending only one mail
The email_compose_message_wizard_form takes a default_composition_mode.
If it is 'mass_mail', the used mail template is not rendered.
Since this is basically unreadable for a normal user, this can be confusing.
Note that this is even the case if the mail is being sent on only one record.

We use the 'comment' composition mode if there is only one target record so that
the template is rendered in that case.

opw 1984381

closes odoo/odoo#33173

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-05-06 08:34:03 +00:00
Lucas Perais (lpe) 9cb9e227c9 [FIX] mail: ir_action have a stored field containing the model name
Make a CRM lead, assign it to a portal user
Have an automated action which add followers on create and write
From the portal, edit the lead

Before this commit, it crashed because a portal user doesn't have access to ir.model
(4a18d5744e)

After this commit, the flow works, because we use the stored model name on the action
instead of trying to read ir.model

OPW 1985570

closes odoo/odoo#33211

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-05-07 09:07:20 +00:00
Goffin Simon b80a6df68a [FIX] sale_timesheet: Wrong remaining value in Project overview
Steps to reproduce the bug:
- Create a project called "R&D"
- Create two service products P1 and P2 with 'Timesheets on tasks' and
'Create a task in an existing project' for project 'R&D'
- Create a SO1 with 5 P1 and SO2 with 10 P2 and confirm SO1 and SO2
- Deliver 1 hour for P1 and 2 hours for P2 (with timesheets)
- Click on "Project Overview" button

Bug:

The remaining hours for SO1 was 12 hours instead of 4 hours and the remaining hours
for SO2 was 12 hours instead of 8 hours

opw:1981903

closes odoo/odoo#33183

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-05-06 11:29:47 +00:00
Lucas Perais (lpe) ddb8fc1f62 [FIX] web: checkbox in favorites menu: don't close on click
Following f4fbaf1efa
which changes the label/checkbox structure into:
```
<div class="custom-control custom-checkbox">
    <input type="checkbox" class="custom-control-input" id="customCheck1">
    <label class="custom-control-label" for="customCheck1">...</label>
</div>
```

So, before this commit, there may have been multiple input with the same Id.
The consequence is that, when clicking on a label, the browser would take the first Id it found
which was erroneous, because all checkboxes in Favorites menu had the same Id
In reality, the use case goes as:
- open a x2m,
- search more
- Favorites > Save current search
> click on one the two checkboxes
> The dropdown closed, without checking the box

After this commit, when clicking on the checkbox in the favorites menu
the checkbox is toggled and the dropdown stays. Also, the checkboxed have now unique ids

OPW 1974587

closes odoo/odoo#33032

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-05-06 15:33:48 +00:00
Julien Castiaux 1d7a544d95 [FIX] calendar: browse record using IrRules
This reverts commit 9c4b52000f.

The fix of opw-1974599 is wrong. As the fix was fixing a corner case, it
is better to revert this one as it is breaking all recurrent events.

opw-1985498
opw-1985552

closes odoo/odoo#33206

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-05-07 07:55:27 +00:00
Xavier Morel 2b28dd89b8 [FIX] doc: Sphinx 2.0 compatibility
* order of parameters to translator swapped
* context['meta'] always set, defaulting to None if the document has no
  metadata
* [3.0 prep] modifying script_files deprecated, use add_javascript /
  add_js_file
* remove deprecated call to l_ (which was useless anyway as the documentation
  is not translated)

Fixes #33107

closes odoo/odoo#33187

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-05-06 13:55:44 +00:00
Martin Trigaux 07224616fa [FIX] doc: avoid duplicated reference
The status link was duplicated, making it skipped during rendering
Use correct indent

closes odoo/odoo#32843

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-05-06 13:38:37 +00:00
Parth Choksi 4c95cb7899 [FIX] digest: tips will be displayed properly
Currenly in the digest when you send the template, tips are not being seen.

The reason for this is, we are getting tips from the context but we dont have it in the context.
Instead, we are fetching the tips by calling the compute_tips method and assigning it to 'tips'.

Hence, this commit will remove the usage of context to get the tips as we are getting it
from the method and not from the context.

Task ID: #1918364

closes odoo/odoo#33186

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-05-06 12:41:47 +00:00
Aaron Bohy 32d696ec43 [FIX] web: blurry menu dropdown on chrome when zoom != 100%
This rev. disables Popper.js 3d transformation for positioning
bootstrap dropdowns in navbar, as this transformation causes a
rendering issue on webkit-based browsers (the text in the dropdown
is blurry).

See https://github.com/twbs/bootstrap/issues/23590

Note that it has already been disabled for the other menu dropdowns
(user menu, debug menu) by rev. 5373db1.

Another solution would have been to override the default value in
our bootstrap.js extension file, but for dropdowns that aren't in
the navbar, the dynamic positionning could be interesting.

Fixes #33096

closes odoo/odoo#33174

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-05-06 13:07:09 +00:00
Julien Castiaux da13c70484 [FIX] google_account: error type on wrong request
Configure google to be synchronized with Odoo, create a contact with a
wrong email address (I used `foo@.test.`), create an event in the
calendar, add the contact as attendee, sync with google. Traceback.

The traceback is a `request.exception.HTTPError` reraise by
`_do_request` in the `google.service` model on several HTTP errors, 400
amoung them. The real error is "Invalid attendee email." but the
information is lost in the error message.

The error hanlding has been rethink so it raise a user friendly error
via the UserError modal with just the error message sent by the Google
API. The logged error has been rethink to pretty print both the request
and the response.

opw-1974295

closes odoo/odoo#33058

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-05-06 12:47:04 +00:00
Odoo Translation Bot 78b3b650b0 [I18N] Update translation terms from Transifex 2019-05-05 06:07:56 +02:00
Christophe Simonis 04acf0cc7c [MERGE] forward port branch saas-12.1 up to 2420492c26 2019-05-03 18:47:49 +02:00
Christophe Simonis 2420492c26 [FIX] purchase_stock: adapt newly added test
Set properties directly on product category instead of via (readonly)
related fields on product template
2019-05-03 16:33:02 +02:00
qmo-odoo 8d9c054842 [FIX] website_slides: fix various quiz issues
This commit fixes a few issues with quizz

  * change background-color to white in fullscreen mode;
  * prevent going up to the top of the page when selecting an answer;
  * highlight selected answers in fullscreen;
  * fix the display of already completed quizzes

Commit linked to task ID 1978530 (fixes linked to internal testing).

closes odoo/odoo#33140

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-05-03 13:01:10 +00:00
Julien Castiaux baf3d39bf0 [FIX] web: Use Noto as fallback to Lato
Arabic customers are complaining the Lato font is very odd looking for
Arabic scripts. Furthermore, since #32312 Noto is used as the prefered
font to display arabic scripts.

The classes are used by the "Company Tagline" configured along with the
template in use in the general settings.

opw-1946109

closes odoo/odoo#33141

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-05-03 12:47:16 +00:00
Julien Castiaux f79582c1f8 [FIX] mail: prevent record discard on new attachment
Open a record having a chatter, edit a field, add an attachment, leave
the page. The discard warning popup in not shown.

When an attachment is added, it reloads the record to fetch the new
`attachment_message_count`. Reloading the view was discarding the
changes because the `keepChanges` option was not set and defaults to
`false`. The changes were discarded thus the internal `_isDirty` flag
evaluated to `false` thus the popup was not shown as nothing would have
been saved.

The option was set in another `attachment_message_count` reload already,
in `chatter.js@_openComposer`.

opw-1974147

closes odoo/odoo#33180

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-05-06 09:59:18 +00:00
Xavier Morel e12b6013d5 [FIX] base_import: tests failing with older chardet
Some distributions still bundle chardet 2.3, which have some guessing
divergences / incompatibilities with python (resolved in 3.x):

1. UTF-{16,32} with BOM is guessed as LE/BE, which when used to decode
   the string doesn't strip out the BOM. Handle this by checking if
   the BOM is present and converting the encoding name to the
   non-marked version in that case.
2. The ISO-8859-1 test string is guessed as ISO-8859-2 (TBF the
   decoding does make some sense). Allow multiple targets/guesses to
   "fix" that.

closes odoo/odoo#33179

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-05-06 09:16:25 +00:00
Grzegorz Krukar 04a535a8d1 [FIX] mail: correctly display follow button in chatter
The follower button had a useless fixed width which made it overlap with
other buttons.

Fixes odoo/odoo#29387
Closes odoo/odoo#33063

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-05-06 09:02:53 +00:00
qmo-odoo ef3ccce079 [FIX] website_slides_survey: fix some certifications issues in eLearning frontend
This commit fixes a few issues with courses which have certification

 * fix links to already passed certifications: currently it crashed, now it
   redirects to the certification end screen;
 * "Begin your certification now" green box link now has same behaviour
   as links in the list view. It redirects to either the start certification
   screen or the first slide in fullscreen mode. Moreover once the user has
   started the course (at least one completed slide) this box disappears as
   it is not really useful anymore;

Some dead code is removed.

Commit linked to task ID 1978530 (fixes linked to internal testing).
2019-05-03 12:43:01 +00:00
Toufik Ben Jaa 69cd8bc675 [FIX] survey: allow survey user to test a survey
- When tyring to test a survey as a "Survey User" you are redirected to the
  homepage.
  This is due to a faulty access rights check that only allows "Survey
  Managers" to test them.

closes odoo/odoo#33132

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-05-03 08:44:07 +00:00
qmo-odoo 9d26c122ab [FIX] website_slides: fix the end course button
This commit fixes the "End Course" button displayed after successfully passing
a quizz. Before this commit, the button didn't do anything, now, it redirects
to the slides homepage.

ommit linked to task ID 1978530 (fixes linked to internal testing).

closes odoo/odoo#33133

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-05-03 09:52:02 +00:00
Aurélien Warnon bf3ed3fc7c [FIX] website_slides: fix courses completion on user profile page
This commit fixes the courses (slide.channel) completion displayed on the user
profile page. It uses the number of completed slides instead of the percentage
of completion. This is due to the completion field having been updated
recently to store number of completed slides instead of a computed percentage
for performances reasons [1]

Commit linked to task ID 1978530 (fixes linked to internal testing).

[1] See 534822e54c
2019-05-03 09:43:27 +00:00
qmo-odoo 8af1fe54ad [FIX] website_slides: Add back the slide type icons in the lists
This commit adds back the slide type icons on the sidebar list
in fullscreen and not fullscreen mode.

Commit linked to task ID 1978530 (fixes linked to internal testing).
2019-05-03 09:43:18 +00:00