-
-
Notifications
You must be signed in to change notification settings - Fork 399
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[IMP] Add button to add to mailing lists
- Loading branch information
Javier Iniesta
committed
Nov 12, 2015
1 parent
fcaf85a
commit 7526df1
Showing
10 changed files
with
232 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 24 additions & 0 deletions
24
mass_mailing_partner/tests/test_partner_mail_list_wizard.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# -*- coding: utf-8 -*- | ||
# See README.rst file on addon root folder for license details | ||
|
||
from . import base | ||
from openerp.exceptions import Warning as UserError | ||
|
||
|
||
class PartnerMailListWizardCase(base.BaseCase): | ||
|
||
def test_add_to_mail_list(self): | ||
vals = {'partner_ids': [self.partner.id], | ||
'mail_list_id': self.mailing_list.id} | ||
wizard = self.env['partner.mail.list.wizard'].create(vals) | ||
wizard.add_to_mail_list() | ||
contact = self.env['mail.mass_mailing.contact'].search([ | ||
('partner_id', '=', self.partner.id), | ||
('list_id', '=', self.mailing_list.id)]) | ||
self.check_mailing_contact_partner(contact) | ||
# This line does not create a new contact | ||
wizard.add_to_mail_list() | ||
partner = self.env['res.partner'].create({'name': 'No email partner'}) | ||
wizard.partner_ids = [partner.id] | ||
with self.assertRaises(UserError): | ||
wizard.add_to_mail_list() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# -*- coding: utf-8 -*- | ||
# See README.rst file on addon root folder for license details | ||
|
||
from . import partner_mail_list_wizard |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# -*- coding: utf-8 -*- | ||
# See README.rst file on addon root folder for license details | ||
|
||
from openerp import models, api, fields, _ | ||
from openerp.exceptions import Warning as UserError | ||
|
||
|
||
class PartnerMailListWizard(models.TransientModel): | ||
_name = "partner.mail.list.wizard" | ||
_description = "Create contact mailing list" | ||
|
||
mail_list_id = fields.Many2one(comodel_name="mail.mass_mailing.list", | ||
string="Mailing List") | ||
partner_ids = fields.Many2many( | ||
comodel_name="res.partner", relation="mail_list_wizard_partner", | ||
default=lambda self: self.env.context.get("active_ids")) | ||
|
||
@api.multi | ||
def add_to_mail_list(self): | ||
contact_obj = self.env['mail.mass_mailing.contact'] | ||
for partner in self.partner_ids: | ||
if not partner.email: | ||
raise UserError(_("Partner '%s' has no email.") % partner.name) | ||
criteria = [('email', '=', partner.email), | ||
('list_id', '=', self.mail_list_id.id)] | ||
contact_test = contact_obj.search(criteria) | ||
if contact_test: | ||
continue | ||
contact_vals = { | ||
'email': partner.email, | ||
'name': partner.name, | ||
'list_id': self.mail_list_id.id | ||
} | ||
contact_obj.create(contact_vals) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<openerp> | ||
<data> | ||
|
||
<act_window name="Add to mailing list" | ||
res_model="partner.mail.list.wizard" | ||
src_model="res.partner" | ||
view_mode="form" | ||
target="new" | ||
key2="client_action_multi" | ||
id="action_partner_mail_list"/> | ||
|
||
<record model="ir.ui.view" id="partner_mail_list_wizard_form"> | ||
<field name="name">partner.mail.list.form</field> | ||
<field name="model">partner.mail.list.wizard</field> | ||
<field name="arch" type="xml"> | ||
<form string="Create contact mailing list"> | ||
<group> | ||
<field name="mail_list_id"/> | ||
</group> | ||
<footer> | ||
<button string="Add contacts to mailing list" name="add_to_mail_list" | ||
type="object" class="oe_highlight"/> | ||
or | ||
<button string="Cancel" class="oe_link" special="cancel" /> | ||
</footer> | ||
</form> | ||
</field> | ||
</record> | ||
|
||
</data> | ||
</openerp> |