diff --git a/addons/base_calendar/crm_meeting.py b/addons/base_calendar/crm_meeting.py index 06e8d9da609..7e66bc296be 100644 --- a/addons/base_calendar/crm_meeting.py +++ b/addons/base_calendar/crm_meeting.py @@ -52,7 +52,7 @@ class crm_meeting(base_state, osv.Model): if user['partner_id'][0] == attendee_pool.read(cr,uid,attendee.id,['partner_id'],context)['partner_id'][0]: return attendee return False - + def _check_attendee(self, cr, uid, ids, name, arg, context=None): res = {} res[ids[0]] = False @@ -60,6 +60,14 @@ class crm_meeting(base_state, osv.Model): res[ids[0]] = True return res + def _compute_status(self, cr, uid, ids, name, arg, context=None): + res = {} + res[ids[0]] = 'needs-action' + attendee = self._check_status(cr, uid, ids, context) + if attendee: + res[ids[0]] = attendee.state + return res + _columns = { # base_state required fields 'create_date': fields.datetime('Creation Date', readonly=True), @@ -79,6 +87,8 @@ class crm_meeting(base_state, osv.Model): 'event_id', 'attendee_id', 'Invited People', states={'done': [('readonly', True)]}), 'is_attendee': fields.function(_check_attendee, string='Attendee', \ type="boolean"), + 'attendee_status': fields.function(_compute_status, string='Attendee Status', \ + type="selection"), } _defaults = { 'state': 'open', diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml index 4fbcc9b64bc..6a7d0f99f25 100644 --- a/addons/base_calendar/crm_meeting_view.xml +++ b/addons/base_calendar/crm_meeting_view.xml @@ -34,13 +34,14 @@