[IMP] improve code
authorAmit Vora <avo@tinyerp.com>
Thu, 13 Mar 2014 12:17:27 +0000 (17:47 +0530)
committerAmit Vora <avo@tinyerp.com>
Thu, 13 Mar 2014 12:17:27 +0000 (17:47 +0530)
bzr revid: avo@tinyerp.com-20140313121727-jpop13zj1h64qj6i

addons/calendar/calendar.py
addons/crm/__openerp__.py
addons/crm/crm_lead.py
addons/crm/crm_lead_view.xml
addons/crm/crm_phonecall_menu.xml
addons/crm/res_config.py
addons/crm/res_config_view.xml
addons/crm/res_partner.py
addons/crm/res_partner_view.xml
addons/crm/security/crm_security.xml

index a67bccd..784358d 100644 (file)
@@ -786,18 +786,6 @@ class calendar_event(osv.Model):
                 data.update(update_data)
                 self.write(cr, uid, ids, data, context=context)
         return True
-    
-    def default_get(self, cr, uid, fields, context=None):
-        res = super(calendar_event, self).default_get(cr, uid, fields, context=context)
-        if context.get('active_model') == 'res.partner':
-            if context.get('user_id'):
-                res.update({'partner_ids' : [self.pool['res.users'].browse(cr, uid, context.get('user_id'), context=context).partner_id.id]})
-        
-        if context.get('active_model') == 'crm.lead':
-            if context.get('partner_id'):
-                res.update({'partner_ids' : [context.get('partner_id')]})
-        return res
-        
 
     def _tz_get(self, cr, uid, context=None):
         return [(x.lower(), x) for x in pytz.all_timezones]
index 9d27651..e342712 100644 (file)
@@ -76,14 +76,14 @@ Dashboard for CRM will include:
 
         'crm_view.xml',
 
-        'crm_phonecall_view.xml',
-        'crm_phonecall_menu.xml',
-
         'crm_lead_view.xml',
         'crm_lead_menu.xml',
 
         'calendar_event_menu.xml',
 
+        'crm_phonecall_view.xml',
+        'crm_phonecall_menu.xml',
+
         'report/crm_lead_report_view.xml',
         'report/crm_phonecall_report_view.xml',
 
index 5e78cb9..fd9462d 100644 (file)
@@ -317,7 +317,6 @@ class crm_lead(format_address, osv.osv):
 
     def on_change_partner_id(self, cr, uid, ids, partner_id, context=None):
         values = {}
-        phonecall_obj = self.pool.get('crm.phonecall')
         if partner_id:
             partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
             values = {
@@ -333,8 +332,6 @@ class crm_lead(format_address, osv.osv):
                 'fax': partner.fax,
                 'zip': partner.zip,
             }
-        call_ids = phonecall_obj.search(cr, uid, [('opportunity_id','in',ids)], context)
-        phonecall_obj.write(cr, uid, call_ids, {'partner_id': partner_id}, context)
         return {'value': values}
 
     def on_change_user(self, cr, uid, ids, user_id, context=None):
index 6d5dbf0..a559777 100644 (file)
                                 context="{'default_opportunity_id': active_id, 'search_default_opportunity_id': active_id, 'default_partner_id': partner_id, 'default_duration': 1.0}" />
                             <button string="Schedule a Meeting" type="action"
                                 name="%(calendar.action_calendar_event)d"
-                                context="{'partner_id': partner_id}"/>
+                                context="{'default_partner_ids': partner_id and [partner_id]}"/>
                         </div>
                         <div class="oe_title">
                             <label for="name" class="oe_edit_only"/>
index 89b297d..4ab3350 100644 (file)
 
     <menuitem name="Scheduled Calls" id="menu_crm_case_phone_outbound"
         parent="crm.menu_crm_case_phone"
-        groups="crm.group_scheduled_calls_menu"
+        groups="crm.group_scheduled_calls"
         action="crm_case_categ_phone_outgoing0"/>
 
 </data>
index 94e063d..0ef49da 100644 (file)
@@ -69,8 +69,8 @@ class crm_configuration(osv.TransientModel):
             help="""Allows you to use Sales Teams to manage your leads and opportunities."""),
         'alias_prefix': fields.char('Default Alias Name for Leads'),
         'alias_domain' : fields.char('Alias Domain'),
-        'group_scheduled_calls_menu': fields.boolean("Schedule calls to manage call center",
-            implied_group='crm.group_scheduled_calls_menu',
+        'group_scheduled_calls': fields.boolean("Schedule calls to manage call center",
+            implied_group='crm.group_scheduled_calls',
             help="""This adds menu 'Scheduled Calls' under 'Sales / Phone Calls'""")
     }
 
index 02d2e91..ce3c824 100644 (file)
@@ -14,8 +14,8 @@
                         <label for="id" string="Pre-Sale Services"/>
                         <div>
                             <div>
-                                <field name="group_scheduled_calls_menu" class="oe_inline"/>
-                                <label for="group_scheduled_calls_menu"/>
+                                <field name="group_scheduled_calls" class="oe_inline"/>
+                                <label for="group_scheduled_calls"/>
                             </div>
                         </div>
                     </group>
index c2eecb7..4852b46 100644 (file)
@@ -24,6 +24,16 @@ from openerp.osv import fields,osv
 class res_partner(osv.osv):
     """ Inherits partner and adds CRM information in the partner form """
     _inherit = 'res.partner'
+    
+    def schedule_meeting(self, cr, uid, id, context=None):
+        user_id = context.get('user_id')
+        if user_id:
+            partner_id = self.pool.get('res.users').browse(cr, uid, user_id).partner_id.id
+        res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'calendar', 'action_calendar_event', context)
+        res['context'] = {
+            'default_partner_ids': user_id and [partner_id],
+           }
+        return res
 
     def _opportunity_meeting_count(self, cr, uid, ids, field_name, arg, context=None):
         res = dict(map(lambda x: (x,{'opportunity_count': 0, 'meeting_count': 0}), ids))
index 71f813b..453b5ca 100644 (file)
                             attrs="{'invisible': [('customer', '=', False)]}"
                             name="%(crm.crm_case_category_act_oppor11)d"
                             context="{'search_default_partner_id': active_id}"/>
-                        <button class="oe_inline" type="action"
-                            string="Schedule a Meeting"
-                            name="%(calendar.action_calendar_event)d"
-                            context="{'user_id': user_id}"/>
+                        <button class="oe_inline" string="Schedule a Meeting" type="object"
+                            name="schedule_meeting" context="{'user_id': user_id}"/>
                         <button class="oe_inline" type="action" string="Calls" 
                             name="%(crm.crm_case_categ_phone_incoming0)d" 
                             context="{'search_default_partner_id': active_id, 'default_duration': 1.0}" />
index 3b90118..f58be62 100644 (file)
@@ -42,7 +42,7 @@
         <field name="category_id" ref="base.module_category_hidden"/>
     </record>
 
-    <record id="group_scheduled_calls_menu" model="res.groups">
+    <record id="group_scheduled_calls" model="res.groups">
         <field name="name">Show Scheduled Calls Menu</field>
         <field name="category_id" ref="base.module_category_hidden"/>
     </record>