Commit Graph
126133 Commits
Author SHA1 Message Date
Alexandre Kühn 067ae915b7 [REF] im_livechat,mail: renamed "livechat" to "website livechat"
Renamed "livechat" model into "website livechat", in order to avoid confusion
with backend livechat.

- `im_livechat.model.LivechatMessage` becomes `im_livechat.model.WebsiteLivechatMessage`
- `im_livechat.LivechatWindow` becomes `im_livechat.WebsiteLivechatWindow`
2018-07-19 13:58:34 +02:00
Alexandre Kühn a6f6bbb46f [IMP] mail: update documentation of params in thread.xml templates
Some parameters in the templates were not documented, which is now
the case with this commit.
2018-07-19 13:58:33 +02:00
Alexandre Kühn 4925d53562 [FIX] mail: improve names of option parameter, classname, and template name
- `displayEmptyChannel` thread rendering options becomes `displayEmptyThread`
- classname `o_chat_content` becomes `o_thread-window_content`, as it is used
  only for thread windows.
- template `mail.EmptyChannel` has been renamed to `mail.widget.Thread.Empty`
2018-07-19 13:58:33 +02:00
Xavier Morel 9f8eae34d1 [FIX] undefined variables (potential nameerror)
Backport 9ec0455abc and
6a601fe6dc as they fixed various
possible NameError but did so in later sub-releases.
2018-07-19 13:37:10 +02:00
len-odoo bc12428e17 [FIX] web: format value of statinfo widget
The value of the statinfo widget is rendered by the qweb after a t-esc.
Say if the python rounding returned 14.0000000001
(supposed to be a two digits precision number through the magic of floats)
then the statinfo widget would print it as-is.

We now format the value at assignation.

opw 1865426
2018-07-19 13:19:09 +02:00
Christophe Simonis 37f40d516a [FIX] account: adapt new tests to new reconciliation widget API 2018-07-19 12:14:01 +02:00
Rémi Rahir af2f12b136 [IMP] iap: generic method to recharge an account manually
Up until now, services developed (sms) relied on the get() and
InsufficientCreditError mecanism to create iap_accounts on the fly and
recharge it.

This particular workflow does not work well with automated processes which
is why we modify the function get_credit_url such that it will allow the
client to generate the 'recharge' link manually for better integration
of iap services.
2018-07-19 11:53:13 +02:00
Thibault Delavallée 8eec939a78 [MERGE][ADD] digest, various: add recurrent digest emails
This commit adds a new digest module allowing to send recurrent digests by
email. Those contain a summary of the activity and display various KPIs
allowing to see the activity at a glance. It is also a great tool to improve
user engagement.

First commit adds the digest module holding the base mechanics of digest
implementation as well as first KPIs / tips. Other commits add KPIs and
tips based on the specific extended application.

This merge is related to task ID 30655. Closes PR #18318.
2018-07-19 11:31:50 +02:00
Goffin Simon 67449ced66 [FIX] purchase: State 'bid' on PO doesn't exist
Since this commit: https://github.com/odoo/odoo/commit/cb01be235e73cf948418e41642d4906ff84906a6
the state 'bid' doesn't exist on model 'purchase.order'

With courtesy of @rim-odoo

opw:1867594
2018-07-19 11:28:32 +02:00
Mitali Patel 9231d42c41 [REM] project: remove onboarding mail
Removed current onboarding mail which was send when module was installed.
It is considered as not necessary now that we have a digest module sending
KPIs and tips by email.

This commit is related to task ID 30655 and PR #18318.
2018-07-19 11:26:49 +02:00
Mitali Patel 5a0696050e [REM] website_mail: remove onboarding mail
Removed current onboarding mail which was send when module was installed.
It is considered as not necessary now that we have a digest module sending
KPIs and tips by email.

This commit is related to task ID 30655 and PR #18318.
2018-07-19 11:26:48 +02:00
Mitali Patel d00382d569 [REM] crm: remove onboarding mail
Removed current onboarding mail which was send when module was installed.
It is considered as not necessary now that we have a digest module sending
KPIs and tips by email.

This commit is related to task ID 30655 and PR #18318.
2018-07-19 11:26:48 +02:00
Mitali Patel 54d7e7fd52 [IMP] sale_expense: implement digest KPIs / tips
Purpose of this commit is send a tip in digest emails so that people
can configure expense modules later.

This commit is linked to task ID 30655 and PR #18318.
2018-07-19 11:26:48 +02:00
Mitali Patel 4f9e4283d4 [IMP] website_sale: implement digest KPIs / tips
Purpose of this commit is send ecommerce sales details KPIs in digest email.
Those are added in the default digest template.

This commit is linked to task ID 30655 and PR #18318.
2018-07-19 11:26:48 +02:00
Mitali Patel 1909a70cee [IMP] sale_management: implement digest KPIs / tips
Purpose of this commit is to send sales details KPIs in digest email. Those are
added in the default digest template.

This commit is linked to task ID 30655 and PR #18318.
2018-07-19 11:26:47 +02:00
Mitali Patel 870b05f693 [IMP] project: implement digest KPIs / tips
Purpose of commit is to implement KPIs about opened tasks for project
digest emails. Opened tasks are nor archived nor in a final stage. Those
are added in the default digest template.

A tip is added to remind to use the mail gateway.

This commit is linked to task ID 30655 and PR #18318.
2018-07-19 11:26:47 +02:00
Mitali Patel 220ac81fa6 [IMP] point_of_sale: implement digest KPIs / tips
Purpose of this commit is to send POS sales details in digest emails. Those
are added in the default digest template.

This commit is linked to task ID 30655 and PR #18318.
2018-07-19 11:26:46 +02:00
Mitali Patel d61534ac87 [IMP] hr_recruitment: implement digest KPIs / tips
Purpose of this commit is to send KPIs about hired colleagues in digest
emails. Those are added in the default digest template.

A tip to remind to use the mail gateway is also added.

This commit is linked to task ID 30655 and PR #18318.
2018-07-19 11:26:46 +02:00
Mitali Patel 707bd1bfb4 [IMP] crm: implement digest KPIs / tips
Purpose of this commit is send lead / opportunity creation as well as
won opportunities KPIs in digest emails. Those are added in the default
digest template.

A tip to remind to use the mailgateway is also integrated.

This commit is linked to task ID 30655 and PR #18318.
2018-07-19 11:26:46 +02:00
Mitali Patel 9751417102 [IMP] account_invoicing: implement digest KPIs / tips
Purpose of this commit is to add revenue details KPIs in digest emails as well
as in default digest send to all users.

This commit is linked to task ID 30655 and PR #18318.
2018-07-19 11:26:45 +02:00
Mitali PatelandSiddharth Gajjar 2d1abe64e4 [ADD] digest: add new module to send recurrent digests by email
This commit adds a new digest module allowing to send recurrent digests by
email. Those contain a summary of the activity and display various KPIs
allowing to see the activity at a glance. It is also a great tool to improve
user engagement.

Digest module contain the core implementation of digests emails as well as
first basic KPIs. Future commits will gradually add KPIs in various main
addons.

Digests consist in email templates that have to call some methods on digest
module (compute_kpis, compute_tips, compute_kpis_actions) and render it
accordingly. A default digest is given in data allowing to tune it or to
duplicate and modify it.

Frequency is configurable on the digest; digests can be weekly, monthly or
send every 3 months. New employee users are added to the default widget.
KPIs are computed for each subscribed users so that results match its
groups and related access rights. Default digest therefore work for all users
as displayed results depend on their right without having to define separate
digests just for that purpose.

Implementation is done with Studio in mind. KPIs are computed fields on the
digest model. It means using Studio custom computed fields can be defined
to add customization to the digests, using fields named x_kpi_... .

Digests also holds tips to remind and warn users of features to activate
or configure like mailgateway.

KPIs can be linked to actions so that the section contain a link allowing
to directly jump on a given menu, allowing to directly link reporting
menus for example.

This commit is related Task ID 30655 and PR #18318.

Co-authored-by: Siddharth Gajjar <sga@odoo.com>
2018-07-19 11:26:45 +02:00
Goffin Simon 487873f170 [FIX] purchase: Error when updating dropship order
Steps to reproduce the issue:

- change the demo user settings -> use Sales: User: All Documents only
- create a stockable product with dropship feature on and a supplier
- connect as the demo user
- create a sales order with this product
- confirm the order
- as the admin user, confirm the purchase order generated through dropship
- connect as the demo user
- open the confirmed SO
- add a line with this product
- save the SO

Bug:

An access rights error was raised.

opw:1866015
2018-07-19 11:12:09 +02:00
qsm-odoo ca9aa5f286 [FIX] account: typo in reconciliation tests
A <button/> is always not a <hidden/>... and asserts were not testing
the correct behavior (checked with chm).
2018-07-19 10:32:12 +02:00
RomainLibert c6396c36e7 [DOC] dashboard: add clickable attribute on aggregates
Closes: #25710
2018-07-19 09:51:54 +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
Martin Trigaux 2472bdb3a1 [FIX] base: remove duplicated translation before update
Since 160d6577, the translations must be unique on the source.
When calling insert_missing on a field, the final step is to set the correct
source on every translation to keep them synchronised.

In case the translation looked like:

  id   | lang  | src | type  | res_id |       name
