diff options
| author | Mahendra Barad <mba@tinyerp.com> | 2013-12-18 18:48:05 +0530 |
|---|---|---|
| committer | Kuldeep Joshi <kjo@tinyerp.com> | 2013-12-18 18:48:05 +0530 |
| commit | caa3510ea434e10c32dcbc134f9c74b2b9f18b2a (patch) | |
| tree | 787bcdda6c3c5806cee4f300f5ac9970c3c7aee0 /addons/mail | |
| parent | 20dba40661eec5121abb3fedbb5d5094ba3c189c (diff) | |
[IMP] Mail Improvements
bzr revid: kjo@tinyerp.com-20131218131805-e97d5tmq2tr6pvh2
Diffstat (limited to 'addons/mail')
| -rw-r--r-- | addons/mail/data/mail_data.xml | 2 | ||||
| -rw-r--r-- | addons/mail/data/mail_demo.xml | 48 | ||||
| -rw-r--r-- | addons/mail/mail_followers.py | 9 | ||||
| -rw-r--r-- | addons/mail/res_partner.py | 10 | ||||
| -rw-r--r-- | addons/mail/res_partner_view.xml | 2 | ||||
| -rw-r--r-- | addons/mail/res_users_view.xml | 4 | ||||
| -rw-r--r-- | addons/mail/static/src/js/many2many_tags_email.js | 2 | ||||
| -rw-r--r-- | addons/mail/tests/common.py | 4 | ||||
| -rw-r--r-- | addons/mail/tests/test_mail_features.py | 10 |
9 files changed, 42 insertions, 49 deletions
diff --git a/addons/mail/data/mail_data.xml b/addons/mail/data/mail_data.xml index e1ca797670b..05ba53fc94e 100644 --- a/addons/mail/data/mail_data.xml +++ b/addons/mail/data/mail_data.xml @@ -42,7 +42,7 @@ <!-- Admin should not receivve emails at creation --> <record id="base.partner_root" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <!-- Catchall Email Alias --> diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml index cbef3c3f946..5739f5cd470 100644 --- a/addons/mail/data/mail_demo.xml +++ b/addons/mail/data/mail_demo.xml @@ -4,76 +4,76 @@ <!-- Update 'Demo user' and partners email preferences to avoid mail bombing --> <record id="base.partner_demo" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_1" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_2" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_3" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_4" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_5" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_6" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_7" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_8" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_9" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_10" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_11" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_12" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_13" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_14" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_15" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_16" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_17" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_18" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_19" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_20" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_21" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_22" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <record id="base.res_partner_23" model="res.partner"> - <field name="notification_email_send">none</field> + <field name="notification_email_send">never</field> </record> <!-- Discussion: attachments and spec [DEMO: search on has_attachments --> diff --git a/addons/mail/mail_followers.py b/addons/mail/mail_followers.py index 0059df90530..5065f4377b4 100644 --- a/addons/mail/mail_followers.py +++ b/addons/mail/mail_followers.py @@ -96,13 +96,10 @@ class mail_notification(osv.Model): if message.author_id and message.author_id.email == partner.email: continue # Partner does not want to receive any emails or is opt-out - if partner.notification_email_send == 'none': + if partner.notification_email_send == 'never': continue - # Partner wants to receive only emails and comments - if partner.notification_email_send == 'comment' and message.type not in ('email', 'comment'): - continue - # Partner wants to receive only emails - if partner.notification_email_send == 'email' and message.type != 'email': + # Partner wants to receive emails, comments and notification + if partner.notification_email_send == 'always' and message.type not in ('email', 'comment', 'notification'): continue notify_pids.append(partner.id) return notify_pids diff --git a/addons/mail/res_partner.py b/addons/mail/res_partner.py index 8da2441f3bc..0bbe7bdb35f 100644 --- a/addons/mail/res_partner.py +++ b/addons/mail/res_partner.py @@ -31,20 +31,16 @@ class res_partner_mail(osv.Model): _columns = { 'notification_email_send': fields.selection([ - ('none', 'Never'), - ('email', 'Incoming Emails only'), - ('comment', 'Incoming Emails and Discussions'), - ('all', 'All Messages (discussions, emails, followed system notifications)'), + ('never', 'Never'), + ('always', 'All Messages'), ], 'Receive Messages by Email', required=True, help="Policy to receive emails for new messages pushed to your personal Inbox:\n" "- Never: no emails are sent\n" - "- Incoming Emails only: for messages received by the system via email\n" - "- Incoming Emails and Discussions: for incoming emails along with internal discussions\n" "- All Messages: for every notification you receive in your Inbox"), } _defaults = { - 'notification_email_send': lambda *args: 'comment' + 'notification_email_send': lambda *args: 'always' } def message_get_suggested_recipients(self, cr, uid, ids, context=None): diff --git a/addons/mail/res_partner_view.xml b/addons/mail/res_partner_view.xml index 7df5d27c9d0..faad4b2df60 100644 --- a/addons/mail/res_partner_view.xml +++ b/addons/mail/res_partner_view.xml @@ -8,7 +8,7 @@ <field name="inherit_id" ref="base.view_partner_form"/> <field name="arch" type="xml"> <xpath expr="//field[@name='active']" position="after"> - <field name='notification_email_send'/> + <field name='notification_email_send' widget="radio"/> </xpath> <xpath expr="//sheet" position="after"> <div class="oe_chatter"> diff --git a/addons/mail/res_users_view.xml b/addons/mail/res_users_view.xml index 2bf54b4bafd..0367a0a5cdb 100644 --- a/addons/mail/res_users_view.xml +++ b/addons/mail/res_users_view.xml @@ -10,7 +10,7 @@ <field name="arch" type="xml"> <data> <field name="email" position="before"> - <field name="notification_email_send" readonly="0"/> + <field name="notification_email_send" widget="radio" readonly="0"/> </field> </data> </field> @@ -24,7 +24,7 @@ <field name="arch" type="xml"> <data> <field name="signature" position="before"> - <field name="notification_email_send"/> + <field name="notification_email_send" widget="radio"/> </field> <field name="signature" position="before"> <label for="alias_id" string="Messaging Alias" class="oe_read_only" diff --git a/addons/mail/static/src/js/many2many_tags_email.js b/addons/mail/static/src/js/many2many_tags_email.js index cc701e8a585..35f5eb8c4b4 100644 --- a/addons/mail/static/src/js/many2many_tags_email.js +++ b/addons/mail/static/src/js/many2many_tags_email.js @@ -44,7 +44,7 @@ instance.web.form.FieldMany2ManyTagsEmail = instance.web.form.FieldMany2ManyTags new instance.web.Model('res.partner').call("search", [[ ["id", "in", ids], ["email", "=", false], - ["notification_email_send", "in", ['all', 'comment']] ]], + ["notification_email_send", "=", 'always'] ]], {context: this.build_context()}) .then(function (record_ids) { // valid partner diff --git a/addons/mail/tests/common.py b/addons/mail/tests/common.py index 68a329e043a..de7ac3633ff 100644 --- a/addons/mail/tests/common.py +++ b/addons/mail/tests/common.py @@ -77,7 +77,7 @@ class TestMail(common.TransactionCase): 'alias_name': 'ernest', 'email': 'e.e@example.com', 'signature': '--\nErnest', - 'notification_email_send': 'comment', + 'notification_email_send': 'always', 'groups_id': [(6, 0, [self.group_employee_id])] }, {'no_reset_password': True}) self.user_noone_id = self.res_users.create(cr, uid, { @@ -86,7 +86,7 @@ class TestMail(common.TransactionCase): 'alias_name': 'noemie', 'email': 'n.n@example.com', 'signature': '--\nNoemie', - 'notification_email_send': 'comment', + 'notification_email_send': 'always', 'groups_id': [(6, 0, [])] }, {'no_reset_password': True}) diff --git a/addons/mail/tests/test_mail_features.py b/addons/mail/tests/test_mail_features.py index c7f1056c59a..198a25e8b6d 100644 --- a/addons/mail/tests/test_mail_features.py +++ b/addons/mail/tests/test_mail_features.py @@ -366,14 +366,14 @@ class test_mail(TestMail): # Data creation # -------------------------------------------------- # 0 - Update existing users-partners - self.res_users.write(cr, uid, [uid], {'email': 'a@a', 'notification_email_send': 'comment'}) + self.res_users.write(cr, uid, [uid], {'email': 'a@a', 'notification_email_send': 'always'}) self.res_users.write(cr, uid, [self.user_raoul_id], {'email': 'r@r'}) # 1 - Bert Tartopoils, with email, should receive emails for comments and emails p_b_id = self.res_partner.create(cr, uid, {'name': 'Bert Tartopoils', 'email': 'b@b'}) # 2 - Carine Poilvache, with email, should receive emails for emails - p_c_id = self.res_partner.create(cr, uid, {'name': 'Carine Poilvache', 'email': 'c@c', 'notification_email_send': 'email'}) + p_c_id = self.res_partner.create(cr, uid, {'name': 'Carine Poilvache', 'email': 'c@c', 'notification_email_send': 'never'}) # 3 - Dédé Grosbedon, without email, to test email verification; should receive emails for every message - p_d_id = self.res_partner.create(cr, uid, {'name': 'Dédé Grosbedon', 'email': 'd@d', 'notification_email_send': 'all'}) + p_d_id = self.res_partner.create(cr, uid, {'name': 'Dédé Grosbedon', 'email': 'd@d', 'notification_email_send': 'always'}) # 4 - Attachments attach1_id = self.ir_attachment.create(cr, user_raoul.id, { 'name': 'Attach1', 'datas_fname': 'Attach1', @@ -600,9 +600,9 @@ class test_mail(TestMail): # 1 - Bert Tartopoils, with email, should receive emails for comments and emails p_b_id = self.res_partner.create(cr, uid, {'name': 'Bert Tartopoils', 'email': 'b@b'}) # 2 - Carine Poilvache, with email, should receive emails for emails - p_c_id = self.res_partner.create(cr, uid, {'name': 'Carine Poilvache', 'email': 'c@c', 'notification_email_send': 'email'}) + p_c_id = self.res_partner.create(cr, uid, {'name': 'Carine Poilvache', 'email': 'c@c', 'notification_email_send': 'always'}) # 3 - Dédé Grosbedon, without email, to test email verification; should receive emails for every message - p_d_id = self.res_partner.create(cr, uid, {'name': 'Dédé Grosbedon', 'email': 'd@d', 'notification_email_send': 'all'}) + p_d_id = self.res_partner.create(cr, uid, {'name': 'Dédé Grosbedon', 'email': 'd@d', 'notification_email_send': 'always'}) # 4 - Create a Bird mail.group, that will be used to test mass mailing group_bird_id = self.mail_group.create(cr, uid, { |
