diff --git a/addons/crm_partner_assign/crm_lead.py b/addons/crm_partner_assign/crm_lead.py index 6eb290f9683..1118bbb787f 100644 --- a/addons/crm_partner_assign/crm_lead.py +++ b/addons/crm_partner_assign/crm_lead.py @@ -40,3 +40,10 @@ class crm_lead(osv.osv): for salesman_id, lead_ids in salesmans_leads.items(): salesteam_id = self.on_change_user(cr, uid, lead_ids, salesman_id, context=None)['value'].get('team_id') self.write(cr, uid, lead_ids, {'user_id': salesman_id, 'team_id': salesteam_id}, context=context) + + def set_tag_assign(self, cr, uid, ids, assign, context=None): + ASSIGNED = 'tag_portal_lead_assigned' + RECYCLE = 'tag_portal_lead_recycle' + tag_to_add = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'crm_partner_assign', assign and ASSIGNED or RECYCLE)[1] + tag_to_rem = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'crm_partner_assign', assign and RECYCLE or ASSIGNED)[1] + self.write(cr, uid, ids, {'tag_ids': [(3, tag_to_rem, False), (4, tag_to_add, False)]}, context=context) diff --git a/addons/crm_partner_assign/crm_partner_assign_data.xml b/addons/crm_partner_assign/crm_partner_assign_data.xml index 10554922e77..a9cba4b6c42 100644 --- a/addons/crm_partner_assign/crm_partner_assign_data.xml +++ b/addons/crm_partner_assign/crm_partner_assign_data.xml @@ -1,15 +1,13 @@ - + Assigned - - + 3 - + To Recycle - - + 3 Lead Mass Mail diff --git a/addons/crm_partner_assign/report/crm_lead_report.py b/addons/crm_partner_assign/report/crm_lead_report.py index 0acb94003a8..e9da0910f75 100644 --- a/addons/crm_partner_assign/report/crm_lead_report.py +++ b/addons/crm_partner_assign/report/crm_lead_report.py @@ -27,7 +27,7 @@ class crm_lead_report_assign(osv.osv): 'probability_max': fields.float('Max Probability',digits=(16,2),readonly=True, group_operator="max"), 'planned_revenue': fields.float('Planned Revenue',digits=(16,2),readonly=True), 'probable_revenue': fields.float('Probable Revenue', digits=(16,2),readonly=True), - 'stage_id': fields.many2one ('crm.stage', 'Stage', domain="[('team_ids', '=', team_id)]"), + 'tag_ids': fields.many2many('crm.lead.tag', 'crm_lead_tag_rel', 'lead_id', 'tag_id', 'Tags'), 'partner_id': fields.many2one('res.partner', 'Customer' , readonly=True), 'opening_date': fields.datetime('Opening Date', readonly=True), 'date_closed': fields.datetime('Close Date', readonly=True), @@ -56,7 +56,6 @@ class crm_lead_report_assign(osv.osv): c.user_id, c.probability, c.probability as probability_max, - c.stage_id, c.type, c.company_id, c.priority, diff --git a/addons/crm_partner_assign/report/crm_lead_report_view.xml b/addons/crm_partner_assign/report/crm_lead_report_view.xml index cccb7694a5b..40535c64f44 100644 --- a/addons/crm_partner_assign/report/crm_lead_report_view.xml +++ b/addons/crm_partner_assign/report/crm_lead_report_view.xml @@ -15,8 +15,6 @@ - - @@ -26,7 +24,6 @@ context="{'group_by':'user_id'}" /> - @@ -42,7 +39,6 @@ crm.lead.report.assign - @@ -58,7 +54,6 @@ - diff --git a/addons/crm_partner_assign/wizard/crm_channel_interested.py b/addons/crm_partner_assign/wizard/crm_channel_interested.py index 76dc52b30f3..ac9bd931464 100644 --- a/addons/crm_partner_assign/wizard/crm_channel_interested.py +++ b/addons/crm_partner_assign/wizard/crm_channel_interested.py @@ -30,7 +30,6 @@ class crm_lead_forward_to_partner(osv.TransientModel): message = _('

I am interested by this lead.

') values = {} else: - stage = 'stage_portal_lead_recycle' if wizard.contacted: message = _('

I am not interested by this lead. I contacted the lead.

') else: @@ -39,18 +38,13 @@ class crm_lead_forward_to_partner(osv.TransientModel): user = self.pool.get('res.users').browse(cr, uid, uid, context=context) partner_ids = self.pool.get('res.partner').search(cr, SUPERUSER_ID, [('id', 'child_of', user.partner_id.commercial_partner_id.id)], context=context) lead_obj.message_unsubscribe(cr, SUPERUSER_ID, context.get('active_ids', []), partner_ids, context=None) - try: - stage_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'crm_partner_assign', stage)[1] - except ValueError: - stage_id = False - if stage_id: - values.update({'stage_id': stage_id}) if wizard.comment: message += '

%s

' % wizard.comment for active_id in context.get('active_ids', []): lead_obj.message_post(cr, uid, active_id, body=message, subtype="mail.mt_comment", context=context) if values: lead_obj.write(cr, SUPERUSER_ID, context.get('active_ids', []), values) + lead_obj.set_tag_assign(cr, SUPERUSER_ID, context.get('active_ids', []), False) if wizard.interested: for lead in lead_obj.browse(cr, uid, context.get('active_ids', []), context=context): lead_obj.convert_opportunity(cr, SUPERUSER_ID, [lead.id], lead.partner_id and lead.partner_id.id or None, context=None) diff --git a/addons/crm_partner_assign/wizard/crm_forward_to_partner.py b/addons/crm_partner_assign/wizard/crm_forward_to_partner.py index 3ecb330d6d3..627e9123e09 100644 --- a/addons/crm_partner_assign/wizard/crm_forward_to_partner.py +++ b/addons/crm_partner_assign/wizard/crm_forward_to_partner.py @@ -96,12 +96,6 @@ class crm_lead_forward_to_partner(osv.TransientModel): partner_leads['leads'].append(lead_details) else: partners_leads[partner.id] = {'partner': partner, 'leads': [lead_details]} - stage_id = False - if record.assignation_lines and record.assignation_lines[0].lead_id.type == 'lead': - try: - stage_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'crm_partner_assign', 'stage_portal_lead_assigned')[1] - except ValueError: - pass for partner_id, partner_leads in partners_leads.items(): in_portal = False @@ -115,9 +109,9 @@ class crm_lead_forward_to_partner(osv.TransientModel): email_template_obj.send_mail(cr, uid, template_id, ids[0], context=local_context) lead_ids = [lead['lead_id'].id for lead in partner_leads['leads']] values = {'partner_assigned_id': partner_id, 'user_id': partner_leads['partner'].user_id.id} - if stage_id: - values['stage_id'] = stage_id lead_obj.write(cr, uid, lead_ids, values) + lead_obj.set_tag_assign(cr, uid, lead_ids, True) + self.pool.get('crm.lead').message_subscribe(cr, uid, lead_ids, [partner_id], context=context) return True