[IMP] Consstance write method for the wrting the unique and nautral mail alias

bzr revid: jam@tinyerp.com-20120626122901-bkq4smyhw3yop8nz
This commit is contained in:
Jigar Amin - OpenERP 2012-06-26 17:59:01 +05:30
parent d966615e3c
commit ed885f2e01
1 changed files with 20 additions and 1 deletions

View File

@ -20,6 +20,7 @@
##############################################################################
from openerp.osv import fields, osv
from tools.translate import _
class mail_alias(osv.Model):
"""A Mail Alias is a mapping of an email address with a given OpenERP Document
@ -82,4 +83,22 @@ class mail_alias(osv.Model):
else:
values.update({'alias_name': prob_alias})
return values
def write(self, cr, uid, ids, vals, context=None):
config_parameter_pool = self.pool.get("ir.config_parameter")
#TODO: Do we need to check specail charactor like email address parsing
# Like allowing . and _ only.
if 'alias_name' in vals.keys():
domain = config_parameter_pool.get_param(cr, uid, "mail.catchall.domain", context=context)
#check the new alias, If only alias then concat the domain
#if we have alias_name with random domain we will concat our domain.
if vals.get('alias_name').count("@") == 0:
print "0"
vals.update({'alias_name': "%s@%s"%(vals.get('alias_name'), domain)})
elif vals.get('alias_name').count("@") == 1:
print "1"
name = "%s@%s"%(vals.get('alias_name').split("@")[0], domain)
vals.update({'alias_name': name})
else:
raise osv.except_osv(_("Warning !"), _("Invalid mail alias name.\n It should be e.g. 'alias@domain.com' or only alias name 'alias'."))
return super(mail_alias, self).write(cr, uid, ids, vals, context=context)