diff --git a/addons/resource/i18n/resource.pot b/addons/resource/i18n/resource.pot index c8b5cd4851645e1b8c2d92a2c0b86b0dadad12a9..fe21327daab01cf53e0aeedd8aa3068d7d80f7bb 100644 --- a/addons/resource/i18n/resource.pot +++ b/addons/resource/i18n/resource.pot @@ -242,6 +242,13 @@ msgid "" "record without removing it." msgstr "" +#. module: resource +#: code:addons/resource/models/resource.py:0 +#, python-format +msgid "" +"In a calendar with 2 weeks mode, all periods need to be in the sections." +msgstr "" + #. module: resource #: model_terms:ir.ui.view,arch_db:resource.view_resource_resource_search msgid "Inactive" diff --git a/addons/resource/models/resource.py b/addons/resource/models/resource.py index faac5ce07279b918c70f12b989c76ed34d9c5443..0ed976cd1cce404901d7a65e7a4672fcd1769134 100644 --- a/addons/resource/models/resource.py +++ b/addons/resource/models/resource.py @@ -204,6 +204,14 @@ class ResourceCalendar(models.Model): default.update(name=_('%s (copy)') % (self.name)) return super(ResourceCalendar, self).copy(default) + @api.constrains('attendance_ids') + def _check_attendance_ids(self): + for resource in self: + if (resource.two_weeks_calendar and + resource.attendance_ids.filtered(lambda a: a.display_type == 'line_section') and + not resource.attendance_ids.sorted('sequence')[0].display_type): + raise ValidationError(_("In a calendar with 2 weeks mode, all periods need to be in the sections.")) + @api.depends('two_weeks_calendar') def _compute_two_weeks_explanation(self): today = fields.Date.today() diff --git a/addons/resource/views/resource_views.xml b/addons/resource/views/resource_views.xml index 94252e3e05e2e1260445ee33a92aa12f307dc75d..8069446b99af24ff31e87a6bd540bb6b95264103 100644 --- a/addons/resource/views/resource_views.xml +++ b/addons/resource/views/resource_views.xml @@ -204,6 +204,7 @@ <field name="hour_to" widget="float_time"/> <field name="date_from"/> <field name="date_to"/> + <field name="week_type" readonly="1" force_save="1" groups="base.group_no_one"/> </tree> </field> </record>