diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index adf15e93a89..0fe3d2bc44b 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -201,7 +201,7 @@ class crm_lead(base_stage, osv.osv):
'email_cc': fields.text('Global CC', size=252 , help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
'description': fields.text('Notes'),
'write_date': fields.datetime('Update Date' , readonly=True),
- 'categ_id': fields.many2one('crm.case.categ', 'Category', \
+ 'categ_ids': fields.many2many('crm.case.categ', 'crm_lead_category_rel', 'lead_id', 'category_id', 'Categories', \
domain="['|',('section_id','=',section_id),('section_id','=',False), ('object_id.model', '=', 'crm.lead')]"),
'type_id': fields.many2one('crm.case.resource.type', 'Campaign', \
domain="['|',('section_id','=',section_id),('section_id','=',False)]", help="From which campaign (seminar, marketing campaign, mass mailing, ...) did this contact come from?"),
diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml
index cbb5e0d8bb9..7ed3bc2a86b 100644
--- a/addons/crm/crm_lead_demo.xml
+++ b/addons/crm/crm_lead_demo.xml
@@ -39,7 +39,7 @@
-
+
@@ -56,7 +56,7 @@
-
+
@@ -91,7 +91,7 @@
-
+
@@ -111,7 +111,7 @@
-
+
@@ -130,7 +130,7 @@
-
+
@@ -143,7 +143,7 @@
-
+
@@ -161,7 +161,7 @@
-
+
@@ -189,7 +189,7 @@
-
+
@@ -202,7 +202,7 @@
-
+
@@ -234,7 +234,7 @@
-
+
@@ -249,7 +249,7 @@
-
+
@@ -271,7 +271,7 @@
-
+
@@ -345,7 +345,7 @@
-
+
@@ -368,7 +368,7 @@
-
+
@@ -391,7 +391,7 @@
-
+
@@ -407,7 +407,7 @@
-
+
@@ -429,7 +429,7 @@
-
+
@@ -442,7 +442,7 @@
-
+
@@ -456,7 +456,7 @@
-
+
@@ -478,7 +478,7 @@
-
+
@@ -499,7 +499,7 @@
-
+
@@ -518,7 +518,7 @@
-
+
@@ -529,7 +529,7 @@
-
+
diff --git a/addons/crm/crm_lead_menu.xml b/addons/crm/crm_lead_menu.xml
index b4071b62058..5f0912f058c 100644
--- a/addons/crm/crm_lead_menu.xml
+++ b/addons/crm/crm_lead_menu.xml
@@ -37,7 +37,7 @@
Opportunities
crm.lead
- kanban,tree,form,graph,calendar
+ kanban,tree,form,calendar
[('type','=','opportunity')]
{'stage_type': 'opportunity', 'default_type': 'opportunity'}
@@ -68,13 +68,6 @@ You and your team(s) will be able to plan meetings and phone calls from opportun
-
-
- graph
-
-
-
-
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index 7fd14980a34..4e073981ce4 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -150,8 +150,8 @@
-
@@ -233,7 +233,6 @@
-
@@ -392,7 +391,6 @@
-
-
+
@@ -594,7 +592,6 @@
-
@@ -646,7 +643,6 @@
-
@@ -665,19 +661,5 @@
-
-
- CRM - Opportunity Graph
- crm.lead
- graph
-
-
-
-
-
-
-
-
-
diff --git a/addons/crm/report/crm_lead_report.py b/addons/crm/report/crm_lead_report.py
index 2ee1f2945f4..da5167da1e6 100644
--- a/addons/crm/report/crm_lead_report.py
+++ b/addons/crm/report/crm_lead_report.py
@@ -85,8 +85,6 @@ class crm_lead_report(osv.osv):
'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg"),
'planned_revenue': fields.float('Planned Revenue',digits=(16,2),readonly=True),
'probable_revenue': fields.float('Probable Revenue', digits=(16,2),readonly=True),
- 'categ_id': fields.many2one('crm.case.categ', 'Category',\
- domain="['|',('section_id','=',False),('section_id','=',section_id)]" , readonly=True),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', readonly=True, domain="[('section_ids', '=', section_id)]"),
'partner_id': fields.many2one('res.partner', 'Partner' , readonly=True),
'nbr': fields.integer('# of Cases', readonly=True),
@@ -134,7 +132,6 @@ class crm_lead_report(osv.osv):
c.section_id,
c.channel_id,
c.type_id,
- c.categ_id,
c.partner_id,
c.country_id,
c.planned_revenue,
diff --git a/addons/crm/report/crm_lead_report_view.xml b/addons/crm/report/crm_lead_report_view.xml
index 142d44432f0..f45b9d621da 100644
--- a/addons/crm/report/crm_lead_report_view.xml
+++ b/addons/crm/report/crm_lead_report_view.xml
@@ -16,7 +16,6 @@
-
@@ -114,7 +113,6 @@
-
@@ -140,8 +138,6 @@
-
-
diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml
index 1350fa11f16..7d4abb8cb6e 100644
--- a/addons/crm/res_partner_view.xml
+++ b/addons/crm/res_partner_view.xml
@@ -93,12 +93,6 @@
-
-
- graph
-
-
-
diff --git a/addons/crm_partner_assign/report/crm_lead_report.py b/addons/crm_partner_assign/report/crm_lead_report.py
index 7d9733581a7..a2d6bbac2dd 100644
--- a/addons/crm_partner_assign/report/crm_lead_report.py
+++ b/addons/crm_partner_assign/report/crm_lead_report.py
@@ -61,8 +61,6 @@ 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),
- 'categ_id': fields.many2one('crm.case.categ', 'Category',\
- domain="[('section_id','=',section_id)]" , readonly=True),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"),
'partner_id': fields.many2one('res.partner', 'Customer' , readonly=True),
'opening_date': fields.date('Opening Date', readonly=True),
@@ -103,7 +101,6 @@ class crm_lead_report_assign(osv.osv):
c.company_id,
c.priority,
c.section_id,
- c.categ_id,
c.partner_id,
c.country_id,
c.planned_revenue,
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 a34a9139c3c..a9a0cf75d25 100644
--- a/addons/crm_partner_assign/report/crm_lead_report_view.xml
+++ b/addons/crm_partner_assign/report/crm_lead_report_view.xml
@@ -29,7 +29,6 @@
-
@@ -49,8 +48,6 @@
context="{'group_by':'section_id'}" />
-
@@ -115,7 +112,6 @@
-
diff --git a/addons/sale_crm/sale_crm.py b/addons/sale_crm/sale_crm.py
index 0072730ab4d..b6d5ec25ce1 100644
--- a/addons/sale_crm/sale_crm.py
+++ b/addons/sale_crm/sale_crm.py
@@ -26,7 +26,7 @@ class sale_order(osv.osv):
_columns = {
'section_id': fields.many2one('crm.case.section', 'Sales Team'),
- 'categ_id': fields.many2one('crm.case.categ', 'Category', \
+ 'categ_ids': fields.many2many('crm.case.categ', 'sale_order_category_rel', 'order_id', 'category_id', 'Categories', \
domain="['|',('section_id','=',section_id),('section_id','=',False), ('object_id.model', '=', 'crm.lead')]")
}
diff --git a/addons/sale_crm/sale_crm_view.xml b/addons/sale_crm/sale_crm_view.xml
index 0c46f0ae704..d6b7f28d049 100644
--- a/addons/sale_crm/sale_crm_view.xml
+++ b/addons/sale_crm/sale_crm_view.xml
@@ -24,7 +24,7 @@
-
+
diff --git a/addons/sale_crm/wizard/crm_make_sale.py b/addons/sale_crm/wizard/crm_make_sale.py
index 823d8d6ab07..83d7a0a7783 100644
--- a/addons/sale_crm/wizard/crm_make_sale.py
+++ b/addons/sale_crm/wizard/crm_make_sale.py
@@ -86,11 +86,11 @@ class crm_make_sale(osv.osv_memory):
pricelist = partner.property_product_pricelist.id
if False in partner_addr.values():
raise osv.except_osv(_('Data Insufficient!'), _('Customer has no addresses defined!'))
-
+
vals = {
'origin': _('Opportunity: %s') % str(case.id),
'section_id': case.section_id and case.section_id.id or False,
- 'categ_id': case.categ_id and case.categ_id.id or False,
+ 'categ_ids': [(6, 0, [categ_id.id for categ_id in case.categ_ids])],
'shop_id': make.shop_id.id,
'partner_id': partner.id,
'pricelist_id': pricelist,