Turkesh Patel (openERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-mail-alias-jam-res-user-tpa into
lp:~openerp-dev/openobject-addons/trunk-mail-alias-jam.
Requested reviews:
Jigar Amin (OpenERP) (jam-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-mail-alias-jam-res-user-tpa/+merge/112008
[IMP] mail: added functionality of mail.alias for res.user
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-mail-alias-jam-res-user-tpa/+merge/112008
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-mail-alias-jam.
=== modified file 'mail/__openerp__.py'
--- mail/__openerp__.py 2012-06-21 13:18:10 +0000
+++ mail/__openerp__.py 2012-06-26 06:13:20 +0000
@@ -70,6 +70,9 @@
'res_users_view.xml',
'mail_alias_view.xml',
],
+ 'demo_xml': [
+ 'mail_demo.xml',
+ ],
'installable': True,
'auto_install': False,
'certificate': '001056784984222247309',
=== modified file 'mail/mail_data.xml'
--- mail/mail_data.xml 2012-05-07 18:13:46 +0000
+++ mail/mail_data.xml 2012-06-26 06:13:20 +0000
@@ -12,5 +12,18 @@
<field eval="'process_email_queue'" name="function"/>
<field eval="'()'" name="args"/>
</record>
+
+ <record id="mail_alias_root_user" model="mail.alias">
+ <field name="alias_name">[email protected]</field>
+ <field name="alias_model_id" ref="model_res_users"/>
+ <field name="alias_user_id" ref="base.user_root"/>
+ <field name="alias_force_thread_id" ref="base.user_root"/>
+ <field name="alias_defaults">{}</field>
+ </record>
+
+ <record model="res.users" id="base.user_root">
+ <field name="alias_id" ref="mail_alias_root_user"/>
+ </record>
+
</data>
</openerp>
=== added file 'mail/mail_demo.xml'
--- mail/mail_demo.xml 1970-01-01 00:00:00 +0000
+++ mail/mail_demo.xml 2012-06-26 06:13:20 +0000
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data noupdate="1">
+ <record id="mail_alias_demo_user" model="mail.alias">
+ <field name="alias_name">[email protected]</field>
+ <field name="alias_model_id" ref="model_res_users"/>
+ <field name="alias_user_id" ref="base.user_root"/>
+ <field name="alias_force_thread_id" ref="base.user_demo"/>
+ <field name="alias_defaults">{}</field>
+ </record>
+
+ <record model="res.users" id="base.user_demo">
+ <field name="alias_id" ref="mail_alias_demo_user"/>
+ </record>
+
+ </data>
+</openerp>
\ No newline at end of file
=== modified file 'mail/res_users.py'
--- mail/res_users.py 2012-05-16 16:01:15 +0000
+++ mail/res_users.py 2012-06-26 06:13:20 +0000
@@ -29,6 +29,7 @@
"""
_name = 'res.users'
_inherit = ['res.users', 'mail.thread']
+ _inherits = {'mail.alias': 'alias_id'}
_columns = {
'notification_email_pref': fields.selection([
@@ -38,6 +39,7 @@
('none', 'Never')
], 'Receive Feeds by E-mail', required=True,
help="Choose in which case you want to receive an email when you receive new feeds."),
+ 'alias_id': fields.many2one('mail.alias', 'Mail Alias', ondelete="cascade", required=True),
}
_defaults = {
@@ -56,8 +58,16 @@
return init_res
def create(self, cr, uid, data, context=None):
+ # create default alias same as the login
+ model_pool = self.pool.get('ir.model.data')
+ alias_pool = self.pool.get('mail.alias')
+ res_id = model_pool.get_object( cr, uid, "mail", "model_res_users")
+ data.update({'alias_name': data.get('login'),
+ 'alias_model_id': res_id.id})
+ name = alias_pool.create_unique_alias(cr, uid, data, context=context)
user_id = super(res_users, self).create(cr, uid, data, context=context)
user = self.browse(cr, uid, [user_id], context=context)[0]
+ alias_pool.write(cr, uid, [user.alias_id.id], {"alias_force_thread_id": user.id}, context)
# make user follow itself
self.message_subscribe(cr, uid, [user_id], [user_id], context=context)
# create a welcome message to broadcast
@@ -66,7 +76,18 @@
# TODO: clean the broadcast feature. As this is not cleany specified, temporarily remove the message broadcasting that is not buggy but not very nice.
#self.message_broadcast(cr, uid, [user.id], 'Welcome notification', message, context=context)
return user_id
+
+ def write(self, cr, uid, ids, vals, context=None):
+ result = super(res_users, self).write(cr, uid, ids, vals, context=context)
+ # if login of user have been changed then change alias of user also.
+ if vals.get('login'):
+ alias_id = self.browse(cr, uid, ids[0]).alias_id
+ domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context)
+ name = vals.get('login') + '@' + domain
+ self.pool.get('mail.alias').write(cr, uid, [alias_id.id], {'alias_name': name}, context=context)
+ return result
+
def message_load_ids(self, cr, uid, ids, limit=100, offset=0, domain=[], ascent=False, root_ids=[False], context=None):
""" Override of message_load_ids
User discussion page :
=== modified file 'mail/res_users_view.xml'
--- mail/res_users_view.xml 2012-06-19 08:56:18 +0000
+++ mail/res_users_view.xml 2012-06-26 06:13:20 +0000
@@ -31,6 +31,9 @@
<field name="message_ids" colspan="4" widget="ThreadView" nolabel="1"/>
</div>
</xpath>
+ <field name="active" position="after">
+ <field name="alias_id" readonly="1" required="0"/>
+ </field>
</data>
</field>
</record>
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp