Commit Graph
141473 Commits
Author SHA1 Message Date
Yannick Tivisse 12b526432f [IMP] hr: Display chat icons on employee kanban/form views
Purpose
=======

On the Employees App, we dont have a smart way to start a discuss
with a colleague or an employee.

Specification
=============

Style for each button :
- use fa-comments
- use primary color/action color (green)

On private/public employees form/kanban views, add a button to
start a chat with the user

closes odoo/odoo#51484

Taskid: 2252207
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-05-25 14:50:19 +00:00
Jigar Vaghela 8b9d236777 [FIX] l10n_in_purchase: remove undefined method call
onchange_l10n_in_gst_treatment method is not define but call from here so traceback is occurred

closes odoo/odoo#51656

Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-05-22 05:32:21 +00:00
Xavier Morel 7a7b5b5d9d [FIX] core: searching through o2m with auto_join
Replaces the auto_join scheme which is pretty fast but doesn't quite
work (it's *completely* broken for read_group) by a subquery which is
slower but has the same semantics as the ORM version.

Ideally we'd use `EXISTS (select 1 from ...)` but that has no support
inside the SQL compiler right now, so use `id in (select inverse_field
from ...)`.

Here are some measures of a `read_group` on a simple object with lines
filtered on line values, similar to

    read_group([('order_line.product_uom', '=', xxx)],
               fields=['total_amount'], groupby=['user_id'])

    +-------+-------+-------+--------+
    |       |   ORM |  join |subquery|
    +-------+-------+-------+--------+
    | large |   160 |    10 |     20 |
    +-------+-------+-------+--------+
    |  many | 36000 |    50 |    180 |
    +-------+-------+-------+--------+

* values of data fields (filtering, grouping and aggregating) randomly
picked between 10 different values
* "large" is 1000 objects with 1000~15000 lines each
* "many" is 1000000 objects with 1~40 lines each

closes odoo/odoo#48494

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2020-05-20 12:51:43 +00:00
Raphael Collet e950c395b7 [IMP] test_read_group: read_group with one2many auto-joined fields 2020-05-20 12:44:38 +00:00
Romeo Fragomeli 2adaeb589b [FIX] web: deadlines are not visible in day/week calendar views
Due to commit odoo/odoo@0150141756
when the widget calendar is initialized with date type record for
date_start and without all_day mapping events aren't shown on day/week
views. This is because all day zone isn't visible when all_day mapping
is not set.

After this commit, we show the all day zone also when the date_start is
a date type.

Steps to reproduce:
* Go to Project App
* Select/Create a project
* Select/Add a task with a deadline
* Return to project
* Select calendar view
* Select week view (of the deadline) => BUG

closes odoo/odoo#51818

X-original-commit: 1d83f4184e1b82db4dd4db54d98e509432340996
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Signed-off-by: rfr-odoo <rfr-odoo@users.noreply.github.com>
2020-05-25 13:54:55 +00:00
Goffin Simon e03a87ae08 [FIX] repair: Unable to end repair
Steps to reproduce the bug:

- Create a repair order RO for a product P1
- Create a part for a product P2 that needs a lot L
- Specify a source location for P2
- Process RO
- Click on 'END REPAIR'

Bug:

A UserError was raised saying: You need to supply a Lot/Serial number for product P2
even if a lot L was set to P2

opw:2251047

closes odoo/odoo#51797

X-original-commit: 1e3ed56332efd3f58ccd05f23c6af9cb23f1052f
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-05-25 11:12:17 +00:00
Yannick Tivisse 45f3659305 [IMP] project,...: Improve list views with new widgets
Purpose
=======

Task 2195254 introduced many wonderful widgets to pimp the list view.
This task aims at implemeting them into the Services apps: project,
timesheets, helpdesk, expense, planning and field service.

Remaining days: https://drive.google.com/file/d/1o4Wn47445GxLqBkw-ifH9MgtFU_437xz/view
Avatar: https://drive.google.com/file/d/1yDwJWP0MZCUKZbqCa8hte1ziVTYRMMtb/view
Activities: https://drive.google.com/file/d/1e_rXH50eZq4zY2HOzw7_pfgiD39SoRIl/view
Field-specific decorations: https://drive.google.com/file/d/1WFnqJ-jkyDFftRHxWW4bgomoWrOpOuaY/view
More control on buttons

Specifications
==============

You will find below a list of which widgets to apply to which fields by
model. Some changes have to be done in the form/kanban views as well.

1) project.task

