diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py
index 9693a0d5c0f..095a1654991 100644
--- a/addons/base_calendar/base_calendar.py
+++ b/addons/base_calendar/base_calendar.py
@@ -1296,7 +1296,7 @@ e.g.: Every other month on the last Sunday of the month for 10 occurrences:\
if name == "UNTIL":
is_until = True
value = parser.parse(value)
- rrule_until_date = parser.parse(value.strftime("%Y-%m-%d"))
+ rrule_until_date = parser.parse(value.strftime("%Y-%m-%d %H:%M:%S"))
if until_date and until_date >= rrule_until_date:
until_date = rrule_until_date
if until_date:
diff --git a/addons/caldav/wizard/caldav_browse_view.xml b/addons/caldav/wizard/caldav_browse_view.xml
index 0a7e6269fe2..53af6029883 100644
--- a/addons/caldav/wizard/caldav_browse_view.xml
+++ b/addons/caldav/wizard/caldav_browse_view.xml
@@ -15,8 +15,10 @@
-
-
+
+
+
+
diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index f25e4c1a0bf..7014fd77517 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -199,6 +199,13 @@ class crm_case(object):
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
return user.context_section_id.id or False
+ def unlink(self, cr, uid, ids, context={}):
+ for case in self.browse(cr, uid, ids, context):
+ if (not case.section_id.allow_unlink) and (case.state <> 'draft'):
+ raise osv.except_osv(_('Warning !'),
+ _('You can not delete this case. You should better cancel it.'))
+ return super(crm_case, self).unlink(cr, uid, ids, context)
+
def _find_next_stage(self, cr, uid, stage_list, index, current_seq, stage_pool, context=None):
if index + 1 == len(stage_list):
return False
diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml
index 3b87672d081..a2d66040fa9 100644
--- a/addons/crm/crm_meeting_view.xml
+++ b/addons/crm/crm_meeting_view.xml
@@ -179,7 +179,7 @@
-
+