Merge lp:~openerp-dev/openobject-addons/trunk-lead_notification_imp-pga into lp:openobject-addons

Proposed by Dharmraj Zala(OpenERP)
Status: Needs review
Proposed branch: lp:~openerp-dev/openobject-addons/trunk-lead_notification_imp-pga
Merge into: lp:openobject-addons
Diff against target: 143 lines (+68/-7)
4 files modified
crm_partner_assign/crm_partner_assign.py (+10/-4)
crm_partner_assign/portal_data.xml (+35/-1)
crm_partner_assign/wizard/crm_channel_interested.py (+5/-2)
crm_partner_assign/wizard/crm_forward_to_partner.py (+18/-0)
To merge this branch: bzr merge lp:~openerp-dev/openobject-addons/trunk-lead_notification_imp-pga
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+205899@code.launchpad.net

Description of the change

Hello,

This mp contains some improvements of crm_partner_assign module like
  -- Improved lead assignation notifications
  -- Added new subtypes in lead and partner

Thanks
dja.

To post a comment you must log in.
9023. By Dharmraj Zala(OpenERP)

[MERGE] with latest trunk

9024. By Dharmraj Zala(OpenERP)

[MERGE] with latest trunk

9025. By Dharmraj Zala(OpenERP)

[MERGE] with trunk

9026. By Dharmraj Zala(OpenERP)

[IMP] improved onchange method for assigned partner

9027. By Dharmraj Zala(OpenERP)

[MERGE] with trunk

9028. By Amit Vora(OpenERP)

[MERGE] merge with main branch

9029. By Dharmraj Zala(OpenERP)

[MERGE] with latest trunk

9030. By Amit Vora(OpenERP)

[MERGE] merge with main branch

9031. By Dharmraj Zala(OpenERP)

[MERGE] sync with trunk

9032. By Amit Vora(OpenERP)

[IMP] partner_assign_id use in _tack for notification

9033. By Amit Vora(OpenERP)

[MRG] merge with main branch

9034. By Amit Vora(OpenERP)

[MRG] merge with main branch

9035. By Dharmraj Zala(OpenERP)

[MERGE] sync with trunk-addons

9036. By Dharmraj Zala(OpenERP)

[MERGE] sync with latest trunk

9037. By Amit Vora(OpenERP)

[MRG] merge with main branch

Unmerged revisions

9037. By Amit Vora(OpenERP)

[MRG] merge with main branch

9036. By Dharmraj Zala(OpenERP)

[MERGE] sync with latest trunk

9035. By Dharmraj Zala(OpenERP)

[MERGE] sync with trunk-addons

9034. By Amit Vora(OpenERP)

[MRG] merge with main branch

9033. By Amit Vora(OpenERP)

[MRG] merge with main branch

9032. By Amit Vora(OpenERP)

[IMP] partner_assign_id use in _tack for notification

9031. By Dharmraj Zala(OpenERP)

[MERGE] sync with trunk

9030. By Amit Vora(OpenERP)

[MERGE] merge with main branch

9029. By Dharmraj Zala(OpenERP)

[MERGE] with latest trunk

9028. By Amit Vora(OpenERP)

