summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/auth_signup/data/auth_signup_data.xml2
-rw-r--r--addons/crm/tests/common.py1
-rw-r--r--addons/event/tests/common.py2
-rw-r--r--addons/hr_holidays/tests/common.py3
-rw-r--r--addons/mail/models/mail_message.py6
-rw-r--r--addons/mail/models/res_users.py25
-rw-r--r--addons/mail/tests/common.py3
-rw-r--r--addons/mail/tests/test_mail_features.py22
-rw-r--r--addons/mail/tests/test_mail_message.py10
-rw-r--r--addons/mail/views/res_users_views.xml13
-rw-r--r--addons/project/tests/test_access_rights.py1
-rw-r--r--addons/project/tests/test_project_base.py2
-rw-r--r--addons/sale/tests/test_sale_common.py2
-rw-r--r--addons/survey/tests/test_survey.py6
-rw-r--r--addons/website_blog/tests/common.py3
-rw-r--r--addons/website_forum/tests/common.py3
16 files changed, 23 insertions, 81 deletions
diff --git a/addons/auth_signup/data/auth_signup_data.xml b/addons/auth_signup/data/auth_signup_data.xml
index c8ded45916e..4d16b5e4951 100644
--- a/addons/auth_signup/data/auth_signup_data.xml
+++ b/addons/auth_signup/data/auth_signup_data.xml
@@ -9,8 +9,6 @@
<field name="active" eval="False"/>
<!-- Avoid auto-including this user in any default group, just like a typical portal member -->
<field name="groups_id" eval="[(6, 0, [ref('base.group_portal')])]"/>
- <!-- allow signuped users to have a alias -->
- <field name="alias_name">_usertemplate</field>
</record>
<record id="default_template_user_config" model="ir.config_parameter">
diff --git a/addons/crm/tests/common.py b/addons/crm/tests/common.py
index 7a04e27ddb9..49b664e8b60 100644
--- a/addons/crm/tests/common.py
+++ b/addons/crm/tests/common.py
@@ -18,7 +18,6 @@ class TestCrm(TestMail):
cls.user_salesman_all = Users.create({
'name': 'Riton La Chignole',
'login': 'riton',
- 'alias_name': 'riton',
'email': 'riton.salesman_all@example.com',
'groups_id': [(6, 0, [user_group_employee.id, user_group_salesman_all.id])]
})
diff --git a/addons/event/tests/common.py b/addons/event/tests/common.py
index 6e2f0406357..dbd142a08be 100644
--- a/addons/event/tests/common.py
+++ b/addons/event/tests/common.py
@@ -27,7 +27,6 @@ class TestEventCommon(common.TransactionCase):
self.user_eventuser = self.Users.with_context({'no_reset_password': True}).create({
'name': 'Armande EventUser',
'login': 'Armande',
- 'alias_name': 'armande',
'email': 'armande.eventuser@example.com',
'tz': 'Europe/Brussels',
'groups_id': [(6, 0, [self.group_employee_id, self.group_event_user_id])]
@@ -35,7 +34,6 @@ class TestEventCommon(common.TransactionCase):
self.user_eventmanager = self.Users.with_context({'no_reset_password': True}).create({
'name': 'Bastien EventManager',
'login': 'bastien',
- 'alias_name': 'bastien',
'email': 'bastien.eventmanager@example.com',
'tz': 'Europe/Brussels',
'groups_id': [(6, 0, [
diff --git a/addons/hr_holidays/tests/common.py b/addons/hr_holidays/tests/common.py
index 2d9f518b340..8134675266a 100644
--- a/addons/hr_holidays/tests/common.py
+++ b/addons/hr_holidays/tests/common.py
@@ -18,21 +18,18 @@ class TestHrHolidaysBase(common.TransactionCase):
self.user_hruser_id = Users.create({
'name': 'Armande HrUser',
'login': 'Armande',
- 'alias_name': 'armande',
'email': 'armande.hruser@example.com',
'groups_id': [(6, 0, [group_employee_id, self.ref('base.group_hr_user')])]
}).id
self.user_hrmanager_id = Users.create({
'name': 'Bastien HrManager',
'login': 'bastien',
- 'alias_name': 'bastien',
'email': 'bastien.hrmanager@example.com',
'groups_id': [(6, 0, [group_employee_id, self.ref('base.group_hr_manager')])]
}).id
self.user_employee_id = Users.create({
'name': 'David Employee',
'login': 'david',
- 'alias_name': 'david',
'email': 'david.employee@example.com',
'groups_id': [(6, 0, [group_employee_id])]
}).id
diff --git a/addons/mail/models/mail_message.py b/addons/mail/models/mail_message.py
index 0f8054d958a..a2f1c516560 100644
--- a/addons/mail/models/mail_message.py
+++ b/addons/mail/models/mail_message.py
@@ -26,11 +26,9 @@ class Message(models.Model):
@api.model
def _get_default_from(self):
- if self.env.user.alias_name and self.env.user.alias_domain:
- return formataddr((self.env.user.name, '%s@%s' % (self.env.user.alias_name, self.env.user.alias_domain)))
- elif self.env.user.email:
+ if self.env.user.email:
return formataddr((self.env.user.name, self.env.user.email))
- raise UserError(_("Unable to send email, please configure the sender's email address or alias."))
+ raise UserError(_("Unable to send email, please configure the sender's email address."))
@api.model
def _get_default_author(self):
diff --git a/addons/mail/models/res_users.py b/addons/mail/models/res_users.py
index 9e4294df3cd..1f95c02f078 100644
--- a/addons/mail/models/res_users.py
+++ b/addons/mail/models/res_users.py
@@ -14,11 +14,15 @@ class Users(models.Model):
group, and the user. This is done by overriding the write method.
"""
_name = 'res.users'
- _inherit = ['mail.alias.mixin', 'res.users']
+ _inherit = ['res.users']
- alias_id = fields.Many2one('mail.alias', 'Alias', ondelete="restrict", required=True,
+ alias_id = fields.Many2one('mail.alias', 'Alias', ondelete="set null", required=False,
help="Email address internally associated with this user. Incoming "\
"emails will appear in the user's notifications.", copy=False, auto_join=True)
+ alias_contact = fields.Selection([
+ ('everyone', 'Everyone'),
+ ('partners', 'Authenticated Partners'),
+ ('followers', 'Followers only')], string='Alias Contact Security', related='alias_id.alias_contact')
def __init__(self, pool, cr):
""" Override of __init__ to add access rights on notification_email_send
@@ -31,17 +35,9 @@ class Users(models.Model):
type(self).SELF_WRITEABLE_FIELDS.extend(['notify_email'])
# duplicate list to avoid modifying the original reference
type(self).SELF_READABLE_FIELDS = list(self.SELF_READABLE_FIELDS)
- type(self).SELF_READABLE_FIELDS.extend(['notify_email', 'alias_domain', 'alias_name'])
+ type(self).SELF_READABLE_FIELDS.extend(['notify_email'])
return init_res
- def get_alias_model_name(self, vals):
- return self._name
-
- def get_alias_values(self):
- values = super(Users, self).get_alias_values()
- values['alias_force_thread_id'] = self.id
- return values
-
@api.model
def create(self, values):
if not values.get('login', False):
@@ -65,13 +61,6 @@ class Users(models.Model):
self.env['mail.channel'].search([('group_ids', 'in', user_group_ids)])._subscribe_users()
return write_res
- @api.multi
- def copy_data(self, default=None):
- data = super(Users, self).copy_data(default)[0]
- if data and data.get('alias_name'):
- data['alias_name'] = data['login']
- return [data]
-
def _create_welcome_message(self):
self.ensure_one()
if not self.has_group('base.group_user'):
diff --git a/addons/mail/tests/common.py b/addons/mail/tests/common.py
index f40a6d6a83e..cf87cd200ac 100644
--- a/addons/mail/tests/common.py
+++ b/addons/mail/tests/common.py
@@ -56,7 +56,6 @@ class TestMail(common.SavepointCase):
cls.user_employee = Users.create({
'name': 'Ernest Employee',
'login': 'ernest',
- 'alias_name': 'ernest',
'email': 'e.e@example.com',
'signature': '--\nErnest',
'notify_email': 'always',
@@ -64,7 +63,6 @@ class TestMail(common.SavepointCase):
cls.user_public = Users.create({
'name': 'Bert Tartignole',
'login': 'bert',
- 'alias_name': 'bert',
'email': 'b.t@example.com',
'signature': 'SignBert',
'notify_email': 'always',
@@ -72,7 +70,6 @@ class TestMail(common.SavepointCase):
cls.user_portal = Users.create({
'name': 'Chell Gladys',
'login': 'chell',
- 'alias_name': 'chell',
'email': 'chell@gladys.portal',
'signature': 'SignChell',
'notify_email': 'always',
diff --git a/addons/mail/tests/test_mail_features.py b/addons/mail/tests/test_mail_features.py
index 2a003a747ed..7dc8fb2f7f1 100644
--- a/addons/mail/tests/test_mail_features.py
+++ b/addons/mail/tests/test_mail_features.py
@@ -9,22 +9,8 @@ class TestMailFeatures(TestMail):
# TDE TODO: tests on the redirection controller
def test_alias_setup(self):
- Users = self.env['res.users'].with_context({'no_reset_password': True})
-
- user_valentin = Users.create({
- 'name': 'Valentin Cognito', 'email': 'valentin.cognito@gmail.com',
- 'login': 'valentin.cognito', 'alias_name': 'valentin.cognito'})
- self.assertEqual(user_valentin.alias_name, user_valentin.login, "Login should be used as alias")
-
- user_pagan = Users.create({
- 'name': 'Pagan Le Marchant', 'email': 'plmarchant@gmail.com',
- 'login': 'plmarchant@gmail.com', 'alias_name': 'plmarchant@gmail.com'})
- self.assertEqual(user_pagan.alias_name, 'plmarchant', "If login is an email, the alias should keep only the local part")
-
- user_barty = Users.create({
- 'name': 'Bartholomew Ironside', 'email': 'barty@gmail.com',
- 'login': 'b4r+_#_R3wl$$', 'alias_name': 'b4r+_#_R3wl$$'})
- self.assertEqual(user_barty.alias_name, 'b4r+_-_r3wl-', 'Disallowed chars should be replaced by hyphens')
+ alias = self.env['mail.alias'].with_context(alias_model_name='mail.channel').create({'alias_name': 'b4r+_#_R3wl$$'})
+ self.assertEqual(alias.alias_name, 'b4r+_-_r3wl-', 'Disallowed chars should be replaced by hyphens')
@mute_logger('openerp.addons.mail.models.mail_mail')
def test_needaction(self):
@@ -138,8 +124,8 @@ class TestMessagePost(TestMail):
# notification emails: followers + recipients - notify_email=none (partner_2) - author (user_employee)
self.assertEqual(set(m['email_from'] for m in self._mails),
- set(['%s <%s@%s>' % (self.user_employee.name, self.user_employee.alias_name, _domain)]),
- 'message_post: notification email wrong email_from: should use alias of sender')
+ set(['%s <%s>' % (self.user_employee.name, self.user_employee.email)]),
+ 'message_post: notification email wrong email_from: should use sender email')
self.assertEqual(set(m['email_to'][0] for m in self._mails),
set(['%s <%s>' % (self.partner_1.name, self.partner_1.email),
'%s <%s>' % (self.env.user.name, self.env.user.email)]))
diff --git a/addons/mail/tests/test_mail_message.py b/addons/mail/tests/test_mail_message.py
index 3df8b40a9b9..ab095f5f3ca 100644
--- a/addons/mail/tests/test_mail_message.py
+++ b/addons/mail/tests/test_mail_message.py
@@ -49,8 +49,8 @@ class TestMailMessage(TestMail):
msg = self.env['mail.message'].sudo(self.user_employee).create({})
self.assertIn('-private', msg.message_id, 'mail_message: message_id for a void message should be a "private" one')
- self.assertEqual(msg.reply_to, '%s <%s@%s>' % (self.user_employee.name, self.user_employee.alias_name, alias_domain))
- self.assertEqual(msg.email_from, '%s <%s@%s>' % (self.user_employee.name, self.user_employee.alias_name, alias_domain))
+ self.assertEqual(msg.reply_to, '%s <%s>' % (self.user_employee.name, self.user_employee.email))
+ self.assertEqual(msg.email_from, '%s <%s>' % (self.user_employee.name, self.user_employee.email))
def test_mail_message_values_alias_catchall(self):
alias_domain = 'example.com'
@@ -61,7 +61,7 @@ class TestMailMessage(TestMail):
msg = self.env['mail.message'].sudo(self.user_employee).create({})
self.assertIn('-private', msg.message_id, 'mail_message: message_id for a void message should be a "private" one')
self.assertEqual(msg.reply_to, '%s <%s@%s>' % (self.env.user.company_id.name, alias_catchall, alias_domain))
- self.assertEqual(msg.email_from, '%s <%s@%s>' % (self.user_employee.name, self.user_employee.alias_name, alias_domain))
+ self.assertEqual(msg.email_from, '%s <%s>' % (self.user_employee.name, self.user_employee.email))
def test_mail_message_values_document_no_alias(self):
self.env['ir.config_parameter'].search([('key', '=', 'mail.catchall.domain')]).unlink()
@@ -85,7 +85,7 @@ class TestMailMessage(TestMail):
})
self.assertIn('-openerp-%d-mail.channel' % self.group_pigs.id, msg.message_id, 'mail_message: message_id for a void message should be a "private" one')
self.assertEqual(msg.reply_to, '%s %s <%s@%s>' % (self.env.user.company_id.name, self.group_pigs.name, self.group_pigs.alias_name, alias_domain))
- self.assertEqual(msg.email_from, '%s <%s@%s>' % (self.user_employee.name, self.user_employee.alias_name, alias_domain))
+ self.assertEqual(msg.email_from, '%s <%s>' % (self.user_employee.name, self.user_employee.email))
def test_mail_message_values_document_alias_catchall(self):
alias_domain = 'example.com'
@@ -99,7 +99,7 @@ class TestMailMessage(TestMail):
})
self.assertIn('-openerp-%d-mail.channel' % self.group_pigs.id, msg.message_id, 'mail_message: message_id for a void message should be a "private" one')
self.assertEqual(msg.reply_to, '%s %s <%s@%s>' % (self.env.user.company_id.name, self.group_pigs.name, self.group_pigs.alias_name, alias_domain))
- self.assertEqual(msg.email_from, '%s <%s@%s>' % (self.user_employee.name, self.user_employee.alias_name, alias_domain))
+ self.assertEqual(msg.email_from, '%s <%s>' % (self.user_employee.name, self.user_employee.email))
def test_mail_message_values_no_auto_thread(self):
msg = self.env['mail.message'].sudo(self.user_employee).create({
diff --git a/addons/mail/views/res_users_views.xml b/addons/mail/views/res_users_views.xml
index 7cd4b25689b..c8b18ba4f07 100644
--- a/addons/mail/views/res_users_views.xml
+++ b/addons/mail/views/res_users_views.xml
@@ -27,17 +27,8 @@
<field name="notify_email" widget="radio"/>
</field>
<field name="signature" position="before">
- <label for="alias_id" string="Messaging Alias" class="oe_read_only"
- attrs="{'invisible': [('alias_domain', '=', False)]}"/>
- <field name="alias_id" class="oe_read_only" required="0" nolabel="1"
- attrs="{'invisible': [('alias_domain', '=', False)]}"/>
- <label for="alias_name" string="Messaging Alias" class="oe_edit_only"
- attrs="{'invisible': [('alias_domain', '=', False)]}"/>
- <div class="oe_edit_only" attrs="{'invisible': [('alias_domain', '=', False)]}">
- <field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline" readonly="1"/>
- </div>
- <field name="alias_contact" string="Alias Accepts Emails From"
- attrs="{'invisible': [('alias_domain', '=', False)]}"/>
+ <field name="alias_id"/>
+ <field name="alias_contact" attrs="{'invisible': [('alias_id', '=', False)]}"/>
</field>
</data>
</field>
diff --git a/addons/project/tests/test_access_rights.py b/addons/project/tests/test_access_rights.py
index db77ecc92cb..73261db8167 100644
--- a/addons/project/tests/test_access_rights.py
+++ b/addons/project/tests/test_access_rights.py
@@ -13,7 +13,6 @@ class TestPortalProjectBase(TestProjectBase):
self.user_noone = self.env['res.users'].with_context({'no_reset_password': True, 'mail_create_nosubscribe': True}).create({
'name': 'Noemie NoOne',
'login': 'noemie',
- 'alias_name': 'noemie',
'email': 'n.n@example.com',
'signature': '--\nNoemie',
'notify_email': 'always',
diff --git a/addons/project/tests/test_project_base.py b/addons/project/tests/test_project_base.py
index ed354fa4bb5..4713aa5edb6 100644
--- a/addons/project/tests/test_project_base.py
+++ b/addons/project/tests/test_project_base.py
@@ -18,14 +18,12 @@ class TestProjectBase(TestMail):
cls.user_projectuser = Users.create({
'name': 'Armande ProjectUser',
'login': 'Armande',
- 'alias_name': 'armande',
'email': 'armande.projectuser@example.com',
'groups_id': [(6, 0, [user_group_employee.id, user_group_project_user.id])]
})
cls.user_projectmanager = Users.create({
'name': 'Bastien ProjectManager',
'login': 'bastien',
- 'alias_name': 'bastien',
'email': 'bastien.projectmanager@example.com',
'groups_id': [(6, 0, [user_group_employee.id, user_group_project_manager.id])]})
diff --git a/addons/sale/tests/test_sale_common.py b/addons/sale/tests/test_sale_common.py
index a4101d99240..0544917f249 100644
--- a/addons/sale/tests/test_sale_common.py
+++ b/addons/sale/tests/test_sale_common.py
@@ -13,7 +13,6 @@ class TestSale(AccountingTestCase):
self.manager = self.env['res.users'].create({
'name': 'Andrew Manager',
'login': 'manager',
- 'alias_name': 'andrew',
'email': 'a.m@example.com',
'signature': '--\nAndreww',
'notify_email': 'always',
@@ -22,7 +21,6 @@ class TestSale(AccountingTestCase):
self.user = self.env['res.users'].create({
'name': 'Mark User',
'login': 'user',
- 'alias_name': 'mark',
'email': 'm.u@example.com',
'signature': '--\nMark',
'notify_email': 'always',
diff --git a/addons/survey/tests/test_survey.py b/addons/survey/tests/test_survey.py
index b04858c3058..81f55a95eef 100644
--- a/addons/survey/tests/test_survey.py
+++ b/addons/survey/tests/test_survey.py
@@ -20,15 +20,15 @@ class TestSurvey(TransactionCase):
User = self.env['res.users'].with_context({'no_reset_password': True})
(group_survey_user, group_employee) = (self.ref('base.group_survey_user'), self.ref('base.group_user'))
self.survey_manager = User.create({
- 'name': 'Gustave Doré', 'login': 'Gustav', 'alias_name': 'gustav', 'email': 'gustav.dore@example.com',
+ 'name': 'Gustave Doré', 'login': 'Gustav','email': 'gustav.dore@example.com',
'groups_id': [(6, 0, [self.ref('base.group_survey_manager'), group_survey_user, group_employee])]})
self.survey_user = User.create({
- 'name': 'Lukas Peeters', 'login': 'Lukas', 'alias_name': 'lukas', 'email': 'lukas.petters@example.com',
+ 'name': 'Lukas Peeters', 'login': 'Lukas', 'email': 'lukas.petters@example.com',
'groups_id': [(6, 0, [group_survey_user, group_employee])]})
self.user_public = User.create({
- 'name': 'Wout Janssens', 'login': 'Wout', 'alias_name': 'wout', 'email': 'wout.janssens@example.com',
+ 'name': 'Wout Janssens', 'login': 'Wout', 'email': 'wout.janssens@example.com',
'groups_id': [(6, 0, [self.ref('base.group_public')])]})
self.survey1 = self.env['survey.survey'].sudo(self.survey_manager).create({'title': "S0", 'page_ids': [(0, 0, {'title': "P0"})]})
diff --git a/addons/website_blog/tests/common.py b/addons/website_blog/tests/common.py
index f5f88430b72..c71f2ac6764 100644
--- a/addons/website_blog/tests/common.py
+++ b/addons/website_blog/tests/common.py
@@ -17,7 +17,6 @@ class TestWebsiteBlogCommon(common.TransactionCase):
self.user_employee = Users.with_context({'no_reset_password': True}).create({
'name': 'Armande Employee',
'login': 'armande',
- 'alias_name': 'armande',
'email': 'armande.employee@example.com',
'notify_email': 'none',
'groups_id': [(6, 0, [group_employee_id])]
@@ -25,7 +24,6 @@ class TestWebsiteBlogCommon(common.TransactionCase):
self.user_blogmanager = Users.with_context({'no_reset_password': True}).create({
'name': 'Bastien BlogManager',
'login': 'bastien',
- 'alias_name': 'bastien',
'email': 'bastien.blogmanager@example.com',
'notify_email': 'none',
'groups_id': [(6, 0, [group_blog_manager_id, group_employee_id])]
@@ -33,7 +31,6 @@ class TestWebsiteBlogCommon(common.TransactionCase):
self.user_public = Users.with_context({'no_reset_password': True}).create({
'name': 'Cedric Public',
'login': 'cedric',
- 'alias_name': 'cedric',
'email': 'cedric.public@example.com',
'notify_email': 'none',
'groups_id': [(6, 0, [group_public_id])]
diff --git a/addons/website_forum/tests/common.py b/addons/website_forum/tests/common.py
index f2f074aeff0..75b6237bf53 100644
--- a/addons/website_forum/tests/common.py
+++ b/addons/website_forum/tests/common.py
@@ -35,7 +35,6 @@ class TestForumCommon(common.SavepointCase):
cls.user_employee = TestUsersEnv.create({
'name': 'Armande Employee',
'login': 'Armande',
- 'alias_name': 'armande',
'email': 'armande.employee@example.com',
'karma': 0,
'groups_id': [(6, 0, [group_employee_id])]
@@ -43,7 +42,6 @@ class TestForumCommon(common.SavepointCase):
cls.user_portal = TestUsersEnv.create({
'name': 'Beatrice Portal',
'login': 'Beatrice',
- 'alias_name': 'beatrice',
'email': 'beatrice.employee@example.com',
'karma': 0,
'groups_id': [(6, 0, [group_portal_id])]
@@ -51,7 +49,6 @@ class TestForumCommon(common.SavepointCase):
cls.user_public = TestUsersEnv.create({
'name': 'Cedric Public',
'login': 'Cedric',
- 'alias_name': 'cedric',
'email': 'cedric.employee@example.com',
'karma': 0,
'groups_id': [(6, 0, [group_public_id])]