remaining days -> date_deadline -> list + kanban + form views
hide this field if is_closed is true
avatar -> user_id -> list view
activities -> 'next activity' field to be added -> list view
field-specific decorations
https://nimb.ws/ACewrY remove the current orange/red decorations we have
if planned_hours > 0, display the remaining_hours field in (list view):
red if progress is > 100%
orange if progress is between 80% and 100%
green if progress is <80%
display unit_amount in red if > 24:00 -> form view

2) rating.rating

display the rating in:
green = satisfied
orange = not_satisfied
red = highly_dissatisfied
list + form views

3) project.project

avatar -> user_id -> list + form views

4) account.analytic.line

avatar -> employee_id -> list view
display unit_amount in red if > 24:00 -> list + kanban + form view
https://nimb.ws/eIWa7E merge the timer and duration fields together

5) helpdesk.ticket

avatar
user_id -> list view
employee_id under timesheet_ids -> form view
remaining hours -> sla_deadline
activities -> 'next activity' field to be added -> list view
field specific decoration -> display unit_amount in red if > 24:00 -> form view

6) hr.expense

avatar -> employee_id -> list view
activities -> 'next activity' field to be added -> list view
badge -> state -> list view
draft = blue
reported = green
approved = green
done = green
refused = red
combine the unit_amount and the currency_id fields (see the total_amount field for reference) -> list view (idem for the expense_line_ids one2many on hr.expense.sheet)
display the total_amount in bold
move 'company_id' before 'amount'

7) hr.expense.sheet

avatar
employee_id -> list view
user_id -> list view
activities -> 'next activity' field to be added -> list view
badge -> state -> list view
draft = blue
submit = green
approve = green
post = green
done = green
cancel = red
display the total_amount in bold
move 'company_id' before 'amount'

8) planning.slot

avatar -> employee_id -> list view
decoration
display the allocated_percentage field in red if > 100% -> list + form view
display the forecast_hours field in red if > planned hours and if planned_hours > 0 -> form view
display the effective_hours field in red if > forecast_hours and if forecast_hours > 0 -> form view

9) misc

calendar.event -> avatar -> user_id -> form view
mail.activity.type -> combine the delay_count and delay_unit fields together -> list view
note.note -> 'next activity' field to be added -> list view
crm.lead.mining.request
combine the lead_number and lead_type fields together -> list view
display the name in bold
badge -> state
draft = blue
done = green
error = red
planning.slot.template -> display the duration field in red if it is = 0

closes odoo/odoo#51271

Taskid: 2248351
Related: odoo/enterprise#10605
Related: odoo/upgrade#1252
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-05-25 12:44:14 +00:00
Yannick Tivisse f27baf0c94 [FIX] crm: Fix singleton error 2020-05-25 12:44:14 +00:00
svs-odoo 46b70e8ef3 [IMP] purchase: hide date_planned if empty
Also, makes `date_planned` readonly when PO in "Purchase Order" state.

task-2181611

closes odoo/odoo#49835

Related: odoo/enterprise#10073
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2020-05-25 11:08:04 +00:00
svs-odoo 3e984aac75 [IMP] stock: log message instead of activity
When rescheduling a stock document, logs a note about the new scheduled
date instead of create a new planned activity.

task-2181611
2020-05-25 11:08:04 +00:00
svs-odoo 6b15eab7e1 [IMP] stock: don't auto. assign backorder
Before this commit, when a backorder is created, it was automatically
reserved. It is no more the case. Now user have to reserve it manually.

The reason is, when a user doesn't delivery all expected quantities, it
could be because there is no enough quantity in stock, or the user
doesn't want to delivery all. In these cases, it doesn't make sense to
reserved it directly.

