diff --git a/addons/caldav/caldav_view.xml b/addons/caldav/caldav_view.xml index 892ce30c14a..27269fa527f 100644 --- a/addons/caldav/caldav_view.xml +++ b/addons/caldav/caldav_view.xml @@ -50,8 +50,6 @@ form - - @@ -60,6 +58,9 @@ + + + diff --git a/addons/caldav/common.py b/addons/caldav/common.py index f71b03a2aeb..68e49f96485 100644 --- a/addons/caldav/common.py +++ b/addons/caldav/common.py @@ -115,9 +115,7 @@ class crm_caldav_attendee(osv.osv): 'language': fields.char('LANGUAGE', size=124, help="To specify the language for text values in a property or property parameter."), 'user_id': fields.many2one('res.users', 'Responsible'), } - _defaults = { - } - + crm_caldav_attendee() class crm_caldav_alarm(osv.osv): @@ -170,8 +168,23 @@ are both optional, but if one occurs, so MUST the other"""), 'trigger_duration': lambda *x: 5, 'trigger_occurs': lambda *x: 'BEFORE', 'trigger_related': lambda *x: 'start', + 'active': lambda *x: 1, } - + + def do_create(self, cr, uid, ids, context=None, *args): + datas = self.read(cr, uid, ids)[0] + summary = str(datas['trigger_duration']) + ' ' + \ + datas['trigger_interval'].title() + ' ' + \ + datas['trigger_occurs'].title() + self.write(cr, uid, ids, {'name': summary}) + if not context or not context.get('model'): + return {} + else: + model = context.get('model') + obj = self.pool.get(model) + obj.write(cr, uid, context['active_id'], {'alarm_id': ids[0]}) + return {} + crm_caldav_alarm() class ir_attachment(osv.osv): diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py index 5c857209794..069e8b53152 100644 --- a/addons/crm/crm_meeting.py +++ b/addons/crm/crm_meeting.py @@ -359,7 +359,18 @@ class crm_meeting(osv.osv): if isinstance(ids, (str, int, long)) and isinstance(res, list): return res and res[0] or False return res - + + def onchange_rrule_type(self, cr, uid, ids, type, *args, **argv): + if type == 'none': + return {'value': {'rrule': ''}} + if type == 'custom': + return {} + rrule = self.pool.get('caldav.set.rrule') + rrulestr = rrule.compute_rule_string(cr, uid, {'freq': type.upper(),\ + 'interval': 1}) + return {'value': {'rrule': rrulestr}} + + def onchange_case_id(self, cr, uid, ids, *args, **argv): return self._map_ids('onchange_case_id', cr, uid, ids, *args, **argv) def onchange_partner_id(self, cr, uid, ids, *args, **argv): @@ -523,7 +534,7 @@ class invite_attendee_wizard(osv.osv_memory): 'users': fields.many2many('res.users', 'invite_user_rel', \ 'invite_id', 'user_id', 'Users'), 'availability': fields.selection([('free', 'Free'), \ - ('busy', 'Busy'), ('both', 'Both')], 'User Avaliability') + ('busy', 'Busy'), ('both', 'Both')], 'User Avaliability') } _defaults = { diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml index 931c01ae37c..efde7b37a84 100644 --- a/addons/crm/crm_meeting_view.xml +++ b/addons/crm/crm_meeting_view.xml @@ -114,8 +114,10 @@ /> - - +