diff --git a/addons/calendar/__openerp__.py b/addons/calendar/__openerp__.py index 4a641c76072..0cae2b6faf9 100644 --- a/addons/calendar/__openerp__.py +++ b/addons/calendar/__openerp__.py @@ -41,6 +41,7 @@ If you need to manage your meetings, you should install the CRM module. 'demo': ['calendar_demo.xml'], 'data': [ 'security/ir.model.access.csv', + 'security/calendar_security.xml', 'calendar_view.xml', 'contacts_view.xml', 'calendar_data.xml', diff --git a/addons/calendar/calendar.py b/addons/calendar/calendar.py index 7f945726b2e..fa485c5e7f9 100644 --- a/addons/calendar/calendar.py +++ b/addons/calendar/calendar.py @@ -1386,7 +1386,7 @@ class calendar_event(osv.Model): res = date.strftime('%A') elif interval == 'time': dummy, format_time = self.get_date_formats(cr, uid, context=context) - res = date.strftime(format_time) + res = date.strftime(format_time + " %Z") return res def search(self, cr, uid, args, offset=0, limit=0, order=None, context=None, count=False): @@ -1446,7 +1446,7 @@ class calendar_event(osv.Model): rrule_type=False, rrule='', recurrency=False, - zfinal_date=datetime.strptime(values.get('zstart', False) or data.get('zstart'), DEFAULT_SERVER_DATETIME_FORMAT) + timedelta(hours=values.get('duration', False) or data.get('duration')) + zfinal_date=datetime.strptime(data.get('zstart'), DEFAULT_SERVER_DATETIME_FORMAT if data['allday'] else DEFAULT_SERVER_DATETIME_FORMAT) + timedelta(hours=values.get('duration', False) or data.get('duration')) ) #do not copy the id diff --git a/addons/calendar/security/ir.model.access.csv b/addons/calendar/security/ir.model.access.csv index 4da2e1a1cc6..c6f55f93af8 100644 --- a/addons/calendar/security/ir.model.access.csv +++ b/addons/calendar/security/ir.model.access.csv @@ -1,15 +1,17 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_calendar_attendee,calendar.attendee,model_calendar_attendee,,1,1,1,1 +access_calendar_attendee_portal,calendar.attendee_portal,model_calendar_attendee,base.group_portal,1,1,0,0 +access_calendar_attendee_employee,calendar.attendee_employee,model_calendar_attendee,base.group_user,1,1,1,1 access_calendar_alarm,calendar.alarm,model_calendar_alarm,base.group_user,1,1,1,1 access_calendar_event_manager,calendar.event.manager,model_calendar_event,base.group_sale_manager,1,1,1,1 access_calendar_event,calendar.event,model_calendar_event,base.group_sale_salesman,1,1,1,0 -access_calendar_event_all,calendar.event_all,model_calendar_event,base.group_user,1,1,1,1 +access_calendar_event_all_user,calendar.event_all_user,model_calendar_event,base.group_portal,1,0,0,0 +access_calendar_event_all_employee,calendar.event_all_employee,model_calendar_event,base.group_user,1,1,1,1 access_calendar_event_partner_manager,calendar.event.partner.manager,model_calendar_event,base.group_partner_manager,1,1,1,1 -access_calendar_event_type_all,calendar.event.type.all,model_calendar_event_type,,1,0,0,0 +access_calendar_event_type_all,calendar.event.type.all,model_calendar_event_type,base.group_user,1,0,0,0 access_calendar_event_type_sale_manager,calendar.event.type.manager,model_calendar_event_type,base.group_sale_manager,1,1,1,0 access_calendar_event_type_sale_user,calendar.event.type.user,model_calendar_event_type,base.group_user,1,0,0,0 access_calendar_event_type_sale_user,calendar.event.type.salesman,model_calendar_event_type,base.group_sale_salesman,1,0,0,0 access_calendar_event_type_manager,calendar.event.type.manager,model_calendar_event_type,base.group_system,1,1,1,1 -access_calendar_alarm_manager,access_calendar_alarm_manager,model_calendar_alarm_manager,,1,1,1,1 -access_calendar_contacts_all,access_calendar_contacts_all,model_calendar_contacts,,1,1,1,1 +access_calendar_alarm_manager,access_calendar_alarm_manager,model_calendar_alarm_manager,base.group_user,1,1,1,1 +access_calendar_contacts_all,access_calendar_contacts_all,model_calendar_contacts,base.group_user,1,1,1,1 access_calendar_contacts,access_calendar_contacts,model_calendar_contacts,base.group_system,1,1,1,1