diff options
| author | Julien De Coster <jdc@odoo.com> | 2014-08-12 14:54:26 +0530 |
|---|---|---|
| committer | Julien De Coster <jdc@odoo.com> | 2014-12-17 17:14:33 +0100 |
| commit | ddac26cdbb3535239f5dbb41f5b464366065f3ba (patch) | |
| tree | b54e4d34060f1c7f80a8c6404f7f4fd56d914e52 /addons/crm | |
| parent | 7f97bf4ec07329e58c818632bf23017b390bb099 (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.py | 78 | ||||
| -rw-r--r-- | addons/crm/crm_data.xml | 39 | ||||
| -rw-r--r-- | addons/crm/crm_lead.py | 2 | ||||
| -rw-r--r-- | addons/crm/crm_lead_data.xml | 19 | ||||
| -rw-r--r-- | addons/crm/crm_lead_demo.xml | 144 | ||||
| -rw-r--r-- | addons/crm/crm_view.xml | 128 | ||||
| -rw-r--r-- | addons/crm/ir_http.py | 2 | ||||
| -rw-r--r-- | addons/crm/report/crm_lead_report.py | 2 | ||||
| -rw-r--r-- | addons/crm/report/crm_opportunity_report.py | 2 | ||||
| -rw-r--r-- | addons/crm/security/ir.model.access.csv | 6 |
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
|
