[FIX]crm_channel: missing files (bzr add forget) + sequence of stage + remove of useless data from crm

bzr revid: dle@openerp.com-20130620152147-uic86m8pbq3x471u
This commit is contained in:
Denis Ledoux 2013-06-20 17:21:47 +02:00
parent d144d320ec
commit 1b96cdd626
4 changed files with 124 additions and 9 deletions

View File

@ -189,13 +189,6 @@
<field name="parent_id" eval="ref('mt_lead_create')"/>
<field name="relation_field">section_id</field>
</record>
<record id="mt_salesteam_lead_opportunity" model="mail.message.subtype">
<field name="name">Lead to Opportunity</field>
<field name="default" eval="False"/>
<field name="res_model">crm.case.section</field>
<field name="parent_id" eval="ref('mt_lead_convert_to_opportunity')"/>
<field name="relation_field">section_id</field>
</record>
<record id="mt_salesteam_lead_stage" model="mail.message.subtype">
<field name="name">Opportunity Stage Changed</field>
<field name="res_model">crm.case.section</field>

View File

@ -6,14 +6,14 @@
<field name="name">Assigned</field>
<field eval="1" name="case_default"/>
<field eval="0" name="probability"/>
<field eval="4" name="sequence"/>
<field eval="12" name="sequence"/>
<field name="type">lead</field>
</record>
<record model="crm.case.stage" id="stage_portal_lead_recycle">
<field name="name">To Recycle</field>
<field eval="1" name="case_default"/>
<field eval="0" name="probability"/>
<field eval="6" name="sequence"/>
<field eval="11" name="sequence"/>
<field name="type">lead</field>
</record>
</data>

View File

@ -0,0 +1,77 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp import SUPERUSER_ID
class crm_lead_forward_to_partner(osv.TransientModel):
""" Forward info history to partners. """
_name = 'crm.lead.channel.interested'
_columns = {
'interested': fields.boolean('Interested by this lead'),
'contacted': fields.boolean('Did you contact the lead?', help="The lead has been contacted"),
'comment': fields.text('Comment', help="What are the elements that have led to this decision?", required=True),
}
_defaults = {
'interested': lambda self, cr, uid, c: c.get('interested', True),
'contacted': False,
}
def action_confirm(self, cr, uid, ids, context=None):
wizard = self.browse(cr, uid, ids[0], context=context)
if wizard.interested and not wizard.contacted:
raise osv.except_osv(_('Error!'), _("You must contact the lead before saying that you are interested"))
lead_obj = self.pool.get('crm.lead')
lead_obj.check_access_rights(cr, uid, 'write')
if wizard.interested:
message = _('<p>I am interested by this lead.</p>')
values = {}
else:
stage = 'stage_portal_lead_recycle'
message = _('<p>I am not interested by this lead. I %scontacted the lead.</p>') % (not wizard.contacted and 'have not ' or '')
values = {'partner_assigned_id': False}
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
partner_id = user.parent_id.id or user.partner_id.id
partner_ids = self.pool.get('res.partner').search(cr, SUPERUSER_ID, ['|', ('id', '=', partner_id), ('parent_id', '=', partner_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_channel', stage)[1]
except ValueError:
stage_id = False
if stage_id:
values.update({'stage_id': stage_id})
if wizard.comment:
message += '<p>%s</p>' % wizard.comment
lead_obj.message_post(cr, uid, context.get('active_ids'), body=message, context=context)
if values:
lead_obj.write(cr, SUPERUSER_ID, context.get('active_ids'), values)
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)
return {
'type': 'ir.actions.client',
'tag': 'next_or_list',
'params': {
},
}

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="crm_lead_channel_interested_form">
<field name="name">crm_lead_channel_interested</field>
<field name="model">crm.lead.channel.interested</field>
<field name="arch" type="xml">
<form string="Send Mail" version="7.0">
<group col="1">
<field name="interested" nolabel="1" invisible="1"/>
<div>
<div invisible="context.get('interested', True)">
<label for="comment" string="Why aren't you interested by this lead?" />
</div>
<div invisible="not context.get('interested', True)">
<label for="comment" string="What is the next action? When? What is the expected revenue?" />
</div>
</div>
<field name="comment" nolabel="1"/>
<div class="oe_inline">
<field name="contacted" nolabel="1" string="Do you have contacted the customer?"/>
<label for="contacted" />
</div>
<p class="oe_grey" invisible="not context.get('interested', True)">
Once the lead is processed, it will be in your "Opportunities" menu.
</p>
</group>
<footer>
<button name="action_confirm" string="Confirm" type="object" class="oe_highlight"/>
or
<button string="Cancel" special="cancel" class="oe_link"/>
</footer>
</form>
</field>
</record>
<record model="ir.actions.act_window" id="crm_lead_channel_interested_act">
<field name="name">Lead Feedback</field>
<field name="res_model">crm.lead.channel.interested</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="crm_lead_channel_interested_form"/>
<field name="target">new</field>
</record>
</data>
</openerp>