Commit Graph
18 Commits
Author SHA1 Message Date
std-odoo cf91caa284 [FIX] mail_plugin: always ensure that the returned partner has a name
Task-2826471

closes odoo/odoo#93058

X-original-commit: da26bb66f7c8c65beb7d326a6aaf565da8713a0d
Related: odoo/enterprise#28118
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-06-08 12:27:08 +02:00
std-odoo 81d7b17c5c [IMP] mail_plugin: hide the create button if we do not have access right
Purpose
=======
Hide the "Create Partner" button if we do not have the "create" access
right.

Do not offer to create a project if the current user can't.

Do not try to enrich if we can't create a partner.

The write access on the partner is checked on the record itself because
of access rules.

Task-2826471

X-original-commit: b678a9bc1298e9a1973074740a8c8a1d471b6848
Part-of: odoo/odoo#93058
2022-06-08 12:27:08 +02:00
Fabio Barbero fc79bd1e0e [IMP] sm modules: "neutralise" genders
Purpose
=======
Change all masculine nouns in Odoo's code to neutral nouns (when
possible), making sure that demo data is correctly handled. This is
particularly important since our code is open source, and nowadays lots
of machine learning models are trained on open source repositories.

With this small change we contribute to training more "fair" models, and
teaching models that "employee" or "user" != "he".

This also affects some text visible by the user, hence making it more
inclusive for Odoo users.

Task-2853046

closes odoo/odoo#91292

Related: odoo/enterprise#27302
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-05-16 10:09:32 +02:00
std-odoo c967cda61f [IMP] mail_plugin: when searching a non-full email no result are returned
Task-2601837

X-original-commit: 2c2e927ad3c07a9a8acdda06ff379dfc7ce07722
Part-of: odoo/odoo#89848
2022-04-27 15:31:48 +02:00
std-odoo 742e9a24d1 [FIX] mail_plugin: fix error in the console when logged with the addin
Bug
===
When we log in with the addin, it will fetch the route `/mail_plugin/auth/access_token`
to know if the module is installed. Because we give no `auth_code` an
error is displayed in the console.

Task-2601837

X-original-commit: 26944c09de32512a8072e00ac73a90c633eecb6c
Part-of: odoo/odoo#89848
2022-04-27 15:31:48 +02:00
std-odoo a69366ef03 [FIX] mail_plugin: fix traceback when the partner has been removed
Bug
===
1. Open an email in Outlook, and create the contact
2. Go to Odoo and remove the partner
3. Without refreshing the browser tab, click on the "reload" icon of
   the addin. A traceback will be raised on the Odoo side

Task-2601837

X-original-commit: bb2e5ce9cf149a5cfd68cf908184c823f882d97d
Part-of: odoo/odoo#89848
2022-04-27 15:31:48 +02:00
std-odoo 9323cee2f2 [IMP] mail_plugin: improve error message when the email is not valid
Purpose
=======
Improve the error message when the email
of the contact / company is not valid.

Task-2601837

closes odoo/odoo#86080

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-04-27 11:06:14 +02:00
Julien Castiaux c0647b5c52 [REF] core: HTTPocalypse (14) changes all addons
This commit is the 14th commit of a comprehensive refactor of our HTTP
framework. See odoo/odoo#78857 for complete historic, discussions and
rationnals.

* `request.uid = x` => `request.update_env(user=x)`.
* `request.context = x` => `request.update_env(context=x)`.
* `request.context = dict(request.context, x=y)`
   => `request.update_context(x=y)`.
* `request.cr = None` => `request.cr.close()`.
* `http.mono_db()` => `request.db`.
* `http.dispatch_rpc()` => `service.dispatch_rpc()`.
* `@service.model.check` => `service.model.retrying()`.
* `request.endpoint`
   => `env['ir.http']._match(request.httprequest.path)[0].endpoint`.
* `request.routing_iteration `=> `removed`.
* `request.jsonrequest` => `request.dispatcher.jsonrequest`.

Note that `request.params` is now set much later in the process. If you
are in a situation where you values from the query string or the
http body you can use `request.get_http_params()`.

Note that using the new `request.future_response`, it is possible to
add headers and cookies on the response object before the response
object is initialized. Please note that headers/cookies saved on
the future response will NOT be injected in case of error.

PR: odoo#78857
Task: 2571224
2022-02-24 13:30:51 +00:00
Stephane Debauche 347111c7b8 [FIX] mail_plugin: improve error management when enriching companies
Purpose
=======

If the partner was removed after the user open the email on the Gmail
side, return a clean error message instead of raising a traceback.

Add translations for the new strings in the plugin.

Links
=====

Task-2567566
Followup of odoo/odoo#73653
See odoo/mail-client-extensions#15

closes odoo/odoo#75076

X-original-commit: e782c85b95aed30dd38bd30c29e57a9acc540a49
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-08-13 13:38:42 +00:00
std-odoo 7d476512b8 [FIX] mail_plugin: fix an error during the authentication
Bug
===
Since 478068c829 we wanted to use the
Odoo redirection function everywhere.

But this function work only if we redirect the user to the same site.

The mail plugin need to redirect outside of Odoo and so we can not use
this function.

