social/mass_mailing_list_dynamic
Pedro M. Baeza 4d1bc89cf8 [FIX] mass_mailing_list_dynamic: Detect rough cases for contact modifications
Followup of 11067ea9cf

There are 2 cases that breaks the validation:

- If you write list_ids through dot notation, the ORM converts always to command
  [(6, 0, <full_list_of_ids>)], so the validation fails, as it checks lists that
  have not been modified. Now the diff is done for not having false positives.
- The constraint is being triggered even if there's no real change on the affected
  fields. We move the check to the existing create/method code for checking there
  real changes.

TT25002
2020-08-01 12:01:10 +02:00
..
i18n Update translation files 2020-07-30 06:20:09 +00:00
migrations/12.0.1.0.0 [MIG] mass_mailing_list_dynamic: Migration script 2020-07-16 10:08:29 +02:00
models [FIX] mass_mailing_list_dynamic: Detect rough cases for contact modifications 2020-08-01 12:01:10 +02:00
readme [MIG] mass_mailing_list_dynamic: Fix contact synchronization 2019-08-16 16:02:25 +02:00
static/description [UPD] README.rst 2019-08-16 20:46:40 +00:00
tests [FIX] mass_mailing_list_dynamic: Avoid error on shared contacts 2020-07-29 21:18:49 +02:00
views [MIG] mass_mailing_list_dynamic: Migration to 12.0 2019-08-16 12:15:10 +02:00
wizards [MIG] mass_mailing_list_dynamic: Migration to 12.0 2019-08-16 12:15:10 +02:00
README.rst [MIG] mass_mailing_list_dynamic: Fix contact synchronization 2019-08-16 16:02:25 +02:00
__init__.py [MIG] mass_mailing_list_dynamic: Migration to 12.0 2019-08-16 12:15:10 +02:00
__manifest__.py [FIX] mass_mailing_list_dynamic: Detect rough cases for contact modifications 2020-08-01 12:01:10 +02:00

README.rst

==========================
Dynamic Mass Mailing Lists
==========================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github
    :target: https://github.com/OCA/social/tree/12.0/mass_mailing_list_dynamic
    :alt: OCA/social
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/social-12-0/social-12-0-mass_mailing_list_dynamic
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
    :target: https://runbot.odoo-community.org/runbot/205/12.0
    :alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5| 

Without this addon you have to choose between providing a dynamic domain and
letting your mass mailings reach all partners that match it.

This addon allows you to create dynamic mailing lists, so you can now benefit
from both things.

**Table of contents**

.. contents::
   :local:

Configuration
=============

To create a dynamic mailing list, you need to:

#. Go to *Email Marketing* > Configuration > Settings
#. Check Mass Mailing Campaigns.
#. Go to *Email Marketing* > Mailing List > Mailing List
#. Check the *Dynamic* box.
#. Choose a *Sync method*:

   - Leave empty to use as a manual mailing list, the normal behavior.
   - *Only add new records* to make sure no records disappear from the list
     when partners stop matching the *Synchronization critera*.
   - *Add and remove records as needed* to make the list be fully synchronized
     with the *Synchronization critera*, even if that means removing contacts
     from it.
#. Define a *Synchronization criteria* that will be used to match the partners
   that should go into the list as contacts. Only partners with emails will
   be selected.

You can also load an existing filter over contacts:

#. Click on "Load filter" button below criteria.
#. Select one of the existing filters.
#. Click on "Load filter" and you will have that filter as criteria.

Usage
=====

To use this module, you need to:

#. Go to *Email Marketing > Mailings*, and create one.
#. Select as recipients a mailing list.
#. On "Select mailing lists:", choose one mailing list with dynamic flag
   checked.
#. Before sending the mass mailing, the list will be synced for having latest
   changes.

When you hit the *Sync now* button or send a mass mailing to this list, its
contacts will be automatically updated.

Pay attention to the messages shown to you that tell you about some non-obvious
behaviour you could experience if you edit manually contacts from a dynamic
list.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/social/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/social/issues/new?body=module:%20mass_mailing_list_dynamic%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Tecnativa

Contributors
~~~~~~~~~~~~

* `Tecnativa <https://www.tecnativa.com>`_:

  * Jairo Llopis <jairo.llopis@tecnativa.com>
  * Pedro M. Baeza <pedro.baeza@tecnativa.com>
  * David Vidal <david.vidal@tecnativa.com>
  * Victor M.M. Torres <victor.martin@tecnativa.com>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/social <https://github.com/OCA/social/tree/12.0/mass_mailing_list_dynamic>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.