[IMP] Improved code as in trunk.
authorParamjit Singh Sahota <psa@tinyerp.com>
Fri, 24 May 2013 04:57:41 +0000 (10:27 +0530)
committerParamjit Singh Sahota <psa@tinyerp.com>
Fri, 24 May 2013 04:57:41 +0000 (10:27 +0530)
bzr revid: psa@tinyerp.com-20130524045741-3hx0kozz9eobv69b

addons/base_calendar/crm_meeting.py
addons/base_calendar/crm_meeting_view.xml
addons/crm/res_partner_view.xml

index 0d4b5b0..aa47600 100644 (file)
@@ -44,32 +44,6 @@ class crm_meeting(base_state, osv.Model):
     _description = "Meeting"
     _order = "id desc"
     _inherit = ["calendar.event", "mail.thread", "ir.needaction_mixin"]
-
-    def _get_attendee(self, cursor, user, ids, name, arg, context=None):
-        res = {}
-        return res
-
-    def _attendees_search(self, cursor, user, obj, name, args, context=None):
-        if not len(args):
-            return []
-        clause = ''
-        res = False
-        for field, operator, value in args:
-            if operator == '=':
-                if value:
-                    clause = 'rel.partner_id ' + operator + str(value)
-            elif operator == 'ilike':
-                if value:
-                    clause = 'p.id = rel.partner_id and p.name ' + operator + "'%" + str(value) +"%'"
-        if clause:
-            cursor.execute('SELECT rel.meeting_id, p.name ' \
-                'FROM crm_meeting_partner_rel AS rel, res_partner AS p ' \
-                'WHERE ' + clause)
-            res = cursor.fetchall()
-        if not res:
-            return [('id', '=', 0)]
-        return [('id', 'in', [x[0] for x in res])]
-
     _columns = {
         # base_state required fields
         'create_date': fields.datetime('Creation Date', readonly=True),
@@ -78,8 +52,6 @@ class crm_meeting(base_state, osv.Model):
         'date_closed': fields.datetime('Closed', readonly=True),
         'partner_ids': fields.many2many('res.partner', 'crm_meeting_partner_rel', 'meeting_id', 'partner_id',
             string='Attendees', states={'done': [('readonly', True)]}),
-        'partner_id': fields.function(_get_attendee, string='Attendees',
-            fnct_search=_attendees_search, type='many2one', relation='res.partner'),
         'state': fields.selection(
                     [('draft', 'Unconfirmed'), ('open', 'Confirmed')],
                     string='Status', size=16, readonly=True, track_visibility='onchange'),
index 98db03d..d9b659b 100644 (file)
         <field name="arch" type="xml">
             <search string="Search Meetings">
                 <field name="name" string="Meeting" filter_domain="[('name','ilike',self)]"/>
-                <field name="partner_id"/>
+                <field name="partner_ids"/>
                 <field name="categ_ids"/>
                 <field name="user_id"/>
                 <separator/>
     <menuitem name="Calendar"
         id="mail_menu_calendar" parent="mail.mail_my_stuff"
         sequence="10" action="action_crm_meeting"/>
-        
-     <record model="ir.ui.view" id="res_partner_view_buttons">
-            <field name="name">res.partner.view.buttons.meeting</field>
-            <field name="model">res.partner</field>
-            <field name="inherit_id" ref="base.view_partner_form" />
-            <field name="priority" eval="10"/>
-            <field name="arch" type="xml">
-                <xpath expr="//div[@name='buttons']" position="inside">
-                    <button type="action"
-                        string="Meetings"
-                        name="%(base_calendar.action_crm_meeting)d"
-                        context="{'search_default_partner_id': active_id, 'default_partner_ids': [active_id]}"/>
-                </xpath>
-            </field>
-    </record>
+
     </data>
 </openerp>
index 3cc4162..dd6c50d 100644 (file)
             <field name="priority" eval="10"/>
             <field name="arch" type="xml">
                 <xpath expr="//div[@name='buttons']" position="inside">
+                    <button type="action"
+                        string="Meetings"
+                        name="%(base_calendar.action_crm_meeting)d"
+                        context="{'search_default_partner_ids': active_id, 'default_partner_ids' : [active_id]}"/>
                     <button type="action" string="Calls" 
                         name="%(crm.crm_case_categ_phone_incoming0)d" 
                         context="{'search_default_partner_id': active_id, 'default_duration': 1.0}" />