[MERGE] merge with main branch

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'crm_partner_assign/crm_partner_assign.py'
2--- crm_partner_assign/crm_partner_assign.py 2013-12-02 15:09:25 +0000
3+++ crm_partner_assign/crm_partner_assign.py 2014-05-16 09:54:03 +0000
4@@ -86,6 +86,12 @@
5
6 class crm_lead(osv.osv):
7 _inherit = "crm.lead"
8+ _track = {
9+ 'partner_assigned_id': {
10+ # this is only an heuristics; depending on your particular stage configuration it may not match all 'new' stages
11+ 'crm_partner_assign.mt_crm_partner_lead_assign': lambda self, cr, uid, obj, ctx=None: obj.partner_assigned_id,
12+ },
13+ }
14 _columns = {
15 'partner_latitude': fields.float('Geo Latitude'),
16 'partner_longitude': fields.float('Geo Longitude'),
17@@ -105,10 +111,10 @@
18 else:
19 partners = self.pool.get('res.partner').browse(cr, uid, [partner_assigned_id], context=context)
20 user_id = partners[0] and partners[0].user_id.id or False
21- return {'value':
22- {'date_assign': fields.date.context_today(self,cr,uid,context=context),
23- 'user_id' : user_id}
24- }
25+ values = {'date_assign': fields.date.context_today(self,cr,uid,context=context)}
26+ if user_id:
27+ values.update({'user_id' : user_id})
28+ return {'value': values}
29
30 def action_assign_partner(self, cr, uid, ids, context=None):
31 return self.assign_partner(cr, uid, ids, partner_id=False, context=context)
32
33=== modified file 'crm_partner_assign/portal_data.xml'
34--- crm_partner_assign/portal_data.xml 2013-10-08 14:57:30 +0000
35+++ crm_partner_assign/portal_data.xml 2014-05-16 09:54:03 +0000
36@@ -31,4 +31,38 @@
37 </record>
38
39 </data>
40-</openerp>
41+ <data noupdate="1">
42+
43+ <record id="mt_lead_accept" model="mail.message.subtype">
44+ <field name="name">Partner Accept</field>
45+ <field name="res_model">crm.lead</field>
46+ <field name="default" eval="False"/>
47+ <field name="description">Partner Accept</field>
48+ </record>
49+
50+ <record id="mt_lead_refused" model="mail.message.subtype">
51+ <field name="name">Partner Refused</field>
52+ <field name="res_model">crm.lead</field>
53+ <field name="default" eval="False"/>
54+ <field name="description">Partner Refused</field>
55+ </record>
56+
57+ <record id="mt_crm_partner_lead_assign" model="mail.message.subtype">
58+ <field name="name">Lead Assign</field>
59+ <field name="res_model">crm.lead</field>
60+ <field name="default" eval="False"/>
61+ <field name="hidden" eval="True"/>
62+ <field name="description">Lead Assign</field>
63+ </record>
64+
65+ <record id="mt_partner_lead_assign" model="mail.message.subtype">
66+ <field name="name">Lead Assign</field>
67+ <field name="res_model">res.partner</field>
68+ <field name="default" eval="False"/>
69+ <field name="description">Lead Assign</field>
70+ <field name="parent_id" eval="ref('mt_crm_partner_lead_assign')"/>
71+ <field name="relation_field">partner_assigned_id</field>
72+ </record>
73+
74+ </data>
75+ </openerp>
76
77=== modified file 'crm_partner_assign/wizard/crm_channel_interested.py'
78--- crm_partner_assign/wizard/crm_channel_interested.py 2014-04-04 12:54:50 +0000
79+++ crm_partner_assign/wizard/crm_channel_interested.py 2014-05-16 09:54:03 +0000
80@@ -53,6 +53,9 @@
81 values = {'partner_assigned_id': False}
82 user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
83 partner_ids = self.pool.get('res.partner').search(cr, SUPERUSER_ID, [('id', 'child_of', user.partner_id.commercial_partner_id.id)], context=context)
84+ if wizard.comment:
85+ message += '<p>%s</p>' % wizard.comment
86+ lead_obj.message_post(cr, uid, context.get('active_ids'), body=_(message),subtype="crm_partner_assign.mt_lead_refused", context=context)
87 lead_obj.message_unsubscribe(cr, SUPERUSER_ID, context.get('active_ids', []), partner_ids, context=None)
88 try:
89 stage_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'crm_partner_assign', stage)[1]
90@@ -60,13 +63,13 @@
91 stage_id = False
92 if stage_id:
93 values.update({'stage_id': stage_id})
94+
95 if wizard.comment:
96 message += '<p>%s</p>' % wizard.comment
97- for active_id in context.get('active_ids', []):
98- lead_obj.message_post(cr, uid, active_id, body=message, subtype="mail.mt_comment", context=context)
99 if values:
100 lead_obj.write(cr, SUPERUSER_ID, context.get('active_ids', []), values)
101 if wizard.interested:
102+ lead_obj.message_post(cr, uid, context.get('active_ids'), body=_(message),subtype="crm_partner_assign.mt_lead_accept", context=context)
103 for lead in lead_obj.browse(cr, uid, context.get('active_ids', []), context=context):
104 lead_obj.convert_opportunity(cr, SUPERUSER_ID, [lead.id], lead.partner_id and lead.partner_id.id or None, context=None)
105 return {
106
107=== modified file 'crm_partner_assign/wizard/crm_forward_to_partner.py'
108--- crm_partner_assign/wizard/crm_forward_to_partner.py 2014-01-16 10:39:10 +0000
109+++ crm_partner_assign/wizard/crm_forward_to_partner.py 2014-05-16 09:54:03 +0000
110@@ -79,6 +79,7 @@
111
112 def action_forward(self, cr, uid, ids, context=None):
113 lead_obj = self.pool.get('crm.lead')
114+ partner_obj = self.pool.get('res.partner')
115 record = self.browse(cr, uid, ids[0], context=context)
116 email_template_obj = self.pool.get('email.template')
117 try:
118@@ -143,8 +144,25 @@
119 values['section_id'] = partner_leads['partner'].user_id.default_section_id.id
120 lead_obj.write(cr, uid, lead_ids, values)
121 self.pool.get('crm.lead').message_subscribe(cr, uid, lead_ids, [partner_id], context=context)
122+ message = self._prepare_notify_message(partner_leads['leads'], partner_leads['partner'].name)
123+ partner_obj.message_post(cr, uid, [partner_id], body=message,subtype="crm_partner_assign.mt_partner_lead_assign", context=context)
124 return True
125
126+ def _prepare_notify_message(self, leads, partner_name):
127+ child_message, lead, link = '<ol>', False, False
128+ for lead_dict in leads:
129+ link = "#model=crm.lead&id=%s" % (lead_dict['lead_id'].id)
130+ lead = lead_dict['lead_id']
131+ child_message += '<li> <a href="%s">%s</a></li>'%(link,lead.name)
132+ child_message += '</ol>'
133+ message = '<ul><li><b>Assign to:</b> %s </li>'%(partner_name)
134+ if len(leads) == 1:
135+ message += '<li><b>Lead: <a href="%s">%s</a> </b> </li>'%(link,lead.name)
136+ else:
137+ message += '<li><b>Leads: %s</li>'%(child_message)
138+ message += '</b></li></ul>'
139+ return message
140+
141 def get_lead_portal_url(self, cr, uid, lead_id, type, context=None):
142 action = type == 'opportunity' and 'action_portal_opportunities' or 'action_portal_leads'
143 try:

Subscribers

People subscribed via source and target branches

to all changes: