diff options
Diffstat (limited to 'addons/crm')
| -rw-r--r-- | addons/crm/crm.py | 18 | ||||
| -rw-r--r-- | addons/crm/crm_case_section_view.xml | 30 |
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"> |
