Commit Graph
73 Commits
Author SHA1 Message Date
dip-odoo bbda48231c [IMP] mass_mailing: add schedule button that opens a wizard for scheduling date
Purpose of this commit is to re-arrange mass mailing buttons and to add
a button for scheduling mass mailing in future :

 * add schedule date in debug mode;
 * re-arrange all button;
 * add schedule in future button and on click open wizard to schedule future
   date;
 * on 'send now' button remove the useless '|' in domain;
 * add a small wizard to select the send date;

This commit is related to task ID 46932
2018-05-25 16:23:48 +02:00
Christophe Simonis fed775bc0c [MERGE] forward port branch 11.0 up to 8c64159b88 2018-04-18 18:20:40 +02:00
Christophe Simonis 2c1c9c21f1 [MERGE] forward port branch saas-15 up to 16ec176620 2018-04-18 14:43:35 +02:00
Christophe Simonis 67054b6dcb [MERGE] forward port branch 10.0 up to 2f037a13ca 2018-04-18 12:14:53 +02:00
Nicolas Martinelli 866b48a267 [FIX] mass_mailing: sanitize test email
When sending the test email of a mass mailing campaign, it might be
observed that the result is different from the final email sent to
customers.

This is because the `body` field of the final mail message is an `Html`
field with options `sanitize_style=True` and `strip_classes=True`. On
the other hand, the `body_html` field the test mail is a simple `Text`
field which is not sanitized.

We sanitize the `body_html` field with similar options.

opw-1820064
2018-04-17 09:16:26 +02:00
Thibault Delavallée b1b9896c46 [FIX] mail: replace local links in notification emails
Since notification emails are not mail templates anymore they do not go
through the mail_template.render_post_process() method that converts
local links to absolute links. This means that buttons and images were
not correctly displayed in notification emails. Indeed those still had
local links.

This commit fixes that by moving the method directly in mail.thread and
calling it accordingly when rendering the notification email. Note that
the method has been changed in order to use regex instead of html
parser. It is done based on work already done in mass mailing application.
Indeed using parsers is complex and time consuming and may create
changes in the html structure that are not intended.

Next step in master is to go through various link modifications in
mass mailing module to see how to handle them properly. Maybe.
2018-02-12 13:07:41 +01:00
Kinjal Mehta d2b55d75a8 [IMP] mail,mass_mailing: changed duplicate field label in the same model 2018-01-04 17:56:54 +05:30
Yannick Tivisse b465ae97c6 [IMP] mass_mailing: Add the possibility to merge mailing lists
Purpose
=======

Mailing lists are not flexible. It should be possible to merge mailing lists and remove duplicates when doing it.

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

- When selecting records, in the action menu, add "Merge selected mailing lists"
- A modal will open :
	- There's the choice between merging the contacts into a new mailing list or an existing one
	- There's the choice to archive the source mailing lists or not
	- The duplicates are avoided in the destination mailing list
	- Opt-out contacts are not copied in the destination list
2017-10-23 13:59:20 +02:00
Raphael Collet c21fed6ea4 [FIX] performance: use IrModel._get instead of search 2017-09-21 16:10:13 +02:00
Yannick Tivisse 51b5ee7c3c [IMP] mass_mailing: choose model among all chatter models
This commit removes the strange selection box based on a magic flag and
some strange methods returning a string. Instead just allow to send mass
mailing on all models inheriting from mail.thread using the is mail
thread flag.

Various addons are updated to remove the _mail_mass_mailing class
attribute used to determine mass mailing capability.

We consider people could send a mass mailing on every model inheriting
from mail.thread. It makes no sense to limit it to a given set of addons.
2017-09-15 15:56:23 +02:00
Christophe Simonis 9898b125ad [MERGE] forward port branch saas-15 up to c0e4ab8080 2017-05-05 17:23:23 +02:00
Pierre Masereel 2c666af5d1 [FIX] mass_mailing: send mail to partner without email
When you send a mass mailing to muiltiple partner, if some of them have
no email adresse, it can lead to errors because of the variable 'recips'
is not set if the first occurence in the 'for loop' has no email.

To fix this, we always set the variable 'recips' by replacing the 'elif'
close by a 'else' one