task-2181611
2020-05-25 11:08:04 +00:00
svs-odoo 6501713d9a [IMP] maintenance,mrp,repair,sale: text changes
task-2181611
2020-05-25 11:08:04 +00:00
svs-odoo 4b588cf9f2 [IMP] stock: domain on orderpoint product_id
When user creates a new order point, if he/she comes from a template or
variant product page, adds the product id or the product template id in
the `product_id` field domain in the `stock.warehouse.orderpoint` model.

task-2181611
2020-05-25 11:08:04 +00:00
Thanh Dodeur 681306d4e7 [FIX] web: add access group to the pdf js template.
This commit adds the `base.group_user` access group to the `pdf_js_lib`
template so it can be lazy loaded in the JS.

closes odoo/odoo#51804

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-05-25 12:14:57 +00:00
Arnold Moyaux c71bf6991f [FIX] stock: remove useless today in replenish popover
The virtual record have their date and forecast at date recompute
after creation. It means that the popover saying today is False since
it took the date with lead days.

closes odoo/odoo#51507

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2020-05-19 08:01:53 +00:00
Xavier Morel 6b2dfcc8b0 [IMP] core: batching during import
By default importing is batched (or at least attempted to), however
because the import is functionally sequential it's possible for a
record to refer to a previously imported record of the same batch.

When records are referenced by xid this is easy, we can just keep
track of all the xids we *should* have created so far and when trying
to look up a xid if it's one of those flush all pending
creations (otherwise assume it's some other unrelated xid which
already exists in the system).

For "name_search" lookups however this is more complicated, so we'd
just flush the entire thing.

This, then, is an issue when importing records with an m2o which
is *generally* looked up by "name" rather than xid e.g. when importing
partners it's more likely the "state" will be specified by
name (e.g. AZ or Arizona) than xid (base.state_us_3 lol), because it
means more or less every line will be flushed, defeating all batching
and slowing down the import.

To fix this, allow passing *model names* to flush (not just xids), and
try to collate all the models we could be creating (or updating)
records for in the process of importing. If we see a name_search on
one of these models flush, otherwise don't because we couldn't have
impacted the search.

Task 1951307

While at it, f2a1618758 removed all
usage of model_load_save, but left the creation of the savepoint
itself.

The InternalError check should be left in place to catch things like
conversion issues which put the tnx in an invalid state (only invalid
states should trigger an InternalError according to psycopg's errors
documentation).

closes odoo/odoo#49289

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2020-05-28 11:40:35 +00:00
lejeune quentin ff23dec4be [FIX] hw_drivers: Fix renewal of certificate for IoT Box
There is a CRON task to check the validity of the daily certificate.
However this is not executed correctly because the command line is incorrect.

This commit fixes this command line

closes odoo/odoo#52057

X-original-commit: 19a9859985a4576943dad1312b1808c6c3690645
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2020-05-28 09:10:11 +00:00
Josse Colpaert a03719f012 [FIX] l10n_id_efaktur: fw-port
We forgot to update the type to move_type,
tag_ids to tax_tag_ids and remove the country_code
as we put it in the account module.

closes odoo/odoo#52052

X-original-commit: 437c2457c73d66a9f7b82397e4dd95d41da4a72a
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-05-28 08:51:10 +00:00
Andrea Grazioso (agr-odoo) 75c624e211 [FIX] account: disable Amount Matching when invisible
Go to Reconciliation Models > Invoices Matching Rule
Set the parameter 'Amount Matching'
Set 'Partner Is Set & Matches'
Save
Edit
Unset 'Partner Is Set & Matches'

'Amount Matching' will switch to invisible but is not disabled

opw-2261134

closes odoo/odoo#52048

X-original-commit: 61f1ca63e5dc27e06c855bb09b18bf4897e8ab1f
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-05-28 08:22:38 +00:00
Yannick Tivisse b6235bb93e [FIX] project: Open tasks when clicking on kanban record
Purpose
=======

Reintroduce the horrible bidouille that was removed by mistake.

closes odoo/odoo#52041

