[FIX] remove domain do nto store the domian

bzr revid: jam@tinyerp.com-20120629084621-bkt7d22ajtyqkb3g
This commit is contained in:
Jigar Amin - OpenERP 2012-06-29 14:16:21 +05:30
parent 8881b2dbb4
commit 494acb3955
8 changed files with 16 additions and 37 deletions

View File

@ -14,7 +14,7 @@
<field name="name">email</field>
</record>
<record id="mail_alias_sales_department" model="mail.alias">
<field name="alias_name">sales@openerp.my.openerp.com</field>
<field name="alias_name">sales</field>
<field name="alias_model_id" ref="model_crm_lead"/>
<field name="alias_user_id" ref="base.user_root"/>
<field name="alias_defaults">{'type':'lead'}</field>

View File

@ -13,7 +13,7 @@
</record>
<record id="mail_alias_marketing_department" model="mail.alias">
<field name="alias_name">info@openerp.my.openerp.com</field>
<field name="alias_name">info</field>
<field name="alias_model_id" ref="model_crm_lead"/>
<field name="alias_user_id" ref="base.user_root"/>
<field name="alias_defaults">{'type':'lead'}</field>

View File

@ -451,7 +451,7 @@
</record>
<record id="mail_alias_jobs" model="mail.alias">
<field name="alias_name">Jobs@openerp.my.openerp.com</field>
<field name="alias_name">Jobs</field>
<field name="alias_model_id" ref="model_hr_applicant"/>
<field name="alias_user_id" ref="base.user_root"/>
<field name="alias_defaults">{}</field>

View File

@ -1,6 +1,6 @@
-
!record {model: mail.alias, id: alias_job_devloper, view: False}:
alias_name: 'developer@openerp.my.openerp.com'
alias_name: 'job-developer'
alias_model_id: model_hr_applicant
alias_user_id: base.user_root
alias_defaults: '{}'
@ -12,7 +12,7 @@
alias_id: alias_job_devloper
-
!record {model: mail.alias, id: alias_job_ceo, view: False}:
alias_name: 'ceo@openerp.my.openerp.com'
alias_name: 'job-ceo'
alias_model_id: model_hr_applicant
alias_user_id: base.user_root
alias_defaults: '{}'
@ -24,7 +24,7 @@
alias_id: alias_job_ceo
-
!record {model: mail.alias, id: alias_job_cto, view: False}:
alias_name: 'cto@openerp.my.openerp.com'
alias_name: 'job-cto'
alias_model_id: model_hr_applicant
alias_user_id: base.user_root
alias_defaults: '{}'
@ -36,7 +36,7 @@
alias_id: alias_job_cto
-
!record {model: mail.alias, id: alias_job_hr_manager, view: False}:
alias_name: 'hr-manager@openerp.my.openerp.com'
alias_name: 'job-hr-manager'
alias_model_id: model_hr_applicant
alias_user_id: base.user_root
alias_defaults: '{}'
@ -48,7 +48,7 @@
alias_id: alias_job_hr_manager
-
!record {model: mail.alias, id: alias_job_consultant, view: False}:
alias_name: 'consultant@openerp.my.openerp.com'
alias_name: 'job-consultant'
alias_model_id: model_hr_applicant
alias_user_id: base.user_root
alias_defaults: '{}'
@ -60,7 +60,7 @@
alias_id: alias_job_consultant
-
!record {model: mail.alias, id: alias_job_hrm, view: False}:
alias_name: 'hrm@openerp.my.openerp.com'
alias_name: 'job-hrm'
alias_model_id: model_hr_applicant
alias_user_id: base.user_root
alias_defaults: '{}'
@ -72,7 +72,7 @@
alias_id: alias_job_hrm
-
!record {model: mail.alias, id: alias_job_marketing, view: False}:
alias_name: 'marketing@openerp.my.openerp.com'
alias_name: 'job-marketing'
alias_model_id: model_hr_applicant
alias_user_id: base.user_root
alias_defaults: '{}'
@ -84,7 +84,7 @@
alias_id: alias_job_marketing
-
!record {model: mail.alias, id: alias_job_trainee, view: False}:
alias_name: 'trainee@openerp.my.openerp.com'
alias_name: 'job-trainees'
alias_model_id: model_hr_applicant
alias_user_id: base.user_root
alias_defaults: '{}'

View File

@ -74,10 +74,8 @@ class mail_alias(osv.Model):
]
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)
@ -85,22 +83,5 @@ class mail_alias(osv.Model):
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'])})

View File

@ -14,7 +14,7 @@
</record>
<record id="mail_alias_root_user" model="mail.alias">
<field name="alias_name">admin@openerp.my.openerp.com</field>
<field name="alias_name">admin</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"/>

View File

@ -94,9 +94,7 @@ class res_users(osv.osv):
# if login of user have been changed then change alias of user also.
if 'login' in vals.keys():
for user in self.browse(cr, uid, ids, context=context):
domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context)
name = "%s@%s"%(vals['login'], domain)
self.pool.get('mail.alias').write(cr, uid, [user.alias_id.id], {'alias_name': name}, context=context)
self.pool.get('mail.alias').write(cr, uid, [user.alias_id.id], {'alias_name': vals['login']}, context=context)
return super(res_users, self).write(cr, uid, ids, vals, context=context)

View File

@ -2,7 +2,7 @@
<openerp>
<data noupdate="1">
<record id="mail_alias_demo_user" model="mail.alias">
<field name="alias_name">demo@openerp.my.openerp.com</field>
<field name="alias_name">demo</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"/>