diff --git a/addons/calendar/data/calendar_demo.xml b/addons/calendar/data/calendar_demo.xml
index 65d78071bec..b6fd1077717 100644
--- a/addons/calendar/data/calendar_demo.xml
+++ b/addons/calendar/data/calendar_demo.xml
@@ -45,7 +45,6 @@
- open
@@ -59,7 +58,6 @@
- draft
@@ -73,7 +71,6 @@
- open
@@ -86,7 +83,6 @@
- open
@@ -98,7 +94,6 @@
- open
@@ -111,7 +106,6 @@
- draft
@@ -124,7 +118,6 @@
- draft
diff --git a/addons/calendar/models/calendar_event.py b/addons/calendar/models/calendar_event.py
index 2d29ec18c61..84a71758551 100644
--- a/addons/calendar/models/calendar_event.py
+++ b/addons/calendar/models/calendar_event.py
@@ -121,7 +121,7 @@ class Meeting(models.Model):
def _get_public_fields(self):
return self._get_recurrent_fields() | {
'id', 'active', 'allday', 'start', 'stop', 'display_start',
- 'display_stop', 'duration', 'user_id', 'state', 'interval',
+ 'display_stop', 'duration', 'user_id', 'interval',
'count', 'rrule', 'recurrence_id', 'show_as'}
@api.model
@@ -189,8 +189,7 @@ class Meeting(models.Model):
for event in self:
event.is_highlighted = False
- name = fields.Char('Meeting Subject', required=True, states={'done': [('readonly', True)]})
- state = fields.Selection([('draft', 'Unconfirmed'), ('open', 'Confirmed')], string='Status', readonly=True, tracking=True, default='draft')
+ name = fields.Char('Meeting Subject', required=True)
is_attendee = fields.Boolean('Attendee', compute='_compute_attendee')
attendee_status = fields.Selection(Attendee.STATE_SELECTION, string='Attendee Status', compute='_compute_attendee')
@@ -199,17 +198,17 @@ class Meeting(models.Model):
start = fields.Datetime('Start', required=True, help="Start date of an event, without time for full days events")
stop = fields.Datetime('Stop', required=True, help="Stop date of an event, without time for full days events")
- allday = fields.Boolean('All Day', states={'done': [('readonly', True)]}, default=False)
- start_date = fields.Date('Start Date', compute='_compute_dates', inverse='_inverse_dates', store=True, states={'done': [('readonly', True)]}, tracking=True)
- start_datetime = fields.Datetime('Start DateTime', compute='_compute_dates', inverse='_inverse_dates', store=True, states={'done': [('readonly', True)]}, tracking=True)
- stop_date = fields.Date('End Date', compute='_compute_dates', inverse='_inverse_dates', store=True, states={'done': [('readonly', True)]}, tracking=True)
- stop_datetime = fields.Datetime('End Datetime', compute='_compute_dates', inverse='_inverse_dates', store=True, states={'done': [('readonly', True)]}, tracking=True) # old date_deadline
+ allday = fields.Boolean('All Day', default=False)
+ start_date = fields.Date('Start Date', compute='_compute_dates', inverse='_inverse_dates', store=True, tracking=True)
+ start_datetime = fields.Datetime('Start DateTime', compute='_compute_dates', inverse='_inverse_dates', store=True, tracking=True)
+ stop_date = fields.Date('End Date', compute='_compute_dates', inverse='_inverse_dates', store=True, tracking=True)
+ stop_datetime = fields.Datetime('End Datetime', compute='_compute_dates', inverse='_inverse_dates', store=True, tracking=True) # old date_deadline
event_tz = fields.Selection('_event_tz_get', string='Timezone', default=lambda self: self.env.context.get('tz') or self.user_id.tz)
- duration = fields.Float('Duration', compute='_compute_dates', inverse='_inverse_duration', compute_sudo=True, states={'done': [('readonly', True)]})
- description = fields.Text('Description', states={'done': [('readonly', True)]})
- privacy = fields.Selection([('public', 'Everyone'), ('private', 'Only me'), ('confidential', 'Only internal users')], 'Privacy', default='public', states={'done': [('readonly', True)]}, required=True)
- location = fields.Char('Location', states={'done': [('readonly', True)]}, tracking=True, help="Location of Event")
- show_as = fields.Selection([('free', 'Free'), ('busy', 'Busy')], 'Show Time as', states={'done': [('readonly', True)]}, default='busy', required=True)
+ duration = fields.Float('Duration', compute='_compute_dates', inverse='_inverse_duration', compute_sudo=True)
+ description = fields.Text('Description')
+ privacy = fields.Selection([('public', 'Everyone'), ('private', 'Only me'), ('confidential', 'Only internal users')], 'Privacy', default='public', required=True)
+ location = fields.Char('Location', tracking=True, help="Location of Event")
+ show_as = fields.Selection([('free', 'Free'), ('busy', 'Busy')], 'Show Time as', default='busy', required=True)
# linked document
res_id = fields.Integer('Document ID')
diff --git a/addons/calendar/views/calendar_views.xml b/addons/calendar/views/calendar_views.xml
index bea22a2bf7a..f4b51ca22b3 100644
--- a/addons/calendar/views/calendar_views.xml
+++ b/addons/calendar/views/calendar_views.xml
@@ -72,7 +72,6 @@
-
@@ -96,7 +95,6 @@
-
diff --git a/addons/hr_holidays/models/hr_leave.py b/addons/hr_holidays/models/hr_leave.py
index 9915b9825fa..39ab4eee64b 100644
--- a/addons/hr_holidays/models/hr_leave.py
+++ b/addons/hr_holidays/models/hr_leave.py
@@ -847,7 +847,6 @@ class HolidaysRequest(models.Model):
'start': self.date_from,
'stop': self.date_to,
'allday': False,
- 'state': 'open', # to block that meeting date in the calendar
'privacy': 'confidential',
'event_tz': self.user_id.tz,
'activity_ids': [(5, 0, 0)],