Note: Should be cleaned though.
Taskid: 2266510
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-05-28 07:58:08 +00:00
Rémy Voet (ryv) 8414e6b9fd [IMP] stock: handle multi-warehouse with the same logic of multi-company
Activate the multi-warehouse automatically when there is more than 1 in
a company. Then remove the multi-warehouse setting in the config, and
allow to create warehouse. Because create a warehouse can change
groups of the user, we reload the page when there is any modification.
Update warehouse demo data accordingly (remove the second warehouse
of the second company).

task-2196687

closes odoo/odoo#49625

Related: odoo/upgrade#1253
Related: odoo/enterprise#9934
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2020-05-25 08:50:02 +00:00
Rémy Voet (ryv) 82ca6b92c8 [IMP] stock_barcode_picking_batch: improve barcode usuability
Add the name in a barcode form into the printed
batch transfer to use the enterprise feature. The
barcode is now in the printed batch transfer and
there is a new print action in the batch transfer model.

task-2196687
2020-05-25 08:48:15 +00:00
Rémy Voet (ryv) 54cbedeaf7 [IMP] mrp: convert note field of operation into text work instruction.
The field note of mrp.routing.workcenter was not very usefull, and not
appear in the workorder related to this operation. Sometime, we need to
have a small description of the work to do for a opeartion in the WO,
instead of a complet pdf or google slide.
-> Convert the note field as a description of the job to do and add a
"text" worksheet_type to select it, in the mrp.routing.workcenter and
add the related field in the WO. Update the view of accordingly.
-> (migration): The 'note' content remain the same, then migration is
not needed. If the user change the worksheet_type into text, the
"note" will be the previous "description".

task-2196687
2020-05-25 08:48:11 +00:00
Rémy Voet (ryv) 4890a9fdab [IMP] stock,mrp(_account): do small usuability change
- Rename "Master Data" menu into "Products" in both stock and mrp.
And move not producte reclated menu to configuration menu.
- In the stock setting move all shipping connector in a dedicated
section.
- Improve helper of MO
- Merge filter "Late" and Planning Issue
- Remove badge of duration field in WO.

task-2196687
2020-05-25 08:47:23 +00:00
qsm-odoo e3693c4b9c [REM] theme_bootswatch: remove the theme entirely
Since 12.0, the theme was still supported but did not receive any of the
new features, like choosing its own colors.

This commit removes the theme entirely so that all users use the new
shiny features and also because it will become impossible to support
with the new color system.

task-2207192

closes odoo/odoo#51508

Related: odoo/design-themes#279
Related: odoo/upgrade#1225
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-05-27 17:05:29 +00:00
Nasreddin (bon) 2de51f899f [FIX] mrp: duplicate bom lines in mobile
Issue

	Step to do on mobile or chrome debugger in mobile mode
	- Install "Manufacturing" app
	- Go to "Manufacturing"
	- Click on "Create"
	- Select a product with already default bom lines
	- Alter quantity

	BOM lines are duplicated.

Cause

	Missing "bom_line_id" field in kanban view,
	who is required for onchange "_onchange_move_raw".

Solution

	Create inherited kanban view with "bom_line_id" in
	mrp module.

opw-2257732

closes odoo/odoo#52002

X-original-commit: 2905d05fc3d30562c5e7510217a6e97e26e87a37
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-05-27 14:28:27 +00:00
Yannick Tivisse f1e2fde734 [IMP] hr: Improve settings layout
closes odoo/odoo#51334

Taskid: 2241726
Related: odoo/upgrade#1202
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-05-26 07:13:59 +00:00
Odoo's Mergebot 41bf013e04 [MERGE] base: make ir.property private
Only system users can access ir.property records.

This PR is part of the long-term task id 8203 that plans to remove all access to
 ir.* models

"Official" methods to interact with `ir.property`:
- `_set_default(name, model, value, company=False)`
- `_set_multi(name, model, values, default_value=None)`
- `_get(name, model, res_id=False)`
- `_get_multi(name, model, ids)`

Done in this PR:
- remove ACL on ir.property (only system users can access directly)
- make all getter/setters private with sudo
- use these methods everywhere instead of CRUD calls
- add sudo where needed

closes odoo/odoo#51658

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-05-28 07:13:56 +02:00
Denis Ledoux 7b8d12e6dc "[REVERT] website_theme_install: do not mark theme views as arch_updated when loaded from data files"
This reverts commit fdd4a143f2148ec5f4aeea80fecd3138fea95dc6.

See discussion in #51969

closes odoo/odoo#52028

X-original-commit: 0e602cc0ac295621864b50509f78bd5de1e61718
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
2020-05-27 19:59:30 +00:00
Anh Thao Pham (pta) aca52baee3 [FIX] web_editor: fix focus for some tools in Summernote
- Go to Project
- Open a project to display Tasks
- Switch to list view
- Click on create button
- On task form page, click nowhere. (It is important to not click on anything)
- On the taskbar of the WYSIWYG editor used for Description, click on one of the following actions:
    * Unordered list
    * Ordered list
    * Checklist
    * Table
    * Style
- The action will be applied to the "name" field (Task Title) and
  an error will prompt for Unordered list, Ordered list and Checklist actions
- If not, discard the form and retry by opening the form with create button

In this case, the WYSIWYG editor does not have the focus and try to execute
the tool action on the current focused element.

opw-2256835

closes odoo/odoo#52023

X-original-commit: eaa55ce3e806ad0d9609394309ff9d48b32bb73f
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2020-05-27 18:13:00 +00:00
Nicolas Lempereur 9d40ec7d15 [FIX] web: resquencing stop at first controller
When a resequencing is done inside an object hierarchy of two
controllers, since 9b90d8727d we would call resquencing code one time
per controller.

So if for example we are in a list view inside a form view (eg. a
"Search More" modal in a form view) the resequencing would work for the
list view, but then cause traceback when it is handled by form view.

With this changeset, the first controller that get the event
`resequence_records` even gobbles it up.

Without change, added test fails because of original traceback:

  Cannot read property 'res_id' of undefined@ 202 ms
  Source:
   TypeError: Cannot read property 'res_id' of undefined
    at /web/static/src/js/views/basic/basic_controller.js:744:67
   ...

opw-2256818
closes #51827

closes odoo/odoo#52018

X-original-commit: eef4b99fdb9469c040af80d055933eda367b7b3d
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2020-05-27 16:56:19 +00:00
SEINLET Nicolas ba20e42cc3 [FIX] sale_timesheet: ensure proper view inheritance
inherit the view which contains the items you're relying on.

closes odoo/odoo#52017

X-original-commit: 03dacc25ef46718a00fa7a1e0440813132600bfe
Signed-off-by: Christophe Simonis <chs@odoo.com>
2020-05-27 16:32:17 +00:00
Yannick Tivisse edad9aacd6 [FIX] calendar: Fix traceback when calling change_attendee_status
Coming from the calendar refactoring at
https://github.com/odoo/odoo/commit/39aef65f37a8ae969527b31a680eb27fddbc5710

closes odoo/odoo#52005

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-05-27 14:34:55 +00:00
qsm-odoo b76af0758e [FIX] website: remove footer top border
The footer of Odoo is composed of 3 main elements: a <footer/> with a
.oe_structure and the footer copyright inside. The footer had a
transparent top border which was there for technical reason: making sure
the .oe_structure content was "1px" below the end-of-page content so
that dropping a snippet at the end of page but also in the footer was
possible (otherwise the dropzones would be at the exact same position).

This border which was invisible at the time may now become visible in
more cases so we have to remove it. Another hacky solution is made to
replace the old one, while remembering the footer usability is being
reviewed anyway.

Related to task-2197038

closes odoo/odoo#51997

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-05-27 14:07:06 +00:00
Olivier Dony 9a0d951ccc [ADD] server: allow env variable to control HTTP socket timeout
As indicated in the comment, it's much preferred to perform response
buffering at the reverse proxy level than to increase the socket
timeout. It will free up HTTP workers for other requests faster, while
the proxy does the work of buffering the stream on disk as needed.

/!\ The timeout is also used to protect from accidental DoS effects
in situations of low worker availability, due to idle connections
caused e.g. by wkhtmltopdf's connection pooling.
Setting a high timeout will make the protection less effective, so
ensuring you have enough free HTTP workers at all times becomes critical.

In our tests with nginx's defaut buffering on a typical hardware with
SSD storage, buffering up to 1GB responses did not require any change
of the socket timeout on the Odoo side, though your mileage may vary.
See also nginx's `proxy_buffering` and `proxy_max_temp_file_size` config
directives.

OPW-2247730
See also: #20158

closes odoo/odoo#51982

X-original-commit: d78ea126b8d2a72ae626880b0ec64bb7a39a07ac
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2020-05-27 12:38:43 +00:00
Odoo's Mergebot c90a1ae353 [MERGE][IMP] mail_bot: improve OdooBot workflow
PURPOSE

This merge attempts to improve the workflow of the OdooBot onboarding
tutorial, as well as the answer given by the bot while idle.

SPECIFICATIONS

These changes come from watching how users interact with OdooBot. To
improve the user's experience, the following changes have been made:

1. Move the attachment to the end of the tour, as it is where most
   people just close the bot.
2. Remove the quotation marks around commands that OdooBot tells the
   user to type, like "/" or ":)", as some users try to actually type
   the quotation marks too. Instead, use a light grey background around
   the command that the user should type.
3. Some users ask OdooBot questions, but the responses they get are
   useless. To solve this, use a message linking to the documentation or the
   videos when:
    - The user gives wrong answers twice for the same stage of the tour
    - The user talks again when the tour is completed
    - There's a question mark in the answer

Other issues have been attended to:
1. The first message from OdooBot when starting the onboarding tour will now only appear as a notification instead of opening a new chat window. The user can open the chat window from the notification when they actually want to start the tour, as it can be otherwise distracting for the user to have the chat window pop up all of a sudden.
2. A bug has been corrected where OdooBot would open a new channel every time the admin user logged in, to remind them about changing the default password. Now, it will use an existing channel if it exists.

Task ID: 2233014
Upgrade PR odoo/upgrade#1251

closes odoo/odoo#49661

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-05-27 16:55:00 +02:00
Thibault Delavallée 2598061be8 [IMP] mail_bot: remove required on odoobot_state
Purpose is to avoid having strong requirements on fields where it is not
really necessary. In this commit we consider now that a void odoobot_state
is the same as ``not_initialized`` key. It allows to remove both the default
and required parameters on the field.

Task ID 2233014
PR #49661
2020-05-27 12:48:21 +00:00
dmonzonis 936d206559 [IMP] mail_bot: improve OdooBot workflow
This commit attempts to improve the workflow of the OdooBot onboarding
tutorial, as well as the answer given by the bot while idle.

These changes come from watching how users interact with OdooBot. To
improve the user's experience, the following changes have been made:

1. Move the attachment to the end of the tour, as it is where most
   people just close the bot.
2. Remove the quotation marks around commands that OdooBot tells the
   user to type, like "/" or ":)", as some users try to actually type
   the quotation marks too. Instead, use a light grey background around
   the command that the user should type.
3. Some users ask OdooBot questions, but the responses they get are
   useless. To solve this, use a message linking to the documentation or the
   videos when:
    - The user gives wrong answers twice for the same stage of the tour
    - The user talks again when the tour is completed
    - There's a question mark in the answer

To achieve this a "failed" state field is added on user model, allowing to
distinguish state in the bot workflow from state of answers (failed / not
failed).

Task ID: 2233014
PR #49661
2020-05-27 12:47:16 +00:00
dmonzonis 5b20117495 [FIX] mail: channel_get not finding channels correctly
The channel_get method from mail.channel was not retrieving existing
channels between partners correctly in some cases, which caused some
annoyances, like OdooBot creating a new channel/thread each time the
admin user logs in to remind them about changing the default password,
instead of using an existing conversation.

This was caused because because the SQL query was filtering the channels
by comparing the partner ids to the result of the ARRAY_AGG function,
which sometimes contains duplicates.

