[REF/FIX] refectored the creation code and recreated the views for the crm,project mali group

bzr revid: jam@tinyerp.com-20120705053840-2980zbtcd4ftny09
This commit is contained in:
Jigar Amin - OpenERP 2012-07-05 11:08:40 +05:30
parent 697a57a324
commit 2523547b35
7 changed files with 37 additions and 15 deletions

View File

@ -71,8 +71,8 @@
<field name="name" colspan="2"/>
<field name="parent_id"/>
<field name="code"/>
<field name="alias_id" required="0" domain="[('alias_model_id', '=','crm.lead')]"/>
</group>
<group>
<field name="user_id"/>
<field name="resource_calendar_id"/>
@ -87,6 +87,12 @@
<field name="change_responsible"/>
<field name="member_ids"/>
</group>
<group>
<div>
<label for="alias_name"/>
<field name="alias_name" class="oe_inline" required="0"/>@<field name="alias_domain" class="oe_inline"/>
</div>
</group>
</page>
<page string="Stages">
<separator string="Select Stages for this Sales Team"/>

View File

@ -121,7 +121,9 @@ class mail_alias(osv.Model):
new_name = "%s%s"%(name, sequence)
search_alias = self.search(cr, uid, [('alias_name', '=', new_name)])
if search_alias:
self._generate_alias(cr, uid, name, sequence+1 ,context=None)
new_name = self._generate_alias(cr, uid, name, sequence+1 ,context=None)
if not self.search(cr, uid, [('alias_name', '=', new_name)]):
return new_name
else:
return new_name
@ -132,13 +134,13 @@ class mail_alias(osv.Model):
@return int: New alias_id
"""
model_pool = self.pool.get('ir.model')
alias_name = vals['alias_name']
alias_name = re.sub(r'\W+', '_', vals['alias_name']).lower()
values = {'alias_name': alias_name}
#Find for the mail alias exist or not if exit then get new mail address.
if self.search(cr, uid, [('alias_name', '=', vals['alias_name'])]):
alias_name = self._generate_alias(cr, uid, vals['alias_name'], sequence=1, context=context)
alias_name = re.sub(r'\W+', '_', alias_name)
values.update({'alias_name': alias_name.lower()})
saids = self.search(cr, uid, [('alias_name', '=',alias_name)])
if saids:
alias_name = self._generate_alias(cr, uid, alias_name, sequence=1, context=context)
values.update({'alias_name': alias_name})
#Set the model fo rhte mail alias
model_sids = model_pool.search(cr, uid, [('model', '=', vals['alias_model_id'])])
values.update({'alias_model_id': model_sids[0]})

View File

@ -156,8 +156,12 @@ class mail_group(osv.osv):
def create(self, cr, uid, vals, context=None):
alias_pool = self.pool.get('mail.alias')
if not vals.get('alias_id'):
alias_id = alias_pool.create_unique_alias(cr, uid, {'alias_name': "mail_group."+vals['name'], 'alias_model_id': self._name}, context=context)
vals.update({'alias_id': alias_id})
name = vals.get('alias_name') or vals['name']
alias_id = alias_pool.create_unique_alias(cr, uid,
{'alias_name': "mail_group."+name,
'alias_model_id': self._name}, context=context)
alias = alias_pool.read(cr, uid, alias_id, ['alias_name'],context)
vals.update({'alias_id': alias_id, 'alias_name': alias['alias_name']})
res = super(mail_group, self).create(cr, uid, vals, context)
alias_pool.write(cr, uid, [vals['alias_id']], {"alias_force_thread_id": res}, context)
return res

View File

@ -71,7 +71,7 @@
<field name="description" colspan="4" nolabel="1"/>
<div>
<label for="alias_name"/>
<field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline"/>
<field name="alias_name" required="0" class="oe_inline"/>@<field name="alias_domain" class="oe_inline"/>
</div>
</div>
</div>

View File

@ -35,7 +35,7 @@
<group colspan="2">
<div>
<label for="alias_name"/>
<field name="alias_name" readonly="1" class="oe_inline"/>@<field name="alias_domain" class="oe_inline"/>
<field name="alias_name" readonly="1" required="0" class="oe_inline"/>@<field name="alias_domain" class="oe_inline"/>
</div>
</group>
</field>

View File

@ -526,8 +526,12 @@ def Project():
def create(self, cr, uid, vals, context=None):
alias_pool = self.pool.get('mail.alias')
if not vals.get('alias_id'):
alias_id = alias_pool.create_unique_alias(cr, uid, {'alias_name': "project."+vals['name'], 'alias_model_id': vals.get('alias_model','project.task')}, context=context)
vals.update({'alias_id': alias_id})
name = vals.get('alias_name') or vals['name']
alias_id = alias_pool.create_unique_alias(cr, uid,
{'alias_name': "project."+name,
'alias_model_id': self._name}, context=context)
alias = alias_pool.read(cr, uid, alias_id, ['alias_name'],context)
vals.update({'alias_id': alias_id, 'alias_name': alias['alias_name']})
res = super( project, self).create(cr, uid, vals, context)
alias_pool.write(cr, uid, [vals['alias_id']], {'alias_defaults':{'project_id': res}}, context)
self.create_send_note(cr, uid, [res], context=context)

View File

@ -55,8 +55,6 @@
<field name="analytic_account_id" invisible="1" required="0"/>
<field name="parent_id" invisible="1" string="Parent" domain="[('id','!=',analytic_account_id)]" context="{'current_model': 'project.project'}"/>
<field name="privacy_visibility"/>
<field name="alias_id" required="0" domain="[('alias_model_id','in',('project.task','project.issue'))]"/>
<field name="alias_model" invisible="1"/>
</group>
<group>
<table>
@ -104,6 +102,14 @@
<field name="active" attrs="{'invisible':[('state','in',['open', 'pending', 'template'])]}"/>
<field name="currency_id" select="1" groups="base.group_multi_company" required="1"/>
</group>
<group string="Mailbox Alias" colspan="4">
<div>
<label for="alias_name"/>
<field name="alias_name" required="0" class="oe_inline"/>@
<field name="alias_domain" class="oe_inline"/>
</div>
<field name="alias_model" invisible="1"/>
</group>
</group>
</page>
<page string="Tasks Stages">