[IMP] [FIX] crm_partner_assign: as it inherits from mail.compose.message, updated the form view to avoid crashe; updated mail.compose.message composition mode, that is now an updatable selection field. crm_partner_assign will habe to be massively cleaned with the new mail module.
bzr revid: tde@openerp.com-20120824122928-dof1y1uxv3lkiwly
This commit is contained in:
parent
545d7843e3
commit
fb76f9f037
|
@ -32,6 +32,11 @@ class crm_lead_forward_to_partner(osv.osv_memory):
|
|||
_name = 'crm.lead.forward.to.partner'
|
||||
_inherit = "mail.compose.message"
|
||||
|
||||
def _get_composition_mode_selection(self, cr, uid, context=None):
|
||||
composition_mode = super(crm_lead_forward_to_partner, self)._get_composition_mode_selection(cr, uid, context=context)
|
||||
composition_mode.append(('forward', 'Forward'))
|
||||
return composition_mode
|
||||
|
||||
_columns = {
|
||||
'send_to': fields.selection([('user', 'User'), ('partner', 'Partner'), \
|
||||
('email', 'Email Address')], 'Send to', required=True),
|
||||
|
@ -44,7 +49,6 @@ class crm_lead_forward_to_partner(osv.osv_memory):
|
|||
_defaults = {
|
||||
'send_to' : 'email',
|
||||
'history': 'latest',
|
||||
'email_from': lambda s, cr, uid, c: s.pool.get('res.users').browse(cr, uid, uid, c).email,
|
||||
}
|
||||
|
||||
def on_change_email(self, cr, uid, ids, user, context=None):
|
||||
|
@ -68,19 +72,20 @@ class crm_lead_forward_to_partner(osv.osv_memory):
|
|||
res = {'value': {'body' : body}}
|
||||
return res
|
||||
|
||||
def on_change_partner(self, cr, uid, ids, partner_id):
|
||||
def on_change_partners(self, cr, uid, ids, partner_id):
|
||||
"""This function fills address information based on partner/user selected
|
||||
"""
|
||||
if not partner_id:
|
||||
return {'value' : {'email_to' : False}}
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
data = {}
|
||||
partner = partner_obj.browse(cr, uid, [partner_id])
|
||||
user_id = partner and partner[0].user_id or False
|
||||
data.update({'email_from': partner and partner[0].email or "",
|
||||
'email_cc' : user_id and user_id.user or '',
|
||||
'user_id': user_id and user_id.id or False})
|
||||
return {'value' : data}
|
||||
return {}
|
||||
# if not partner_id:
|
||||
# return {'value' : {'email_to' : False}}
|
||||
# partner_obj = self.pool.get('res.partner')
|
||||
# data = {}
|
||||
# partner = partner_obj.browse(cr, uid, [partner_id])
|
||||
# user_id = partner and partner[0].user_id or False
|
||||
# data.update({'email_from': partner and partner[0].email or "",
|
||||
# 'email_cc' : user_id and user_id.user or '',
|
||||
# 'user_id': user_id and user_id.id or False})
|
||||
# return {'value' : data}
|
||||
|
||||
def action_forward(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
|
|
|
@ -17,16 +17,11 @@
|
|||
on_change="on_change_email(user_id)"/>
|
||||
</group>
|
||||
<group col="4" colspan="4" attrs="{'invisible' : [('send_to','!=','partner')]}">
|
||||
<field name="partner_id" attrs="{'required' : [('send_to','=','partner')]}" on_change="on_change_partner(partner_id)" colspan="2"/>
|
||||
<field name="partner_ids" attrs="{'required' : [('send_to','=','partner')]}" on_change="on_change_partners(partner_ids)" colspan="2"/>
|
||||
</group>
|
||||
</group>
|
||||
<separator string="" colspan="4"/>
|
||||
<group col="6" colspan="4">
|
||||
<field name="email_from" colspan="4" required="1"/>
|
||||
<field name="email_to" colspan="4" required="1"/>
|
||||
<field name="email_cc" colspan="4"/>
|
||||
<field name="email_bcc" colspan="4"/>
|
||||
<field name="reply_to" colspan="4"/>
|
||||
<field name="subject" colspan="4" widget="char" size="512"/>
|
||||
</group>
|
||||
<separator string="" colspan="4"/>
|
||||
|
|
|
@ -88,12 +88,13 @@ class mail_compose_message(osv.TransientModel):
|
|||
result[field] = vals[field]
|
||||
return result
|
||||
|
||||
def _get_composition_mode_selection(self, cr, uid, context=None):
|
||||
return [('comment', 'Comment a document'), ('reply', 'Reply to a message'), ('mass_mail', 'Mass mailing')]
|
||||
|
||||
_columns = {
|
||||
'composition_mode': fields.selection([
|
||||
('comment', 'Comment a document'),
|
||||
('reply', 'Reply to a message'),
|
||||
('mass_mail', 'Mass mailing')
|
||||
], string='Composition mode'),
|
||||
'composition_mode': fields.selection(
|
||||
lambda s, *a, **k: s._get_composition_mode_selection(*a, **k),
|
||||
string='Composition mode'),
|
||||
'partner_ids': fields.many2many('res.partner',
|
||||
'mail_compose_message_res_partner_rel',
|
||||
'wizard_id', 'partner_id', 'Additional contacts'),
|
||||
|
|
Loading…
Reference in New Issue