summaryrefslogtreecommitdiff
path: root/addons/crm
diff options
context:
space:
mode:
authorJulien De Coster <jdc@odoo.com>2014-08-12 14:54:26 +0530
committerJulien De Coster <jdc@odoo.com>2014-12-17 17:14:33 +0100
commitddac26cdbb3535239f5dbb41f5b464366065f3ba (patch)
treeb54e4d34060f1c7f80a8c6404f7f4fd56d914e52 /addons/crm
parent7f97bf4ec07329e58c818632bf23017b390bb099 (diff)
[ADD] Add the website_links module.
This module tracks clicks in mass mailing mails and allow the generation of trackable links in a website interface. Modules modifications --------------------- Refractoring of the crm_tracking_* classes in a new module. * Extract the crm_tracking_* from the crm module into a new module "utm" * Remove the crm_mass_mailing bridge module * New dependencies of mass_mailing and website_links to utm.
Diffstat (limited to 'addons/crm')
-rw-r--r--addons/crm/crm.py78
-rw-r--r--addons/crm/crm_data.xml39
-rw-r--r--addons/crm/crm_lead.py2
-rw-r--r--addons/crm/crm_lead_data.xml19
-rw-r--r--addons/crm/crm_lead_demo.xml144
-rw-r--r--addons/crm/crm_view.xml128
-rw-r--r--addons/crm/ir_http.py2
-rw-r--r--addons/crm/report/crm_lead_report.py2
-rw-r--r--addons/crm/report/crm_opportunity_report.py2
-rw-r--r--addons/crm/security/ir.model.access.csv6
10 files changed, 77 insertions, 345 deletions
diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index 45f84b899ad..86efc8a4607 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -29,84 +29,6 @@ AVAILABLE_PRIORITIES = [
('3', 'Very High'),
]
-
-class crm_tracking_medium(osv.Model):
- # OLD crm.case.channel
- _name = "crm.tracking.medium"
- _description = "Channels"
- _order = 'name'
- _columns = {
- 'name': fields.char('Channel Name', required=True),
- 'active': fields.boolean('Active'),
- }
- _defaults = {
- 'active': lambda *a: 1,
- }
-
-
-class crm_tracking_campaign(osv.Model):
- # OLD crm.case.resource.type
- _name = "crm.tracking.campaign"
- _description = "Campaign"
- _rec_name = "name"
- _columns = {
- 'name': fields.char('Campaign Name', required=True, translate=True),
- 'team_id': fields.many2one('crm.team', 'Sales Team', oldname='section_id'),
- }
-
-
-class crm_tracking_source(osv.Model):
- _name = "crm.tracking.source"
- _description = "Source"
- _rec_name = "name"
- _columns = {
- 'name': fields.char('Source Name', required=True, translate=True),
- }
-
-
-class crm_tracking_mixin(osv.AbstractModel):
- """Mixin class for objects which can be tracked by marketing. """
- _name = 'crm.tracking.mixin'
-
- _columns = {
- 'campaign_id': fields.many2one('crm.tracking.campaign', 'Campaign', # old domain ="['|',('team_id','=',team_id),('team_id','=',False)]"
- help="This is a name that helps you keep track of your different campaign efforts Ex: Fall_Drive, Christmas_Special"),
- 'source_id': fields.many2one('crm.tracking.source', 'Source', help="This is the source of the link Ex: Search Engine, another domain, or name of email list"),
- 'medium_id': fields.many2one('crm.tracking.medium', 'Channel', help="This is the method of delivery. Ex: Postcard, Email, or Banner Ad", oldname='channel_id'),
- }
-
- def tracking_fields(self):
- return [('utm_campaign', 'campaign_id'), ('utm_source', 'source_id'), ('utm_medium', 'medium_id')]
-
- def tracking_get_values(self, cr, uid, vals, context=None):
- for key, fname in self.tracking_fields():
- field = self._fields[fname]
- value = vals.get(fname) or (request and request.httprequest.cookies.get(key)) # params.get should be always in session by the dispatch from ir_http
- if field.type == 'many2one' and isinstance(value, basestring):
- # if we receive a string for a many2one, we search/create the id
- if value:
- Model = self.pool[field.comodel_name]
- rel_id = Model.name_search(cr, uid, value, context=context)
- if rel_id:
- rel_id = rel_id[0][0]
- else:
- rel_id = Model.create(cr, uid, {'name': value}, context=context)
- vals[fname] = rel_id
- else:
- # Here the code for others cases that many2one
- vals[fname] = value
- return vals
-
- def _get_default_track(self, cr, uid, field, context=None):
- return self.tracking_get_values(cr, uid, {}, context=context).get(field)
-
- _defaults = {
- 'source_id': lambda self, cr, uid, ctx: self._get_default_track(cr, uid, 'source_id', ctx),
- 'campaign_id': lambda self, cr, uid, ctx: self._get_default_track(cr, uid, 'campaign_id', ctx),
- 'medium_id': lambda self, cr, uid, ctx: self._get_default_track(cr, uid, 'medium_id', ctx),
- }
-
-
class crm_stage(osv.Model):
""" Model for case stages. This models the main stages of a document
management flow. Main CRM objects (leads, opportunities, project
diff --git a/addons/crm/crm_data.xml b/addons/crm/crm_data.xml
index 98abcbf6e23..6d658f3f972 100644
--- a/addons/crm/crm_data.xml
+++ b/addons/crm/crm_data.xml
@@ -13,45 +13,6 @@
<field name="state">open</field>
</record>
-
- <!-- Crm Source -->
- <record model="crm.tracking.source" id="crm_source_search_engine">
- <field name="name">Search engine</field>
- </record>
- <record model="crm.tracking.source" id="crm_source_mailing">
- <field name="name">Mailing Partner</field>
- </record>
- <record model="crm.tracking.source" id="crm_source_newsletter">
- <field name="name">Newsletter</field>
- </record>
-
- <!-- Crm Medium -->
- <record model="crm.tracking.medium" id="crm_medium_website">
- <field name="name">Website</field>
- </record>
- <record model="crm.tracking.medium" id="crm_medium_phone">
- <field name="name">Phone</field>
- </record>
- <record model="crm.tracking.medium" id="crm_medium_direct">
- <field name="name">Direct</field>
- </record>
- <record model="crm.tracking.medium" id="crm_medium_email">
- <field name="name">Email</field>
- </record>
- <record model="crm.tracking.medium" id="crm_medium_banner">
- <field name="name">Banner Ad</field>
- </record>
- <record model="crm.tracking.medium" id="crm_medium_twitter">
- <field name="name">Twitter Ads</field>
- </record>
- <record model="crm.tracking.medium" id="crm_medium_television">
- <field name="name">Television</field>
- </record>
- <record model="crm.tracking.medium" id="crm_medium_google_adwords">
- <field name="name">Google Adwords</field>
- </record>
-
-
<record model="crm.team" id="sales_team.team_sales_department">
<field name="use_leads">True</field>
<field name="alias_name">sales</field>
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index e259de4cb44..6c51afa6a41 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -70,7 +70,7 @@ class crm_lead(format_address, osv.osv):
_name = "crm.lead"
_description = "Lead/Opportunity"
_order = "priority desc,date_action,id desc"
- _inherit = ['mail.thread', 'ir.needaction_mixin', 'crm.tracking.mixin']
+ _inherit = ['mail.thread', 'ir.needaction_mixin', 'utm.mixin']
_track = {
'stage_id': {
diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml
index e10f80a4fbb..b8ee10ac12d 100644
--- a/addons/crm/crm_lead_data.xml
+++ b/addons/crm/crm_lead_data.xml
@@ -67,24 +67,7 @@
(4, ref('stage_lead5')), (4, ref('stage_lead6')),
(4, ref('stage_lead7'))]"/>
</record>
-
- <!-- Crm Campain -->
- <record model="crm.tracking.campaign" id="crm_campaign_fall_drive">
- <field name="name">Fall Drive</field>
- <field name="team_id" ref="sales_team.team_sales_department"/>
- </record>
- <record model="crm.tracking.campaign" id="crm_campaign_christmas_special">
- <field name="name">Christmas Special</field>
- <field name="team_id" ref="sales_team.team_sales_department"/>
- </record>
- <record model="crm.tracking.campaign" id="crm_campaign_email_campaign_services">
- <field name="name">Email Campaign - Services</field>
- <field name="team_id" ref="sales_team.team_sales_department"/>
- </record>
- <record model="crm.tracking.campaign" id="crm_campaign_email_campaign_products">
- <field name="name">Email Campaign - Products</field>
- <field name="team_id" ref="sales_team.team_sales_department"/>
- </record>
+
<!-- crm categories -->
<record model="crm.lead.tag" id="categ_oppor1">
<field name="name">Product</field>
diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml
index a5865b9d3be..92d80d3949b 100644
--- a/addons/crm/crm_lead_demo.xml
+++ b/addons/crm/crm_lead_demo.xml
@@ -25,9 +25,9 @@
I am Jacques from Le Club SARL.
I am interested to attend a training organized in your company.
Could you please send me the details ?</field>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_email"/>
- <field name="source_id" ref="crm_source_mailing"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="utm.utm_source_mailing"/>
</record>
<record id="crm_case_1" model="crm.lead">
<field name="create_date" eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-%d %H:%M')"/>
@@ -57,9 +57,9 @@ Could you please send me the details ?</field>
<field name="team_id" ref="sales_team.team_sales_department"/>
<field name="user_id" ref="base.user_root"/>
<field name="stage_id" ref="stage_lead1"/>
- <field name="campaign_id" ref="crm_campaign_christmas_special"/>
- <field name="medium_id" ref="crm_medium_website"/>
- <field name="source_id" ref="crm_source_newsletter"/>
+ <field name="campaign_id" ref="utm.utm_campaign_christmas_special"/>
+ <field name="medium_id" ref="utm.utm_medium_website"/>
+ <field name="source_id" ref="utm.utm_source_newsletter"/>
</record>
<record id="crm_case_2" model="crm.lead">
<field name="create_date" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
@@ -87,9 +87,9 @@ Could you please send me the details ?</field>
<field name="team_id" ref="sales_team.crm_team_1"/>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="stage_lead1"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_google_adwords"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_google_adwords"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_2" model="crm.lead">
<field name="create_date" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
@@ -109,9 +109,9 @@ Could you please send me the details ?</field>
<field name="team_id" ref="sales_team.crm_team_2"/>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="stage_lead6"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_banner"/>
- <field name="source_id" ref="crm_source_newsletter"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_banner"/>
+ <field name="source_id" ref="utm.utm_source_newsletter"/>
</record>
<record id="crm_case_2" model="crm.lead">
<field name="create_date" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
@@ -143,9 +143,9 @@ Purchase Manager
Stonage IT,
Franklinville
Contact: +1 813 494 5005</field>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_website"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_website"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_6" model="crm.lead">
@@ -163,9 +163,9 @@ Contact: +1 813 494 5005</field>
<field name="team_id" ref="sales_team.crm_team_2"/>
<field name="user_id" ref=""/>
<field name="stage_id" ref="stage_lead1"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_email"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_7" model="crm.lead">
@@ -183,9 +183,9 @@ Contact: +1 813 494 5005</field>
<field name="team_id" ref="sales_team.crm_team_2"/>
<field name="user_id" ref="base.user_root"/>
<field name="stage_id" ref="stage_lead1"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_email"/>
- <field name="source_id" ref="crm_source_newsletter"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="utm.utm_source_newsletter"/>
</record>
<record id="crm_case_8" model="crm.lead">
@@ -203,9 +203,9 @@ Contact: +1 813 494 5005</field>
<field name="team_id" ref="sales_team.team_sales_department"/>
<field name="user_id" ref="base.user_root"/>
<field name="stage_id" ref="stage_lead1"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_google_adwords"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_google_adwords"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_9" model="crm.lead">
@@ -223,9 +223,9 @@ Contact: +1 813 494 5005</field>
<field name="team_id" ref="sales_team.team_sales_department"/>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="stage_lead1"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_email"/>
- <field name="source_id" ref="crm_source_mailing"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="utm.utm_source_mailing"/>
</record>
<record id="crm_case_10" model="crm.lead">
@@ -247,9 +247,9 @@ I would like to know more about specification and cost of laptops of your compan
Thanks,
Andrew</field>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_website"/>
- <field name="source_id" ref="crm_source_newsletter"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_website"/>
+ <field name="source_id" ref="utm.utm_source_newsletter"/>
</record>
<record id="crm_case_11" model="crm.lead">
@@ -266,9 +266,9 @@ Andrew</field>
<field name="team_id" ref="sales_team.crm_team_1"/>
<field name="user_id" ref=""/>
<field name="stage_id" ref="stage_lead1"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_direct"/>
- <field name="source_id" ref="crm_source_mailing"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_direct"/>
+ <field name="source_id" ref="utm.utm_source_mailing"/>
</record>
<record id="crm_case_12" model="crm.lead">
@@ -285,9 +285,9 @@ Andrew</field>
<field name="team_id" ref="sales_team.team_sales_department"/>
<field name="user_id" ref=""/>
<field name="stage_id" ref="stage_lead1"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_website"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_website"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<!-- Call Function to Cancel the leads (set as Dead) -->
@@ -324,9 +324,9 @@ Andrew</field>
<field name="team_id" ref="sales_team.team_sales_department"/>
<field name="user_id" ref="base.user_root"/>
<field name="stage_id" ref="crm.stage_lead1"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_email"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_14" model="crm.lead">
@@ -350,9 +350,9 @@ Andrew</field>
<field name="team_id" ref="sales_team.team_sales_department"/>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="crm.stage_lead3"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_website"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_website"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_15" model="crm.lead">
@@ -374,8 +374,8 @@ Andrew</field>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="crm.stage_lead3"/>
<field name="date_closed" eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-%d %H:%M')"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="source_id" ref="crm_source_newsletter"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="source_id" ref="utm.utm_source_newsletter"/>
</record>
<record id="crm_case_15" model="crm.lead">
<field name="message_follower_ids" eval="[(3, ref('base.partner_root')), (4, ref('base.partner_demo'))]"/>
@@ -402,8 +402,8 @@ Andrew</field>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="crm.stage_lead3"/>
<field name="date_closed" eval="(DateTime.today() - relativedelta(hours=1)).strftime('%Y-%m-%d %H:%M')"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="source_id" ref="crm_source_mailing"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="source_id" ref="utm.utm_source_mailing"/>
</record>
<record id="crm_case_17" model="crm.lead">
@@ -427,9 +427,9 @@ Andrew</field>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="crm.stage_lead4"/>
<field name="date_closed" eval="(DateTime.today() - relativedelta(hours=1)).strftime('%Y-%m-%d %H:%M')"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_website"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_website"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_17" model="crm.lead">
<field name="message_follower_ids" eval="[(3, ref('base.partner_root')), (4, ref('base.partner_demo'))]"/>
@@ -456,8 +456,8 @@ Andrew</field>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="crm.stage_lead4"/>
<field eval="1" name="active"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="source_id" ref="crm_source_newsletter"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="source_id" ref="utm.utm_source_newsletter"/>
</record>
<record id="crm_case_18" model="crm.lead">
<field name="message_follower_ids" eval="[(4, ref('base.partner_demo'))]"/>
@@ -484,8 +484,8 @@ Andrew</field>
<field name="user_id" ref="base.user_root"/>
<field name="stage_id" ref="crm.stage_lead4"/>
<field name="date_closed" eval="(DateTime.today() - relativedelta(months=3)).strftime('%Y-%m-%d %H:%M')"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="source_id" ref="crm_source_mailing"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="source_id" ref="utm.utm_source_mailing"/>
</record>
<record id="crm_case_20" model="crm.lead">
@@ -501,8 +501,8 @@ Andrew</field>
<field name="team_id" ref="sales_team.crm_team_1"/>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="crm.stage_lead4"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="source_id" ref="crm_source_mailing"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="source_id" ref="utm.utm_source_mailing"/>
</record>
<record id="crm_case_21" model="crm.lead">
@@ -516,9 +516,9 @@ Andrew</field>
<field name="user_id" ref="base.user_root"/>
<field name="stage_id" ref="crm.stage_lead4"/>
<field name="date_closed" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_services"/>
- <field name="medium_id" ref="crm_medium_phone"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_services"/>
+ <field name="medium_id" ref="utm.utm_medium_phone"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_22" model="crm.lead">
@@ -534,9 +534,9 @@ Andrew</field>
<field name="team_id" ref="sales_team.crm_team_2"/>
<field name="user_id" ref="base.user_root"/>
<field name="stage_id" ref="crm.stage_lead5"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_services"/>
- <field name="medium_id" ref="crm_medium_email"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_services"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_23" model="crm.lead">
@@ -551,9 +551,9 @@ Andrew</field>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="crm.stage_lead5"/>
<field name="date_closed" eval="(DateTime.today() - relativedelta(hours=1)).strftime('%Y-%m-%d %H:%M')"/>
- <field name="campaign_id" ref="crm_campaign_fall_drive"/>
- <field name="medium_id" ref="crm_medium_direct"/>
- <field name="source_id" ref="crm_source_newsletter"/>
+ <field name="campaign_id" ref="utm.utm_campaign_fall_drive"/>
+ <field name="medium_id" ref="utm.utm_medium_direct"/>
+ <field name="source_id" ref="utm.utm_source_newsletter"/>
</record>
<record id="crm_case_24" model="crm.lead">
@@ -571,9 +571,9 @@ Andrew</field>
<field name="user_id" ref="base.user_root"/>
<field name="stage_id" ref="crm.stage_lead5"/>
<field name="date_closed" eval="(DateTime.today() - relativedelta(month=1)).strftime('%Y-%m-%d %H:%M')"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_services"/>
- <field name="medium_id" ref="crm_medium_website"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_services"/>
+ <field name="medium_id" ref="utm.utm_medium_website"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_25" model="crm.lead">
@@ -595,8 +595,8 @@ Andrew</field>
<field name="team_id" ref="sales_team.crm_team_1"/>
<field name="user_id" ref="base.user_root"/>
<field name="stage_id" ref="crm.stage_lead5"/>
- <field name="campaign_id" ref="crm_campaign_email_campaign_services"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_services"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_26" model="crm.lead">
@@ -620,9 +620,9 @@ Andrew</field>
<field name="user_id" ref="base.user_demo"/>
<field name="stage_id" ref="crm.stage_lead5"/>
<!-- <field name="date_closed" eval="(DateTime.today() - relativedelta(hours=1)).strftime('%Y-%m-%d %H:%M')"/> -->
- <field name="campaign_id" ref="crm_campaign_email_campaign_products"/>
- <field name="medium_id" ref="crm_medium_website"/>
- <field name="source_id" ref="crm_source_search_engine"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_website"/>
+ <field name="source_id" ref="utm.utm_source_search_engine"/>
</record>
<record id="crm_case_27" model="crm.lead">
diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml
index fa8918ffa55..5b133e9004c 100644
--- a/addons/crm/crm_view.xml
+++ b/addons/crm/crm_view.xml
@@ -23,90 +23,6 @@
<menuitem id="menu_crm_config_phonecall" name="Phone Calls"
parent="base.menu_base_config" sequence="45" groups="base.group_sale_salesman"/>
- <!-- crm.tracking.medium -->
- <record id="crm_tracking_medium_view_tree" model="ir.ui.view">
- <field name="name">crm.tracking.medium.tree</field>
- <field name="model">crm.tracking.medium</field>
- <field name="arch" type="xml">
- <tree string="Channels">
- <field name="name"/>
- <field name="active"/>
- </tree>
- </field>
- </record>
- <record id="crm_tracking_medium_view_form" model="ir.ui.view">
- <field name="name">crm.tracking.medium.form</field>
- <field name="model">crm.tracking.medium</field>
- <field name="arch" type="xml">
- <form string="Channel">
- <group>
- <field name="name"/>
- <field name="active"/>
- </group>
- </form>
- </field>
- </record>
- <record id="crm_tracking_medium_action" model="ir.actions.act_window">
- <field name="name">Channels</field>
- <field name="res_model">crm.tracking.medium</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="help" type="html">
- <p class="oe_view_nocontent_create">
- Click to define a new channel.
- </p><p>
- Use channels to track the type of source of your leads and opportunities. Channels
- are mostly used in reporting to analyse sales performance
- related to marketing efforts.
- </p><p>
- Some examples of channels: company website, phone call
- campaign, reseller, banner, etc.
- </p>
- </field>
- </record>
-
- <!-- crm.tracking.source -->
- <record id="crm_tracking_source_view_tree" model="ir.ui.view">
- <field name="name">crm.tracking.source.tree</field>
- <field name="model">crm.tracking.source</field>
- <field name="arch" type="xml">
- <tree string="Channels">
- <field name="name"/>
- </tree>
- </field>
- </record>
- <record id="crm_tracking_source_view_form" model="ir.ui.view">
- <field name="name">crm.tracking.source.form</field>
- <field name="model">crm.tracking.source</field>
- <field name="arch" type="xml">
- <form string="Channel">
- <group>
- <field name="name"/>
- </group>
- </form>
- </field>
- </record>
- <record id="crm_tracking_source_action" model="ir.actions.act_window">
- <field name="name">Source</field>
- <field name="res_model">crm.tracking.source</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="help" type="html">
- <p class="oe_view_nocontent_create">
- Click to define a new source.
- </p><p>
- Use channels to track the source of your leads and opportunities. Channels
- are mostly used in reporting to analyse sales performance
- related to marketing efforts.
- </p><p>
- Some examples of channels: partner's website, google.com,
- email list name, etc.
- </p>
- </field>
- </record>
-
- <menuitem action="crm_tracking_source_action" id="menu_crm_tracking_source" parent="base.menu_crm_config_lead" sequence="4" groups="base.group_no_one"/>
-
<!-- CRM.LOST.REASON VIEWS -->
<record id="crm_lost_reason_view_form" model="ir.ui.view">
<field name="name">crm.lost.reason.form</field>
@@ -180,55 +96,11 @@
</record>
<!-- CRM Stage Action -->
-
<record id="crm_stage_act" model="ir.actions.act_window">
<field name="name">Stages</field>
<field name="res_model">crm.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_stage_tree"/>
</record>
-
- <!-- Resource Type of case Tree View -->
-
- <record model="ir.ui.view" id="crm_tracking_campaign_tree">
- <field name="name">crm.tracking.campaign.tree</field>
- <field name="model">crm.tracking.campaign</field>
- <field name="arch" type="xml">
- <tree string="Campaign">
- <field name="name"/>
- <field name="team_id" groups="base.group_multi_salesteams"/>
- </tree>
- </field>
- </record>
-
- <!-- Resource Type of case Form View -->
-
- <record model="ir.ui.view" id="crm_tracking_campaign_form">
- <field name="name">crm.tracking.campaign.form</field>
- <field name="model">crm.tracking.campaign</field>
- <field name="arch" type="xml">
- <form string="Campaign">
- <group>
- <field name="name"/>
- <field name="team_id" groups="base.group_multi_salesteams"/>
- </group>
- </form>
- </field>
- </record>
-
- <!-- Resource Type of case Action -->
-
- <record id="crm_tracking_campaign_act" model="ir.actions.act_window">
- <field name="name">Campaigns</field>
- <field name="res_model">crm.tracking.campaign</field>
- <field name="view_type">form</field>
- <field name="view_id" ref="crm_tracking_campaign_tree"/>
- </record>
-
- <menuitem action="crm_tracking_campaign_act"
- id="menu_crm_tracking_campaign_act" sequence="4"
- groups="base.group_no_one"
- parent="base.menu_crm_config_lead"/>
-
</data>
</openerp>
diff --git a/addons/crm/ir_http.py b/addons/crm/ir_http.py
index c3e1f445e9a..7efd80f0737 100644
--- a/addons/crm/ir_http.py
+++ b/addons/crm/ir_http.py
@@ -11,7 +11,7 @@ class ir_http(orm.AbstractModel):
def _dispatch(self):
response = super(ir_http, self)._dispatch()
- for var, dummy in self.pool['crm.tracking.mixin'].tracking_fields():
+ for var, dummy in self.pool['utm.mixin'].tracking_fields():
if var in request.params and (var not in request.session or request.session[var] != request.params[var]):
response.set_cookie(var, request.params[var], domain=self.get_utm_domain_cookies())
return response
diff --git a/addons/crm/report/crm_lead_report.py b/addons/crm/report/crm_lead_report.py
index 7a398d738dc..4c68d2198e3 100644
--- a/addons/crm/report/crm_lead_report.py
+++ b/addons/crm/report/crm_lead_report.py
@@ -29,7 +29,7 @@ class crm_lead_report(osv.Model):
_auto = False
_description = "CRM Lead Analysis"
_rec_name = 'date_deadline'
- _inherit = ["crm.tracking.mixin"]
+ _inherit = ["utm.mixin"]
_columns = {
'date_deadline': fields.date('Expected Closing', readonly=True),
diff --git a/addons/crm/report/crm_opportunity_report.py b/addons/crm/report/crm_opportunity_report.py
index 3db5bd7ef16..376ff44c3a4 100644
--- a/addons/crm/report/crm_opportunity_report.py
+++ b/addons/crm/report/crm_opportunity_report.py
@@ -30,7 +30,7 @@ class crm_opportunity_report(osv.Model):
_auto = False
_description = "CRM Opportunity Analysis"
_rec_name = 'date_deadline'
- _inherit = ["crm.tracking.mixin"]
+ _inherit = ["utm.mixin"]
_columns = {
'date_deadline': fields.date('Expected Closing', readonly=True),
diff --git a/addons/crm/security/ir.model.access.csv b/addons/crm/security/ir.model.access.csv
index fff272c55de..09150132f14 100644
--- a/addons/crm/security/ir.model.access.csv
+++ b/addons/crm/security/ir.model.access.csv
@@ -1,16 +1,10 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_crm_tracking_medium_user,crm.tracking.medium user,model_crm_tracking_medium,base.group_sale_salesman,1,0,0,0
-access_crm_tracking_medium_manager,crm.tracking.medium manager,model_crm_tracking_medium,base.group_sale_manager,1,1,1,1
-access_crm_tracking_source_user,crm.tracking.source user,model_crm_tracking_source,base.group_sale_salesman,1,0,0,0
-access_crm_tracking_source_manager,crm.tracking.source manager,model_crm_tracking_source,base.group_sale_manager,1,1,1,1
access_crm_lead_manager,crm.lead.manager,model_crm_lead,base.group_sale_manager,1,1,1,1
access_crm_phonecall_manager,crm.phonecall.manager,model_crm_phonecall,base.group_sale_manager,1,1,1,1
access_crm_lead,crm.lead,model_crm_lead,base.group_sale_salesman,1,1,1,0
access_crm_phonecall,crm.phonecall,model_crm_phonecall,base.group_sale_salesman,1,1,1,0
access_crm_stage,crm.stage,model_crm_stage,,1,0,0,0
access_crm_stage_manager,crm.stage,model_crm_stage,base.group_sale_manager,1,1,1,1
-access_crm_tracking_campaign_user,crm_tracking_campaign user,model_crm_tracking_campaign,base.group_sale_salesman,1,1,1,0
-access_crm_tracking_campaign_manager,crm_tracking_campaign manager,model_crm_tracking_campaign,base.group_sale_manager,1,1,1,1
access_crm_phonecall_report_user,crm.phonecall.report.user,model_crm_phonecall_report,base.group_sale_salesman,1,0,0,0
access_crm_phonecall_report_manager,crm.phonecall.report,model_crm_phonecall_report,base.group_sale_manager,1,1,1,1
access_res_partner_manager,res.partner.crm.manager,base.model_res_partner,base.group_sale_manager,1,0,0,0