bzr revid: fp@tinyerp.com-20100921083659-asr13u4eyzjdr4sb
This commit is contained in:
Fabien Pinckaers
2010-09-21 10:36:59 +02:00
parent c54c4dd3e6
commit a80287f260
11 changed files with 64 additions and 46 deletions
-2
View File
@@ -149,8 +149,6 @@ class crm_lead(crm_case, osv.osv):
\nWhen the case is over, the state is set to \'Done\'.\
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
'partner_assigned_id': fields.many2one('res.partner', 'Assigned Partner', help="Partner this case has been forwarded/assigned to.", select=True),
'date_assign': fields.date('Assignation Date', help="Last date this case was forwarded/assigned to a partner"),
}
_defaults = {
-13
View File
@@ -152,19 +152,6 @@ class crm_opportunity(osv.osv):
return {'value':{}}
return {'value':{'probability': stage.probability}}
def onchange_assign_id(self, cr, uid, ids, partner_assigned_id, context={}):
"""This function updates the "assignation date" automatically, when manually assign a partner in the geo assign tab
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param ids: List of stage’s IDs
@stage_id: change state id on run time """
if not partner_assigned_id:
return {'value':{'date_assign': False}}
else:
return {'value':{'date_assign': time.strftime('%Y-%m-%d')}}
_defaults = {
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.lead', context=c),
'priority': crm.AVAILABLE_PRIORITIES[2][0],
-15
View File
@@ -197,21 +197,6 @@
<field name="ref"/>
<field name="ref2"/>
</page>
<page string="Assignation" groups="base.group_extended">
<group name="partner_assign_group" col="5" colspan="4">
<separator string="Partner Assignation" colspan="5"/>
<field name="partner_assigned_id" on_change="onchange_assign_id(partner_assigned_id)"/>
<field name="date_assign"/>
<group colspan="1" col="1">
<button string="Forward"
attrs="{'invisible':[('partner_assigned_id','=',False)]}"
name="%(crm_lead_forward_to_partner_act)d"
icon="terp-mail-forward" type="action"
context="{'default_name': 'partner', 'default_partner_id': partner_assigned_id}"
/>
</group>
</group>
</page>
</notebook>
</form>
</field>
-2
View File
@@ -31,8 +31,6 @@ class res_partner(osv.osv):
'Meetings'),
'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id',\
'Phonecalls'),
'opportunity_assigned_ids': fields.one2many('crm.lead', 'partner_assigned_id',\
'Assigned Opportunities'),
}
res_partner()
-1
View File
@@ -20,7 +20,6 @@
##############################################################################
import crm_send_email
import crm_forward_to_partner
import crm_add_note
import crm_lead_to_partner
+2 -1
View File
@@ -30,9 +30,10 @@ based on geolocalization.
""",
'author': 'OpenERP SA',
'depends': ['crm'],
'data': [
'update_xml': [
'res_partner_view.xml',
'crm_lead_view.xml',
'wizard/crm_forward_to_partner_view.xml',
],
'installable': True,
'active': False,
+22 -10
View File
@@ -8,19 +8,31 @@
<field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
<field name="arch" type="xml">
<data>
<xpath expr="//notebook[last()]/page[@string='Assignation']/group[@name='partner_assign_group']" position="after">
<group name="geo_assign_group" col="5" colspan="4">
<separator string="Geo Assignation" colspan="5"/>
<field name="partner_latitude"/>
<field name="partner_longitude"/>
<xpath expr="//notebook[last()]" position="inside">
<page string="Assignation" groups="base.group_extended">
<group name="partner_assign_group" col="5" colspan="4">
<separator string="Partner Assignation" colspan="5"/>
<field name="partner_assigned_id" on_change="onchange_assign_id(partner_assigned_id)" domain="[('partner_weight','&gt;',0)]"/>
<field name="date_assign"/>
<group colspan="1" col="1">
<button string="Geo Assign" name="assign_partner" type="object" colspan="1"
icon="gtk-apply"/>
<button string="Forward"
attrs="{'invisible':[('partner_assigned_id','=',False)]}"
name="%(crm_lead_forward_to_partner_act)d"
icon="terp-mail-forward" type="action"
context="{'default_name': 'partner', 'default_partner_id': partner_assigned_id}"
/>
</group>
<group name="geo_assign_group" col="5" colspan="4">
<separator string="Geo Assignation" colspan="5"/>
<field name="partner_latitude"/>
<field name="partner_longitude"/>
<group colspan="1" col="1">
<button string="Geo Assign" name="assign_partner" type="object" colspan="1"
icon="gtk-apply"/>
</group>
</group>
</group>
</xpath>
<xpath expr="//notebook[last()]/page[@string='Assignation']/group[@name='partner_assign_group']/field[@name='partner_assigned_id']" position="attributes">
<attribute name="domain">[('partner_weight','&gt;',0)]</attribute>
</page>
</xpath>
</data>
</field>
@@ -49,6 +49,8 @@ class res_partner(osv.osv):
'date_localization': fields.date('Geo Localization Date'),
'partner_weight': fields.integer('Weight',
help="Gives the probability to assign a lead to this partner. (0 means no assignation.)"),
'opportunity_assigned_ids': fields.one2many('crm.lead', 'partner_assigned_id',\
'Assigned Opportunities'),
}
_defaults = {
'partner_weight': lambda *args: 0
@@ -74,7 +76,21 @@ class crm_lead(osv.osv):
_columns = {
'partner_latitude': fields.float('Geo Latitude'),
'partner_longitude': fields.float('Geo Longitude'),
'partner_assigned_id': fields.many2one('res.partner', 'Assigned Partner', help="Partner this case has been forwarded/assigned to.", select=True),
'date_assign': fields.date('Assignation Date', help="Last date this case was forwarded/assigned to a partner"),
}
def onchange_assign_id(self, cr, uid, ids, partner_assigned_id, context={}):
"""This function updates the "assignation date" automatically, when manually assign a partner in the geo assign tab
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param ids: List of stage’s IDs
@stage_id: change state id on run time """
if not partner_assigned_id:
return {'value':{'date_assign': False}}
else:
return {'value':{'date_assign': time.strftime('%Y-%m-%d')}}
def assign_partner(self, cr, uid, ids, context=None):
ok = False
@@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# 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/>.
#
##############################################################################
import crm_forward_to_partner
@@ -5,7 +5,7 @@
<field name="name">crm_lead_forward_to_partner</field>
<field name="model">crm.lead.forward.to.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="crm_send_new_mail_view"/>
<field name="inherit_id" ref="crm.crm_send_new_mail_view"/>
<field name="arch" type="xml">
<field name="email_from" position="before">
<separator string="Forward to Partner" colspan="4" />
@@ -31,7 +31,7 @@
<field name="name">crm_lead_forward_to_partner1</field>
<field name="model">crm.lead.forward.to.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="crm_send_new_mail_view"/>
<field name="inherit_id" ref="crm.crm_send_new_mail_view"/>
<field name="arch" type="xml">
<button name="action_send" position="replace">
<button name="action_forward" string="Forward" icon="gtk-go-forward" type="object" />