closes odoo/odoo#73698

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2021-07-14 11:54:40 +00:00
nounoubensebia 017ecb37f2 [IMP] mail_plugin: enable enrichment and update of an existing company
Add an enrich and update endpoint allowing the user to update an existing
company if the company has no insights, as this can bring valuable information
for the user especially if the company has no infos.

Task-2563180

closes odoo/odoo#73658

X-original-commit: 72c35667d3e6f99cb4cfdbd1c93b877cc9fef750
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-07-13 16:42:10 +00:00
Jeremy Kersten 478068c829 [IMP] *: always use Odoo Response
This branch adds request.redirect on all requests.
In case of a front end request, we do an url_for to the location.

We removed redirect_with_hash that was only for retro compatibility

local_redirect has been renamed to redirect_query, and param keep_hash has been
removed and moved.

Default code for redirect is 303 now instead of 302.

Now redirect and redirect_query make local redirect by default, you need to
pass local=False to make external redirect.

All werkeug.utils.redirect has been replaced by request.redirect.

Http.redirect now use an http.Response type, and it become easy to add an
override like 'set_cookies' e.g.

Dispatch of a website.page return an http.response too, so we first need to
check if it is a cached version before to check if it is an Odoo Response.

Migrate your code:

http.redirect -> request.redirect(location, code, local)
http.local_redirect -> request.redirect_query(location, query, code, local)
http.redirect_with_hash -> request.redirect

Courtesy of odony for help and review ;)

closes odoo/odoo#72599

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2021-07-08 07:00:06 +00:00
nounoubensebia aa02285b0a [FIX] [crm_]mail_plugin: fix multi_company access error
This commit fixes the multi_company access error when the user is attempting to
see a record belonging to another company then the one he is logged in to from
the plugins, upon login, it returns all the company ids related to the user so
that the plugin redirects the user to the record with all companies ticked.

Task-2541205

closes odoo/odoo#72529

Plugin-pr: https://github.com/odoo/mail-client-extensions/pull/10
X-original-commit: 92972fa16920e070e533040439243a0257357aad
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-06-22 11:52:30 +00:00
std-odoo a755ed2475 [IMP] mail_plugin: allow to upload attachments when logging an email
Purpose
=======
Allow to upload the attachments of the email when logging it on the
partner / lead / ticket.

Technical
=========
The attachments posted on this new endpoint are base 64 encoded and
added in the JSON data in a list (name, encoded content).

Links
=====
Task 2545048
See odoo/mail-client-extensions/pull/11

closes odoo/odoo#72515

X-original-commit: 71626ad727fd573fd98e595e0ae964ce0559e547
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-06-22 09:30:28 +00:00
nounoubensebia 24d5c789f1 [IMP] mail_plugin, crm_mail_plugin: add translation support for email plugins
In mail_plugin module, add a method which returns translatable modules,
this method will be overridden in the other modules to add their module names.

Translations are prepared via the _prepare_translations method which uses
the get_translations_for_webclient method, this way we can easily fetch
translations without having to write python code.

We also add xml files in "static/", these files contain terms to be translated,
for each plugin we create a separate xml file so that we can easily update each
plugin separately.

This implementation will allow having translations handled by Odoo, which has
several advantages:
- existing system, nothing to develop
- it will use transifex and the terms will be translated by the community
- forces that mail_client implementations to have the same logic (consistency)
- compared to other solutions which rely on python code to return translations,
  this solution is more robust as it avoids having to type the string to
  translate twice

Task-2480075

closes odoo/odoo#69118

Ent-pr: https://github.com/odoo/enterprise/pull/17626
Plugin-pr: https://github.com/odoo/mail-client-extensions/pull/6
Related: odoo/enterprise#17626
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-05-26 12:51:57 +00:00
std-odoo d3db46f06f [IMP] mail_plugin: return the "is_company" field
Purpose
=======
Return the "is_company" field for the <res.partner>, so when the partner
has no image, we can display the appropriate placeholder image
(person for non-company and buildings image for company).

Task 2496443

closes odoo/odoo#69562

X-original-commit: 37766d3ef32816f332cd285cce8dbb1fa5e4b66a
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-04-20 15:51:29 +00:00
std-odoo ab179fb600 [FIX] mail_plugin: avoid repeating company creation
Purpose
=======
Avoid creating / enriching multiple time the same company.

It can occur in many situation; when IAP do not return an email address
the the company, when the domain is blacklisted...

We also want to remove the field "iap_enrich_info" from the res.partner
model because this field can be heavy (JSON field) and the res.partner
model is used a lot.

Technical
=========
For this purpose, we create a new model <res.partner.iap> which will
store the IAP response and the requested domain.

So we can retrieve the previously enriched company regardless of the
partner's values

Task 2466653
See odoo/odoo/pull/68286
See odoo/upgrade/pull/2301

closes odoo/odoo#68286

Related: odoo/upgrade#2301
Related: odoo/enterprise#17426
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-04-01 14:23:07 +00:00
nounoubensebia 3d514037bb [REF] [crm_]mail_client_extension: rename to mail_plugin
Rename the mail_client_extension and crm_mail_client_extension modules to
mail_plugin and crm_mail_plugin respectively, purpose is to shorten the name of
the modules as it is now quite big and verbose.

Task-2427737

UPG-PR: https://github.com/odoo/upgrade/pull/2156
COM-PR: https://github.com/odoo/odoo/pull/66139
2021-03-29 14:21:05 +00:00