introduced in rev: https://github.com/odoo/odoo/commit/65ed4553a50fdbefc986b7d21f87a81c42b743c7
2017-05-04 18:16:46 +02:00
Lucas Perais (lpe) 65ed4553a5 [FIX] mass_mailing: make blacklist and seenlist work with res_partner
Before this commit, the filtering brought by commit ca989b6 did not work when
no email_to was present. Which is the case for mass-mailings based on
res.partner records.

OPW 728321

Closes #16745
2017-05-03 14:54:55 +02:00
xmo-odoo b4429c2a91 [FIX] Various P3-related import changes
* LDAP import: python-ldap is not python3-compatible, pyldap is

  Warning: only supported from debian Stretch (current testing)?
  https://packages.debian.org/search?searchon=names&keywords=pyldap

* implicitly relative imports
* imports of moved or removed stdlib modules

issue #8530
2017-04-28 09:06:53 +02:00
Olivier Dony ca989b6548 [FIX] mass_mailing: prevent duplicates and sending to opted-out
The mass-mailing App suffered from severe issues due to its inability
to detect and handle duplicates "at the email level", and the absence
of any global blacklist system, leading to lack of user trust.

Mailing-lists typically include multiple records with the same email,
and it is critical to avoid sending them the same email several times.
A related problem is the unsubscription of an email that is present
in other records (duplicates). Opting out the first email should
automatically blacklist it for other records as well.

Ideally we should have a global blacklist table in order to
share the unsubscription requests globally across models (Leads,
Partners, Mailing-list contacts). It would also allow importing
it from other blacklist systems. (TODO for master)

This commit introduces a partial solution, made of several
small changes:

- In mail.mail: double-check that an outgoing email has the
correct status (`outgoing`) before sending it. This allows
adding emails in the queue and cancelling them before they
actually get sent.
- In crm.lead: force predictable recipients for mass-mailing,
by always using the email of the lead rather than the email
of the linked partner when there is one. This simplifies the
computation of the blacklist and seen list. Other areas in
the codebase already assume as much.
- In mass.mailing:

 + Before sending out a mailing-list batch, compute the
   blacklist (all opted-out emails) and the seen_list
   (emails who previously received this mail) to make
   sure we only ever target valid recipients.
 + While delivering the mass-mailing, any email targeting
   an address that is in the blacklist or "seen list" is
   canceled before being sent. The corresponding statistics
   entry is considered "not delivered".
   Also updates the "seen list" continuously.
 + When a mass-mail belongs to a campaign with the
   "unique AB/B testing" flag, the "seen list" is
   common to the whole campaign, as an extra safety.
 + Auto-delete mass-mailing test messages sent with the
   test wizard, to avoid polluting the mail_mail table

Note: this fix uses a simple regex for efficiently extracting
the blacklist in pure SQL from different models, and doing so,
assumes that each record only holds a single email
(no comma-separated adresses). This should be sufficient for
most cases. The regex:

                   ([^ ,;<@]+@[^> ,;]+)
2017-03-27 18:47:59 +02:00
Christophe Simonis ba8a1c7ec2 [MERGE] forward port branch saas-11 up to e86983112e 2017-01-27 18:20:28 +01:00
Christophe Simonis 7c9ad40e0a [MERGE] forward port branch saas-6 up to f8b82bdd63 2017-01-27 15:15:46 +01:00
Christophe Simonis f8b82bdd63 [MERGE] forward port branch 8.0 up to f431cee99a 2017-01-27 15:11:53 +01:00
Adrien Peiffer (ACSONE) 4232a08164 [FIX] mass_mailing: ondelete cascade on transient
The test wizard will be dropped eventually but it is not possible to delete
the mass-mailing before the transient is cleaned too due to the required field.
To make it faster, add a ondelete cascade on the field.

Closes #15217
2017-01-26 10:29:04 +01:00
qsm-odoo 48d5420d7f [FIX] mass_mailing: remove unsubscribe link from test mailing
When using the "Test Mailing" button, a sample mail was sent to a
particular mail address and a text-like unsubscribe link was added
below the mail body. This link was ugly, ununderstandable and useless
as it is test mailing anyway.

