[update] move alias for default lead in to crm
authorRavish (Open ERP) <rmu@tinyerp.com>
Wed, 2 Apr 2014 07:11:23 +0000 (12:41 +0530)
committerRavish (Open ERP) <rmu@tinyerp.com>
Wed, 2 Apr 2014 07:11:23 +0000 (12:41 +0530)
addons/crm/crm.py
addons/crm/security/ir.model.access.csv
addons/sale_team/sale_team.py

index eb10e46..166cfc7 100644 (file)
@@ -90,6 +90,8 @@ class crm_case_stage(osv.osv):
 
 class crm_case_section(osv.osv):
     """ Model for sales teams. """
+    _name = "crm.case.section"
+    _inherits = {'mail.alias': 'alias_id'}
     _inherit = 'crm.case.section'
     _description = "Sales Teams"
 
@@ -118,6 +120,8 @@ class crm_case_section(osv.osv):
         return res
 
     _columns = {
+    
+        'alias_id': fields.many2one('mail.alias', 'Alias', ondelete="restrict", required=True, help="The email address associated with this team. New emails received will automatically ""create new leads assigned to the team."),
         'stage_ids': fields.many2many('crm.case.stage', 'section_stage_rel', 'section_id', 'stage_id', 'Stages'),
         'use_leads': fields.boolean('Leads',
             help="The first contact you get with a potential customer is a lead you qualify before converting it into a real business opportunity. Check this box to manage leads in this sales team."),
@@ -138,7 +142,23 @@ class crm_case_section(osv.osv):
         'stage_ids': _get_stage_common,
         'use_leads': True,
     }
-
+    
+    def create(self, cr, uid, vals, context=None):
+        if context is None:
+            context = {}
+        create_context = dict(context, alias_model_name='crm.lead', alias_parent_model_name=self._name)
+        section_id = super(crm_case_section, self).create(cr, uid, vals, context=create_context)
+        section = self.browse(cr, uid, section_id, context=context)
+        self.pool.get('mail.alias').write(cr, uid, [section.alias_id.id], {'alias_parent_thread_id': section_id, 'alias_defaults': {'section_id': section_id, 'type': 'lead'}}, context=context)
+        return section_id
+
+    def unlink(self, cr, uid, ids, context=None):
+        # Cascade-delete mail aliases as well, as they should not exist without the sales team.
+        mail_alias = self.pool.get('mail.alias')
+        alias_ids = [team.alias_id.id for team in self.browse(cr, uid, ids, context=context) if team.alias_id]
+        res = super(crm_case_section, self).unlink(cr, uid, ids, context=context)
+        mail_alias.unlink(cr, uid, alias_ids, context=context)
+        return res
  
 class crm_case_categ(osv.osv):
     """ Category of Case """
index 52648c8..fde894e 100644 (file)
@@ -5,15 +5,12 @@ access_crm_segmentation,crm.segmentation,model_crm_segmentation,base.group_sale_
 access_crm_segmentation_line,crm.segmentation.line,model_crm_segmentation_line,base.group_sale_manager,1,1,1,1\r
 access_crm_case_channel_user,crm.case.channel user,model_crm_case_channel,base.group_sale_salesman,1,0,0,0\r
 access_crm_case_channel_manager,crm.case.channel manager,model_crm_case_channel,base.group_sale_manager,1,1,1,1\r
-access_crm_case_section,crm.case.section,model_crm_case_section,base.group_user,1,0,0,0\r
 access_crm_case_categ,crm.case.categ,model_crm_case_categ,base.group_sale_salesman,1,1,1,0\r
 access_crm_lead_manager,crm.lead.manager,model_crm_lead,base.group_sale_manager,1,1,1,1\r
 access_crm_phonecall_manager,crm.phonecall.manager,model_crm_phonecall,base.group_sale_manager,1,1,1,1\r
 access_crm_case_categ,crm.case.categ,model_crm_case_categ,base.group_user,1,0,0,0\r
 access_crm_lead,crm.lead,model_crm_lead,base.group_sale_salesman,1,1,1,0\r
 access_crm_phonecall,crm.phonecall,model_crm_phonecall,base.group_sale_salesman,1,1,1,0\r
-access_crm_case_section_user,crm.case.section.user,model_crm_case_section,base.group_sale_salesman,1,1,1,0\r
-access_crm_case_section_manager,crm.case.section.manager,model_crm_case_section,base.group_sale_manager,1,1,1,1\r
 access_crm_case_stage,crm.case.stage,model_crm_case_stage,,1,0,0,0\r
 access_crm_case_stage_manager,crm.case.stage,model_crm_case_stage,base.group_sale_manager,1,1,1,1\r
 access_crm_case_resource_type_user,crm_case_resource_type user,model_crm_case_resource_type,base.group_sale_salesman,1,1,1,0\r
index 3643a6d..fd898bb 100644 (file)
@@ -36,7 +36,6 @@ class crm_case_section(osv.osv):
     _inherit = ['mail.thread', 'ir.needaction_mixin']
     _description = "Sales Teams"
     _order = "complete_name"
-    # number of periods for lead/opportunities/... tracking in salesteam kanban dashboard/kanban view
     _period_number = 5
 
     def get_full_name(self, cr, uid, ids, field_name, arg, context=None):
@@ -87,7 +86,6 @@ class crm_case_section(osv.osv):
         'resource_calendar_id': fields.many2one('resource.calendar', "Working Time", help="Used to compute open days"),
         'note': fields.text('Description'),
         'working_hours': fields.float('Working Hours', digits=(16, 2)),
-        'alias_id': fields.many2one('mail.alias', 'Alias', ondelete="restrict", required=True, help="The email address associated with this team. New emails received will automatically ""create new leads assigned to the team."),
         'color': fields.integer('Color Index'),
            }
    
@@ -119,23 +117,6 @@ class crm_case_section(osv.osv):
             res.append((record['id'], name))
         return res
         
-    def create(self, cr, uid, vals, context=None):
-        if context is None:
-            context = {}
-        create_context = dict(context, alias_model_name=self._name, alias_parent_model_name=self._name)
-        section_id = super(crm_case_section, self).create(cr, uid, vals, context=create_context)
-        section = self.browse(cr, uid, section_id, context=context)
-        self.pool.get('mail.alias').write(cr, uid, [section.alias_id.id], {'alias_parent_thread_id': section_id, 'alias_defaults': {'section_id': section_id, 'type': 'lead'}}, context=context)
-        return section_id
-
-    def unlink(self, cr, uid, ids, context=None):
-        # Cascade-delete mail aliases as well, as they should not exist without the sales team.
-        mail_alias = self.pool.get('mail.alias')
-        alias_ids = [team.alias_id.id for team in self.browse(cr, uid, ids, context=context) if team.alias_id]
-        res = super(crm_case_section, self).unlink(cr, uid, ids, context=context)
-        mail_alias.unlink(cr, uid, alias_ids, context=context)
-        return res
-        
 class res_users(osv.Model):
     _inherit = 'res.users'
     _columns = {