Task ID: 2233014
PR #49661
2020-05-27 12:47:16 +00:00
Michael Mattiello (mcm) b110bd4cbe [FIX] web: fix httpRequest GET + add in test_env
This commit fixes the method GET in httpRequest and
adds it in test_env.

Before this commit, the GET method crashed because
of the forced body param.

closes odoo/odoo#51980

X-original-commit: 7c4fba660a13c38048020faf595bd348d1bca225
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-05-27 12:26:05 +00:00
Michael Mattiello (mcm) cf90b56c3c [FIX] web: mount owl renderer once
Before this commit, owl renderers were mounted twice.
This commit makes owl renderers mounted just once as it should be

X-original-commit: 9234aa5c5c7de2f7af23071a3ff76adf93e9cee7
2020-05-27 12:26:04 +00:00
Goffin Simon bb4b07df3f [FIX] account: Payment matching with cash basis
Steps to reproduce the bug:

- Let's consider the current company CY in €
- Let's consider a cash basis tax T of 20%
- Let's consider that 1€ = 2$
- Create a customer invoice I on journal J in € for customer C
- Create a line on J with 100€ and set T on it
- Post I
- Create a payment P of 240$ for C on bank journal in €
- Confirm P and click on payment matching
- Try to reconcile P with I

Bug:

A traceback was raised.

Fine tuning of https://github.com/odoo/odoo/commit/0497c311e790454deb9ded2ed4fb206f5fd929ef

opw:2256207

closes odoo/odoo#51952

X-original-commit: 633fc71c14e8258d2a6cb2b8ee4bcc6b41a1124f
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-05-27 11:58:54 +00:00
Denis Ledoux 4fc0f2c042 [FIX] website_theme_install: do not mark theme views as arch_updated when loaded from data files
A view is marked as `arch_updated` if `arch` is being written on it
and `install_filename` is not in the context:
https://github.com/odoo/odoo/blob/7b1a6c00663239fbbab3d8ea5028e0825f4eb0dd/odoo/addons/base/models/ir_ui_view.py#L460-L461

When a view is being updated from a `theme.ir.ui.view` through `_update_records`
https://github.com/odoo/odoo/blob/7b1a6c00663239fbbab3d8ea5028e0825f4eb0dd/addons/website_theme_install/models/ir_module_module.py#L29
https://github.com/odoo/odoo/blob/7b1a6c00663239fbbab3d8ea5028e0825f4eb0dd/addons/website_theme_install/models/ir_module_module.py#L92
https://github.com/odoo/odoo/blob/7b1a6c00663239fbbab3d8ea5028e0825f4eb0dd/addons/website_theme_install/models/ir_module_module.py#L208
https://github.com/odoo/odoo/blob/7b1a6c00663239fbbab3d8ea5028e0825f4eb0dd/addons/website_theme_install/models/ir_module_module.py#L168

we can basically consider it comes from a data file,
the template is updated, and its copies as well if the copies are "unchanged"
and therefore the `arch_updated` should not be set to `True` in such as case,
as the goal of this flag is to mark the view as `arch_updated` if it was updated by the user,
not from a data file loading.

Because the views are marked as `arch_updated`,
in 13.0, when updating the theme view "templates" (`theme.ir.ui.view`),
the copies are not being updated even if they have been left untouched:
https://github.com/odoo/odoo/blob/23511dffb9e3f597a7df9bb834d008f74abb07b8/addons/website_theme_install/models/ir_module_module.py#L165-L166

This is really problematic for upgrades, as the "copies" (the themes views) are not updated
according to the latest changes in the xml files, even if the views have been left untouched by the user.

For instance, this change in the common theme:
odoo/design-themes@29da153784
is never updated in databases, resulting in the below traceback
```
ValueError: Element '<xpath expr="//div[@data-js='content']">' cannot be located in parent view

Fout context:
Weergave`s_badge_options`
[view_id: 2103, xml_id: n/b, model: n/b, parent_id: 901]

load could not load template
ValueError: Element '<xpath expr="//div[@data-js='content']">' cannot be located in parent view
```

opw-2255753

closes odoo/odoo#51969