---------+-------+-----+-------+--------+------------------
    42 | fr_FR | KGM | model |      2 | product.uom,name
    43 | fr_FR | kg  | model |      2 | product.uom,name

The final step will fail as violating the unicity constraint.

Remove duplicated translations before making the update.
It was chosen to keep the latest translation as it should be the most up to
date (e.g. after an import creating duplicated translations).

Add a non-regression test for previous change

opw-1864123
Closes #25787
2018-07-19 09:21:15 +02:00
Lucas Perais (lpe) 1409421b26 [FIX] account: payment cashbasis' move posted once
Make an invoice with a line having a cashbasis tax
Make a payment at a future date compared to the invoice's date

Before this commit, the cashbasis move attempted to post many times
which could lead to errors when posting is forbidden
(in the case of the french localization)

After this commit, the cashbasis move is posted only once

OPW 1865179
closes #25832
2018-07-19 09:19:47 +02:00
Christophe Simonis e5fab318d9 [MERGE] forward port branch saas-11.2 up to 02f38beffb 2018-07-18 17:59:23 +02:00
Christophe Simonis 02f38beffb [FIX] account: adapt new reconciliation tests 2018-07-18 17:00:00 +02:00
Atul Patel db403e6dd7 [IMP] base_import: Import images via URL
Task 32132

Currently, importing image requires either uploading them
one-by-one (after the initial import), scripting that upload, or
converting all images to base64 and putting that in the import
file (leading to a huge unreadable file) before actually doing the
import.

This is problematic for non-technical users, especially when they're
deploying or synchronising e-commerce products.

This change matches URLs in image fields and goes to read the URL &
load that as image data. It performs the read inline which is reactive
but means the imports will be very slow (wallclock) as each URL will
have to be fetched and encoded.

Configuration: via config file only

* import_image_timeout (seconds, default 3), initial connection timeout (not
  overall file download)
* import_image_maxbytes (bytes, default 10MB): maximum image size to
  download, checked before download (Content-Length) and validated
  during (in case Content-Length is missing)
* import_image_regex (str), matches field content as "probably an
  image", by default checks that the field value starts with
  http|https and ends with an image-type extension (e.g. bmp, png, jpg)

Hard Limits:

* only works on fields actually called "icon", "image", "logo" or
  "picture"
* the image can't be more than 42MP (checked after all data is
  downloaded)

Hooks:

* _can_import_remote_urls (on res.users) checks whether the current
  user is allowed to import via URLs
* _import_image_by_url (on base_import.import) performs the actual
  download, could be overridden to store urls to import and
  batch/queue the actual imports
2018-07-18 16:56:47 +02:00
len-odoo 79ee0e2584 [FIX] web_editor: display a dialog if posting a translation fails
When editing a translation on the website, if the user copy/pastes directly in
the web editor, then the html formatting is also copied.
Since the translation matching takes the html code into account when matching
the translations, this breaks the pairing.
When trying to save, the backend function validating the new translation thus
fails and return a server error.
However nothing was done with this error, and the user just witnesses that
saving doesn't work (unless he opens the console to notice the rpc failure).

We now display an alert dialog that notifies which tranlation causes the error.

opw 1862784
2018-07-18 16:35:38 +02:00
Christophe Simonis 8d1475ff57 [MERGE] forward port branch 11.0 up to 27c017ad98 2018-07-18 16:03:56 +02:00
Christophe Simonis 2eb8d06149 [FIX] board: remove undesired attribute overwrite
Oversight of previous forward-port
2018-07-18 15:10:21 +02:00
Moises Lopez 27c017ad98 [FIX] requirements: improve python3.7 compatibility
Since af9d6b86a1 and
5a57c29ff2 , python3.7 can be used to run
Odoo. This commit ensures that python3.7 compatibles versions of gevent,
greenlet and lxml will be installed without breaking compatibility with
Debian Stretch packages versions when using the Debian packaged Python.

Closes #25841
2018-07-18 15:07:42 +02:00
Thibault Delavallée bbbefd70cb [IMP] mail: correctly set message class in activities
Fixup of decoration integration: o_thread_message_note was not correctly set.
2018-07-18 14:47:38 +02:00
jem-odoo c30155c13c [IMP] mail: allow to decorate background of activity notes
In some case, we want to have a different style for activities that
require attention for users. Sometimes activities should attract the
user attention with actions to perform that are important.

This commit introduces a decoration option on the activity type. By default
no decoration is done. However decoration type can be set to warning or
error. This triggers the related bootstrap alert classes.

This commit is related to task ID #1860833. Closes #25479.
2018-07-18 14:40:56 +02:00
Prakash Prajapati b094fc6bf8 [FIX] l10n_be_invoice_bba: Installation fix the traceback
--change the group name acc_sale -> sale

