]
def create_unique_alias(self, cr, uid, values, sequence=1 ,context=None):
- config_parameter_pool = self.pool.get("ir.config_parameter")
- domain = config_parameter_pool.get_param(cr, uid, "mail.catchall.domain", context=context)
if sequence:
- prob_alias = "%s%s@%s"%(values['alias_name'], sequence, domain)
+ prob_alias = "%s%s"%(values['alias_name'], sequence)
search_alias = self.search(cr, uid, [('alias_name', '=', prob_alias)])
if search_alias:
values = self.create_unique_alias(cr, uid, values, sequence+1, context)
values.update({'alias_name': prob_alias})
return values
else:
- return values.update({'alias_name': "%s@%s"%(values['alias_name'],domain)})
-
- 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:
- vals.update({'alias_name': "%s@%s"%(vals.get('alias_name'), domain)})
- elif vals.get('alias_name').count("@") == 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@mail.domain.com' or only alias name 'alias'."))
- return super(mail_alias, self).write(cr, uid, ids, vals, context=context)
+ return values.update({'alias_name': "%s"%(values['alias_name'])})