X-original-commit: 614214a08b7e19605228c96fbdef1a60752ba575
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
2020-05-27 10:42:06 +00:00
Sébastien Mottet (oms) fd87ff4843 [IMP] mass_mailing(_sms): "Click" stat button now redirects to link trackers
PURPOSE

Clarify the use case in which a specified email address is set as replies may
not be traceable. Make the %Click KPIs visible for Emails as well. Allow users
to report on the links that have (or not) been clicked from their
mailing.

SPECIFICATIONS

Display list of link trackers linked to the mailing on 'click' stat button
click.

Task ID: 2202495
PR #48339

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-05-27 11:00:29 +00:00
Sébastien Mottet (oms) 60e4e9912a [IMP] mass_mailing: improve displayed info text and KPIs
PURPOSE

Clarify the use case in which a specified email address is set as replies may
not be traceable. Make the %Click KPIs visible for Emails as well. Allow users
to report on the links that have (or not) been clicked from their
mailing.

SPECIFICATIONS

Add an info text for the "specified email address" option in the "reply to"
field. If target model does not accept incoming emails warn the user it is
likely to fail.

Number of emails/sms sent is now display as clickable text instead of stat
button and clicked stat button is now also visible in mass_mailing.

Task ID: 2202495
PR #48339
2020-05-27 11:00:27 +00:00
Nicolas Martinelli 9d1c3de480 [FIX] account: incorrect forwardport
Previous fixes on invoice analysis report were incorrectly
forward-ported.

closes odoo/odoo#51961

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-05-27 09:27:45 +00:00
jerome hanke (jhk) 69c7303b71 [FIX] website_sale: default website team is set trough onchange
Steps to reproduce:
- Install eCommerce
- Check in website setting that the sales team is website
- Logout
- Without being logged, buy a product (all the cart flow, until the end)
- Once the flow is finished, connect with the admin
- Go to website > Orders > Unpaid Orders (since only wired is set when you create the db)
- Go to the tab "Other Info" of the SO you just created when buying the product

Previous behavior:
the sales team set in website settings is overriden during the
"/shop/address" endpoint

Current behavior:
the team set in website settings is used for sale orders coming from website

opw-2231654

closes odoo/odoo#51959

X-original-commit: 919077638bc9e8a5ad1c800b629aa0eaa079f571
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: mightyjol <jhk-odoo@users.noreply.github.com>
2020-05-27 09:25:16 +00:00
std-odoo 4e1399dc0d [IMP] web: customize the save/close button of a FormViewDialog
Purpose
=======
In Social, we want to be able to change the "Save" button into a "Add"
button when we add a new stream. For that purpose, we need to be able to
customize the text of the `FormViewDialog` buttons.

Task-2234580
See odoo/enterprise/pull/9933

closes odoo/odoo#49622

Related: odoo/enterprise#9933
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-05-27 08:56:35 +00:00
Goffin Simon 0d569c8117 [FIX] auth_signup: 403 when sending message on task with portal
Steps to reproduce the bug:

- Let's consider a product P (invocing policy based on timesheet and creating new task)
- Create a quotation with the product P
- Confirm it (A new task T is created)
- Go to T and add a follower (who is a portal user PU) in the task
  but uncheck the box to send him an email
- Connect to the portal with PU
- Go to T and send a message

Bug:

A 403 error was raised

opw:2239844

closes odoo/odoo#51953

X-original-commit: c7e864e039dd2c948a5c61df29052313c6a659ce
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-05-27 08:44:58 +00:00
yhu-odoo 181c7d82e3 [IMP] purchase: send reminder mail to vendor
1. automatically send a reminder mail to vendor to confirm the receipt
date. If confirmed, (confirmed by vendor) will be added next to the
receipt date. If not, vendor can update the date on the portal website.
An warning activity will be set for the purchase representative for this
update.

2. Vendor can also comfirm recieption of the PO when we 'send PO by mail'.
If confirm, (confirmed by vendor) will be added next to the confirmation
date. An filter is added in the PO search view to show all unconfirmed
PO.

Task 2230811
PR #49921

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2020-05-27 08:20:17 +00:00