diff --git a/addons/website_event_exhibitor/models/event_sponsor.py b/addons/website_event_exhibitor/models/event_sponsor.py index 91af79d7edd..7b6a699014c 100644 --- a/addons/website_event_exhibitor/models/event_sponsor.py +++ b/addons/website_event_exhibitor/models/event_sponsor.py @@ -224,6 +224,12 @@ class Sponsor(models.Model): def get_backend_menu_id(self): return self.env.ref('event.event_main_menu').id + def open_website_url(self): + """ Overridden to use a relative URL instead of an absolute when website_id is False. """ + if self.event_id.website_id: + return super().open_website_url() + return self.env['website'].get_client_action(f'/event/{slug(self.event_id)}/exhibitor/{slug(self)}') + # ------------------------------------------------------------ # MESSAGING # ------------------------------------------------------------ diff --git a/addons/website_event_meet/models/event_meeting_room.py b/addons/website_event_meet/models/event_meeting_room.py index b8e17ed8f39..6a08d209311 100644 --- a/addons/website_event_meet/models/event_meeting_room.py +++ b/addons/website_event_meet/models/event_meeting_room.py @@ -52,3 +52,9 @@ class EventMeetingRoom(models.Model): ("room_participant_count", "=", 0), ("room_last_activity", "<", fields.Datetime.now() - self._DELAY_CLEAN), ]).active = False + + def open_website_url(self): + """ Overridden to use a relative URL instead of an absolute when website_id is False. """ + if self.event_id.website_id: + return super().open_website_url() + return self.env['website'].get_client_action(f'/event/{slug(self.event_id)}/meeting_room/{slug(self)}') diff --git a/addons/website_slides/models/slide_channel.py b/addons/website_slides/models/slide_channel.py index 3500f4165c1..c1872242076 100644 --- a/addons/website_slides/models/slide_channel.py +++ b/addons/website_slides/models/slide_channel.py @@ -1272,3 +1272,9 @@ class Channel(models.Model): if field in image_fields: return self.website_default_background_image_url return super()._get_placeholder_filename(field) + + def open_website_url(self): + """ Overridden to use a relative URL instead of an absolute when website_id is False. """ + if self.website_id: + return super().open_website_url() + return self.env['website'].get_client_action(f'/slides/{slug(self)}') diff --git a/addons/website_slides/models/slide_slide.py b/addons/website_slides/models/slide_slide.py index 1a81ff84a18..6e24bbfcf59 100644 --- a/addons/website_slides/models/slide_slide.py +++ b/addons/website_slides/models/slide_slide.py @@ -1402,3 +1402,9 @@ class Slide(models.Model): data['course'] = _('Course: %s', slide.channel_id.name) data['course_url'] = slide.channel_id.website_url return results_data + + def open_website_url(self): + """ Overridden to use a relative URL instead of an absolute when website_id is False. """ + if self.website_id: + return super().open_website_url() + return self.env['website'].get_client_action(f'/slides/slide/{slug(self)}')