TASK:1865319
2018-07-18 13:57:39 +02:00
Sébastien Theys da150e591d [FIX] account: fix the aged report test
The partner is present in the amls but as an empty array, so we need to test it this way.

Fixed with the help of @smetl (las)
2018-07-18 13:39:33 +02:00
qsm-odoo 2b470288f2 [FIX] portal, *: missing mobile menu toggler
* website

The mobile menu toggler only appeared when the 'website' app was
installed. This was a mistake which was made with portal split at
https://github.com/odoo/odoo/commit/c3c42658c529967f26c39f51b39059bf47078b57
2018-07-18 12:57:17 +02:00
Sébastien Theys c65ca4ec16 [FIX] website_event: prevent crash when address_id is set
This fixes a bug introduced with commit 8d6ee5cb08 where it tried to set a parameter after it had been url encoded.
2018-07-18 12:04:52 +02:00
Thibault Delavallée f8031a61f3 [FIX] mail: send email even if no notification layout found
If notification layout used to encapsulate message send by email is not
found simply send emails without layouting instead of skipping it. We
should not avoid information to be send.
2018-07-18 12:04:16 +02:00
Thibault Delavallée 6f8f66f3ee [FIX] purchase: fix notification layout wrongly reset
Commit e38ed7c780 moved code related to purchase, stock and
purchase_stock in order to clean module dependencies. However probably due to
some wrong manipulation notification layout was reset to an old removed
layout. This commit fixes it.
2018-07-18 11:51:32 +02:00
Martin Trigaux afde870da4 [FIX] http: avoid corruption with domain name
Domain names may have been interpreted as a regex by mistake
2018-07-18 10:32:42 +02:00
Lucas Perais (lpe) 92fed4a51e [FIX] account: reconciliation widget: partial reconcile 2 inv 1 pay
Have two invoices
Make a bank statement with one line, which amount is:
Amount[Bank] < Amount[Inv1] + Amount[Inv2]
AND
Amount[Bank] > Amount[Inv1]

Click on on the reconcile button on the form view of the bank statement

On the reconciliation widget:
Click on the first invoice to fully reconcile it with the payment
Click on the second to partially reconcile it with the payment

Before this commit, there was no way to let the second invoice open
and partially reconciled.
The only possibility was to make a write-off

V10.0 allowed to to do such a flow

After this commit, this use case is dealt with again

OPW 1864689
closes #25721
2018-07-18 09:31:26 +02:00
Christophe Monniez ae87467d8c [FIX] packaging: make debian package depends on python3-chardet
Since b60de0db41 Odoo requires chardet to
be installed.

With this commit, the Debian package will depends on python3-chardet.
2018-07-18 09:30:14 +02:00
Christophe Simonis 5b9a51bb1d [MERGE] forward port branch 11.0 up to 44b77d3702 2018-07-17 17:48:34 +02:00
Yannick Tivisse 3031ab8f0f [IMP] mrp,purchase,pos: Improve demo data
SPECIFICATIONS
==============

PoS
---

https://drive.google.com/a/odoo.com/file/d/1BkVVQTR7V_kZpNsOO0CwqTQtxAH9boLB/view?usp=drivesdk
Add new products : Cola, Water, Orange Juice (+ images)
in internal category : All/Saleable/PoS
available in PoS

Traceability
------------

The [FURN_9666] Table (MTO) should be tracked by serial number
There should be one purchase order already received for 1 Table Top
There should be one purchase order already received for 4 Table legs
There should be one MO done for the table (consuming the products received in the PO you've created)
> The goal is to have a complete traceability report for one table
Delete SN/LN : https://drive.google.com/a/odoo.com/file/d/1cxdE-2laGYaZ2rnSFKjEbVg6k6MVyLdw/view?usp=drivesdk

Assign crm.lead to the admin user : when opening the pipe, there must be some leads and opportunities

Products
--------

https://drive.google.com/a/odoo.com/file/d/1qaO7MlufZbj7bw6z5S8DtmKPYiK0sQNK/view?usp=drivesdk
route buy should be ticked on pedal bin product

remove some ecommerce categories: https://drive.google.com/a/odoo.com/file/d/1sgIJE49BHVDcoF5CXngbJAvWb2fN_3Wk/view?usp=drivesdk
2018-07-17 17:37:42 +02:00
Christophe Simonis 44b77d3702 [MERGE] forward port branch saas-15 up to 1de78253ff 2018-07-17 17:08:50 +02:00
Christophe Simonis 1de78253ff [MERGE] forward port branch saas-14 up to 7f7b705236 2018-07-17 16:37:07 +02:00
Christophe Simonis 7f7b705236 [MERGE] forward port branch 10.0 up to 633a65d231 2018-07-17 16:36:29 +02:00