To add unsubscribe links to your mail body, use the footer blocks
which contain this kind of link (note: they are inserted by default
in all mail templates).
2016-11-17 11:06:09 +01:00
Yannick Tivisse 5aa9bde34a [FIX] mass_mailing: Append unsubscribe url to mail body 2016-06-17 11:23:13 +02:00
Keyur Gajjar bbca135410 [MIG] mass_mailing: code migration to new api
NB: A controller in website_mass_mailing has been migrated too. It's not a real issue
as this module will also be migrated in the days to come
2016-06-17 11:23:12 +02:00
Keyur Gajjar 1467689edf [MOV] mass_mailing: splitted the following files + new api
1. Splitted data/mass_mailing_data.xml to security/mass_mailing_security.xml for res_groups data.
2. Splitted views/mass_mailing_views to
    - views/link_tracker_views.xml
    - views/mass_mailing_stats_views.xml
    - views/mass_mailing_template.xml
2016-06-17 11:23:12 +02:00
Keyur Gajjar 1c1b049898 [MOV] mass_mailing: directory restructuring according to new api 2016-06-17 11:23:12 +02:00
Christophe Simonis 521b90a8da [MERGE] forward port of branch saas-6 up to 12d7996 2015-12-08 15:17:06 +01:00
Denis Ledoux 258c11a9a6 [FIX] mass_mailing: unsubscribe link when testing the mailing
When testing a mass mailing before sending the mailing
to the contacts (which well, is always the case),
the local links were not replaced by absolute links,
and the override done on the method `send_get_email_dict`
to convert the link `/unsubscribe_from_list` to the actual
unsubscription link was not working, as it relied
on the absolute link.

opw-657982
2015-12-01 17:23:32 +01:00
Christophe Simonis 88c0ce0692 [MERGE] forward port of branch saas-6 up to e16d495 2015-08-24 18:19:19 +02:00
Christophe Simonis b2062df319 [MERGE] forward port of branch 8.0 up to 86f98d5 2015-08-21 17:01:17 +02:00
Ronak Baxi 393f136509 [IMP] *: Uniformize all modal footers
The main button has classnames btn btn-primary.
Other buttons have classnames btn btn-default.
No more 'or' between the buttons.
2015-08-19 08:10:45 +02:00
Denis Baranov c0c272c4a8 [FIX] mass_mailing: add attachment in mass mailing test
When testing the mass mailing, with the 'Test Mailing'
button, the attachments were just not attached.

