diff --git a/addons/base_calendar/crm_meeting.py b/addons/base_calendar/crm_meeting.py
index 6010f5ccfca..927fd22a6c8 100644
--- a/addons/base_calendar/crm_meeting.py
+++ b/addons/base_calendar/crm_meeting.py
@@ -44,6 +44,29 @@ 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 arg in args:
+ if arg[1] == '=':
+ if arg[2]:
+ clause = 'rel.partner_id = ' + str(arg[2])
+ if clause:
+ cursor.execute('SELECT rel.meeting_id ' \
+ 'FROM crm_meeting_partner_rel AS rel ' \
+ '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),
@@ -52,6 +75,8 @@ 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'),
diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml
index d9b659b91fa..98db03da62d 100644
--- a/addons/base_calendar/crm_meeting_view.xml
+++ b/addons/base_calendar/crm_meeting_view.xml
@@ -234,7 +234,7 @@
-
+
@@ -291,6 +291,20 @@
-
+
+
+ res.partner.view.buttons.meeting
+ res.partner
+
+
+
+
+
+
+
+
diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml
index dd6c50dbaba..3cc4162f36e 100644
--- a/addons/crm/res_partner_view.xml
+++ b/addons/crm/res_partner_view.xml
@@ -99,10 +99,6 @@
-
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index 28aa55ac2e2..03ac2557c6a 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -217,25 +217,6 @@
-
- res.partner.crm.claim.tree
- crm.claim
-
-
-
-
-
-
-
-
- Claims
- crm.claim
- form
- tree,form,calendar
- {'search_default_partner_id': [active_id]}
-
-
-
res.partner.claim.info.form
@@ -245,8 +226,9 @@
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index a016c46e0e0..fbc06bb0416 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -32,6 +32,7 @@
+
diff --git a/addons/project/res_partner_view.xml b/addons/project/res_partner_view.xml
index 7ef3b413be6..ea9095cd0d8 100644
--- a/addons/project/res_partner_view.xml
+++ b/addons/project/res_partner_view.xml
@@ -2,41 +2,6 @@
-
- res.partner.project.task.tree
- project.task
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tasks
- project.task
- form
- tree,form,calendar
- {'search_default_partner_id': [active_id], 'default_partner_id': active_id}
-
-
-
-
- res.partner.task.search.form.group
- project.task
-
-
-
-
-
-
-
-
res.partner.task.buttons
@@ -46,8 +11,9 @@
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 7e9cad61545..1221fc4234a 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -154,7 +154,7 @@
-
+
@@ -281,22 +281,6 @@
-
- Project Issue - Feature Tracker Search
- project.issue
-
-
-
-
-
-
-
-
-
-
-
-
-
project.issue
form
@@ -391,7 +375,7 @@
+ name="%(act_project_project_2_project_issue_all)d" context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}" groups="project.group_project_user"/>