summaryrefslogtreecommitdiff
path: root/addons/crm
diff options
context:
space:
mode:
Diffstat (limited to 'addons/crm')
-rw-r--r--addons/crm/crm.py18
-rw-r--r--addons/crm/crm_case_section_view.xml30
2 files changed, 23 insertions, 25 deletions
diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index 4c9a60634a5..d1194508b71 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -222,17 +222,13 @@ class crm_case_section(osv.osv):
return res
def create(self, cr, uid, vals, context=None):
- mail_alias = self.pool.get('mail.alias')
- if not vals.get('alias_id'):
- alias_name = vals.pop('alias_name', None) or vals.get('name') # prevent errors during copy()
- alias_id = mail_alias.create_unique_alias(cr, uid,
- {'alias_name': alias_name},
- model_name="crm.lead",
- context=context)
- vals['alias_id'] = alias_id
- res = super(crm_case_section, self).create(cr, uid, vals, context)
- mail_alias.write(cr, uid, [vals['alias_id']], {'alias_defaults': {'section_id': res, 'type': 'lead'}}, context)
- return res
+ if context is None:
+ context = {}
+ create_context = dict(context, alias_model_name='crm.lead', alias_parent_model_name=self._name)
+ section_id = super(crm_case_section, self).create(cr, uid, vals, context=create_context)
+ section = self.browse(cr, uid, section_id, context=context)
+ self.pool.get('mail.alias').write(cr, uid, [section.alias_id.id], {'alias_parent_thread_id': section_id, 'alias_defaults': {'section_id': section_id, 'type': 'lead'}}, context=context)
+ return section_id
def unlink(self, cr, uid, ids, context=None):
# Cascade-delete mail aliases as well, as they should not exist without the sales team.
diff --git a/addons/crm/crm_case_section_view.xml b/addons/crm/crm_case_section_view.xml
index be5611c03c4..c957311b47f 100644
--- a/addons/crm/crm_case_section_view.xml
+++ b/addons/crm/crm_case_section_view.xml
@@ -94,7 +94,7 @@
<div class="oe_kanban_content">
<h4 class="oe_center"><field name="name"/></h4>
<div class="oe_kanban_alias oe_center" t-if="record.use_leads.raw_value and record.alias_id.value">
- <small><span class="oe_e" style="float: none;">%%</span><t t-raw="record.alias_id.raw_value[1]"/></small>
+ <small><span class="oe_e oe_e_alias" style="float: none;">%%</span><t t-raw="record.alias_id.raw_value[1]"/></small>
</div>
<div class="oe_items_list">
<div class="oe_salesteams_leads" t-if="record.use_leads.raw_value">
@@ -168,17 +168,6 @@
<h1>
<field name="name" string="Salesteam"/>
</h1>
- <div name="group_alias"
- attrs="{'invisible': [('alias_domain', '=', False)]}">
- <label for="alias_id" string="Email Alias"/>
- <field name="alias_id" class="oe_inline oe_read_only" required="0" nolabel="1"/>
- <span name="edit_alias" class="oe_edit_only">
- <field name="alias_name" class="oe_inline"
- attrs="{'required': [('use_leads', '=', True), ('alias_id', '!=', False)]}"/>
- @
- <field name="alias_domain" class="oe_inline" readonly="1"/>
- </span>
- </div>
<div name="options_active">
<field name="use_leads" class="oe_inline"/><label for="use_leads"/>
</div>
@@ -187,12 +176,25 @@
<group>
<field name="user_id"/>
<field name="code"/>
- </group>
- <group>
<field name="parent_id"/>
<field name="change_responsible"/>
<field name="active"/>
</group>
+ <group>
+ <label for="alias_name" string="Email Alias"
+ attrs="{'invisible': [('alias_domain', '=', False)]}"/>
+ <div name="alias_def"
+ attrs="{'invisible': [('alias_domain', '=', False)]}">
+ <field name="alias_id" class="oe_read_only oe_inline"
+ string="Email Alias" required="0"/>
+ <div class="oe_edit_only oe_inline" name="edit_alias" style="display: inline;" >
+ <field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline" readonly="1"/>
+ </div>
+ </div>
+ <field name="alias_contact" class="oe_inline"
+ string="Accept Emails From"
+ attrs="{'invisible': [('alias_domain', '=', False)]}"/>
+ </group>
</group>
<notebook colspan="4">
<page string="Team Members">