Closes #2981
2015-08-14 17:39:22 +02:00
Thibault Delavallée 4b122ad41d [MIGR] mail: migration to the new API 2015-04-27 10:36:15 +02:00
Julien De Coster d88c34d11e [IMP] Mass mailings send in cron
1. The merge of the "email_template" module into the "mail" module.
2. The send action of the mass mailing has been moved from the frontend to a cron, because it was too slow to send over 10,000 mails (the user's browser was blocked for 15 - 20 minutes). Mass mailings have now their own process in the kanban view.
3. Mails sent from the mail form are sent immediatly instead of from the mail queue (for instance, when you go to sales > customers > list view > select 2 -3 customers > More > Partner Mass Mailing).
4. Users have now the choice from which mailing list they want to unsubscribe when they click on the unsubscribe link at the bottom of the mail.
5. Mass mailings inherit from their campaign UTMs and mass mailing campaigns are linked to an UTM campaign.
6. Many little improvements
2015-01-07 18:01:58 +01:00
Bhavik Bagdiya ea6a3785bb [IMP] mass_mailing: option to keep sent emails 2014-10-02 09:34:29 +02:00
qdc f57787e07e [IMP] Cleaning of reporting (group_by, filters), adding new favourites and default views, some renaming (py and xml files) 2014-08-26 11:56:49 +02:00
Olivier LAURENT ac9954d210 * [8.0][mass_mailing] some fixes
* [FIX] rename wrong mailing_type field and add missing fields when creating a mass mailing from the composer
* [FIX] coerce tooltip to an unicode string to avoid a json crash when locale produces a non unicode string for strftime(%B)
* [FIX] repair wrong sql statement computing statistics
2014-08-21 11:07:00 +02:00
Fabien Meghazi faa09da325 Removed version="7.0" from form views 2014-06-12 09:09:59 +02:00
Thibault Delavallée cbdf7830b1 [FIX] mass_mailing: fixes:
- fixed keeping the original message for routing, only when choosing to reply in the
original thread (notification=True)
- auto delete sent emails explicitely
- mail_thread: routing: fixed replies always choosen even when replying to emails
with a specified reply_to (using ref_match in the algorithm)
- mail_thread: routing: instead of exclusive routing heuristics, use each case
as a fallback of the previous.
2014-06-02 13:52:27 +02:00
Thibault Delavallée a32ccdbbd1 [FIX] mass_mailing: fixed test mailing wizard, still using unsubscribe url that is
now delegated on the mail_mail model.

bzr revid: tde@openerp.com-20140417122633-bej72c8yhv2y2y4z
2014-04-17 14:26:33 +02:00
Thibault Delavallée 3eaeae55a0 [IMP] mail, mass_mailing: better recipientsz computation
for mass mailing, composer and template. This allows to have one method computing recipints
and avoid repetiting myself.

bzr revid: tde@openerp.com-20140415154700-zu2izvxfjq1k4h4a
2014-04-15 17:47:00 +02:00
Thibault Delavallée 48d7a6fa6c [CLEAN] mass_mailing: rmeoved dead stuff
bzr revid: tde@openerp.com-20140414144011-awu4g35etq9s4gje
2014-04-14 16:40:11 +02:00
Thibault Delavallée 55266ab25d [MERGE] Merged fp's refactoring branch.
bzr revid: tde@openerp.com-20140414131109-7ijlz4gybjd2b2oj
2014-04-14 15:11:09 +02:00
Fabien Pinckaers b1ccd56368 [IMP] better usability
bzr revid: fp@tinyerp.com-20140413201748-u8e26ef40dt7360i
2014-04-13 22:17:48 +02:00
Fabien Pinckaers 2feab20dbb [WIP] started to reduce code
bzr revid: fp@tinyerp.com-20140412153339-rr3b1r4cmdeigp0v
2014-04-12 17:33:39 +02:00
Thibault Delavallée 8178669795 [FIX] mail, mass_mailing
- mail: now trigger postprocess_sent_message in every case, being sent or not, as the state
is propagated in the method; udpated all addons accordingly;
- email_template: fixed URL to edit it in website + form view;
- mass_mailing: barchart now send jsonified value;
- mass_mailing: tweaking the form view with all options

bzr revid: tde@openerp.com-20140408124053-o9tb14k6v47s5mjd
2014-04-08 14:40:53 +02:00
Thibault Delavallée 7c3807b61e [REM] mass_mailing: removed create_template wizard, not used anymore
bzr revid: tde@openerp.com-20140408113316-sqwjz3al6xk5kohf
2014-04-08 13:33:16 +02:00
Thibault Delavallée 271e805cb8 [IMP] mass_mailing: new refactoring of the way the body is managed
- now body_html is a right field on mass_mailing, editable using the website
- email_designer controller / template now works on everything that has a body
receiving its model and res_id as post parameters; it does not work only on
email tempaltes anymore
- cleaning of the mass mailing form view: reply_to managment option (either
replied go into the document, either there is a specified reply_to; it is implemented
using boolean fields instead of a selection because all options are not available
for all models ... models like contact or partner do not have a chatter or
shoudl be be used for a chatter-like use)
- send to all now instantiates a mail.compose.message; the mass mailign processing
is delegated to the wizard itself.

bzr revid: tde@openerp.com-20140407170346-hpklabi513xskd07
2014-04-07 19:03:46 +02:00
Thibault Delavallée 28fe375aac [ADD] mass_mailing: new wizard to better handle list creatoin
and better managemetn from the mass mailing form view (still WIP).

Also integrated basic statbutton, but they have to be improved.

bzr revid: tde@openerp.com-20140403152329-u81p60c7f8rgypaz
2014-04-03 17:23:29 +02:00
Thibault Delavallée 03071cacf0 [ADD] mass_mailing: added files cited in the previous commit ^^
bzr revid: tde@openerp.com-20140403131644-2gdpg52gkxm9tf54
2014-04-03 15:16:44 +02:00
Thibault Delavallée b6eeedea7d [IMP] mass_mailing: testing the mailing is now done using a wizard, to avoid
bloating the mailing ofrm view

bzr revid: tde@openerp.com-20140403125905-sq6ksthkahna29ud
2014-04-03 14:59:05 +02:00
Thibault Delavallée e0134a2bfa [IMP] mass_mailing: create wizard: do not inherit from
mailing list anymore, just have the necessary fields to simplify

bzr revid: tde@openerp.com-20140331110626-iewarhctoyoaucsg
2014-03-31 13:06:26 +02:00