diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 606895e27a6..5c7fdb08522 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -154,6 +154,8 @@ and users"),
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('history', '=', True),('model','=',_name)], readonly=True),
'log_ids': fields.one2many('mailgate.message', 'res_id', 'Logs', domain=[('history', '=', False),('model','=',_name)], readonly=True),
+ '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 = {
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index 590aa9931ee..bcc72d74042 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -193,11 +193,10 @@
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.lead'}"
icon="gtk-go-forward" type="action" />
-
-
diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml
index 5bbe4feed35..700eb4cba5c 100644
--- a/addons/crm/crm_opportunity_view.xml
+++ b/addons/crm/crm_opportunity_view.xml
@@ -190,6 +190,21 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/crm/res_partner.py b/addons/crm/res_partner.py
index 2dbae32ad98..db7069af4db 100644
--- a/addons/crm/res_partner.py
+++ b/addons/crm/res_partner.py
@@ -26,11 +26,13 @@ class res_partner(osv.osv):
_inherit = 'res.partner'
_columns = {
'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\
- 'Leads and Opportunities'),
+ 'Leads and Opportunities'),
'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\
- 'Meetings'),
+ 'Meetings'),
'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id',\
- 'Phonecalls'),
+ 'Phonecalls'),
+ 'opportunity_assigned_ids': fields.one2many('crm.lead', 'partner_assigned_id',\
+ 'Assigned Opportunities'),
}
res_partner()
diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml
index 3ae772b2b85..3b23c53efad 100644
--- a/addons/crm/res_partner_view.xml
+++ b/addons/crm/res_partner_view.xml
@@ -44,6 +44,39 @@
icon="gtk-cancel" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/crm/wizard/crm_forward_to_partner.py b/addons/crm/wizard/crm_forward_to_partner.py
index 1e323eddedb..1a6e1fb505b 100644
--- a/addons/crm/wizard/crm_forward_to_partner.py
+++ b/addons/crm/wizard/crm_forward_to_partner.py
@@ -22,6 +22,7 @@
import base64
import itertools
+import time
from osv import osv, fields
import tools
@@ -218,6 +219,10 @@ class crm_lead_forward_to_partner(osv.osv_memory):
if result:
case_pool.history(cr, uid, [case], _('Forward'), history=True, email=this.email_to, subject=this.subject, details=body, email_from=email_from, attach=attach)
+ to_write = {'date_assign': time.strftime('%Y-%m-%d')}
+ if (this.name == 'partner' and this.partner_id):
+ to_write['partner_assigned_id'] = this.partner_id.id
+ case_pool.write(cr, uid, case.id, to_write)
else:
raise osv.except_osv(_('Error!'), _('Unable to send mail. Please check SMTP is configured properly.'))
diff --git a/addons/partner_geo_assign/__openerp__.py b/addons/partner_geo_assign/__openerp__.py
index 2d18649236e..ccfe6ba7c45 100644
--- a/addons/partner_geo_assign/__openerp__.py
+++ b/addons/partner_geo_assign/__openerp__.py
@@ -26,12 +26,14 @@
'category': 'Generic Modules/Production',
'description': """
This is the module used by OpenERP SA to redirect customers to his partners,
-based on geolocalisation.
+based on geolocalization.
""",
'author': 'OpenERP SA',
'depends': ['crm'],
- 'update_xml': ['res_partner_view.xml'],
- 'demo_xml': [],
+ 'data': [
+ 'res_partner_view.xml',
+ 'crm_lead_view.xml',
+ ],
'installable': True,
'active': False,
'certificate': False,
diff --git a/addons/partner_geo_assign/partner_geo_assign.py b/addons/partner_geo_assign/partner_geo_assign.py
index 97bca0b1073..0134dd04e72 100644
--- a/addons/partner_geo_assign/partner_geo_assign.py
+++ b/addons/partner_geo_assign/partner_geo_assign.py
@@ -39,14 +39,14 @@ def geo_find(addr):
except Exception, e:
raise osv.except_osv(_('Network error'),
_('Could not contact geolocation servers, please make sure you have a working internet connection (%s)') % e)
-
+
class res_partner(osv.osv):
_inherit = "res.partner"
_columns = {
'partner_latitude': fields.float('Geo Latitude'),
'partner_longitude': fields.float('Geo Longitude'),
- 'date_assign': fields.date('Assignation Date'),
+ '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.)"),
}
@@ -64,7 +64,7 @@ class res_partner(osv.osv):
self.write(cr, uid, [partner.id], {
'partner_latitude': result[0],
'partner_longitude': result[1],
- 'date_assign': time.strftime('%Y-%m-%d')
+ 'date_localization': time.strftime('%Y-%m-%d')
}, context=context)
return True
res_partner()
@@ -74,33 +74,7 @@ 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'),
- 'date_assign': fields.date('Assignation Date')
}
- def forward_to_partner(self, cr, uid, ids, context=None):
- fobj = self.pool.get('crm.lead.forward.to.partner')
- for lead in self.browse(cr, uid, ids, context=context):
- context = {'active_id': lead.id, 'active_ids': [lead.id], 'active_model': 'crm.lead'}
- if lead.partner_assigned_id:
- email = False
- if lead.partner_assigned_id.address:
- email = lead.partner_assigned_id.address[0].email
- if not email:
- raise osv.except_osv(_('Error !'), _('No email on the partner assigned to this opportunity'))
-
- values = fobj.default_get(cr, uid, ['name', 'email_from'], context=context)
- if not values.get('email_from'):
- raise osv.except_osv(_('Error !'), _('Please set an email address in your user preferences'))
- values.update({
- 'history': 'whole',
- 'email_to': email,
- 'message': fobj._get_case_history(cr, uid, 'whole', lead.id, context) or False,
- })
- forward = fobj.create(cr, uid, values, context)
- fobj.action_forward(cr, uid, [forward], context)
- else:
- raise osv.except_osv(_('Error !'), _('No partner assigned to this opportunity'))
- return True
def assign_partner(self, cr, uid, ids, context=None):
ok = False
diff --git a/addons/partner_geo_assign/res_partner_view.xml b/addons/partner_geo_assign/res_partner_view.xml
index 26322f23495..f9310fdfbd0 100644
--- a/addons/partner_geo_assign/res_partner_view.xml
+++ b/addons/partner_geo_assign/res_partner_view.xml
@@ -1,33 +1,6 @@
-
- crm.lead.geo_assign.inherit
- crm.lead
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
res.partner.geo.inherit
res.partner
@@ -35,7 +8,7 @@
-
+
-
+
-