diff --git a/addons/website_event_meet/models/event_meeting_room.py b/addons/website_event_meet/models/event_meeting_room.py index cad8bc78936..4d88f9aaedd 100644 --- a/addons/website_event_meet/models/event_meeting_room.py +++ b/addons/website_event_meet/models/event_meeting_room.py @@ -1,9 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from werkzeug.urls import url_join - -from odoo import api, fields, models, _ +from odoo import api, fields, models from odoo.addons.http_routing.models.ir_http import slug @@ -21,17 +19,10 @@ class EventMeetingRoom(models.Model): is_published = fields.Boolean(copy=True) # make the inherited field copyable event_id = fields.Many2one("event.event", string="Event", required=True, ondelete="cascade") is_pinned = fields.Boolean("Is Pinned") - summary = fields.Char("Summary") + chat_room_id = fields.Many2one("chat.room", required=True, ondelete="restrict") + summary = fields.Char("Summary", translate=True) target_audience = fields.Char("Audience", translate=True) - # TDE FIXME: merge with mixin code - ROOM_CONFIG_FIELDS = { - 'room_name': 'name', - 'room_lang_id': 'lang_id', - 'room_max_capacity': 'max_capacity', - 'room_participant_count': 'participant_count', - } - @api.depends('name', 'event_id.name') def _compute_website_url(self): super(EventMeetingRoom, self)._compute_website_url() @@ -42,19 +33,7 @@ class EventMeetingRoom(models.Model): @api.model_create_multi def create(self, values_list): - # TDE FIXME: merge with mixin code for values in values_list: - if not values.get("chat_room_id"): - # be sure to always create a `chat.room` for each `event.meeting.room` - chat_room = self.env["chat.room"].create({ - self.ROOM_CONFIG_FIELDS[field]: value - for field, value in dict(values).items() - if field in self.ROOM_CONFIG_FIELDS and values.pop(field) - }) - - values["chat_room_id"] = chat_room.id - - values["name"] = values["name"].capitalize() - values["target_audience"] = (values.get("target_audience") or _("Attendee(s)")).capitalize() - + if not values.get("chat_room_id") and not values.get('room_name'): + values['room_name'] = 'odoo-room-%s' % (values['name']) return super(EventMeetingRoom, self).create(values_list) diff --git a/addons/website_event_meet/tests/test_website_event_meet.py b/addons/website_event_meet/tests/test_website_event_meet.py index becb51e85bf..a6687a3623f 100644 --- a/addons/website_event_meet/tests/test_website_event_meet.py +++ b/addons/website_event_meet/tests/test_website_event_meet.py @@ -38,8 +38,9 @@ class TestWebsiteEventMeet(TestEventCommon): "target_audience": "dev", "room_max_capacity": "20", }) - + self.assertEqual(meeting_room_1.room_name, 'odoo-room-test-meeting-room') meeting_room_2 = meeting_room_1.copy() + self.assertEqual(meeting_room_2.room_name, 'odoo-room-test-meeting-room-1') chat_room_1 = meeting_room_1.chat_room_id chat_room_2 = meeting_room_2.chat_room_id @@ -51,6 +52,9 @@ class TestWebsiteEventMeet(TestEventCommon): self.assertEqual(chat_room_1.max_capacity, "20", "Must set the max capacity on the chat room") self.assertEqual(chat_room_2.max_capacity, "20", "Must copy the max capacity") + meeting_room_3 = meeting_room_1.copy() + self.assertEqual(meeting_room_3.room_name, 'odoo-room-test-meeting-room-2') + def test_meeting_room_unlink(self): """Test the duplication of the meeting room.""" meeting_room = self.env["event.meeting.room"].create({ diff --git a/addons/website_event_meet/views/event_meet_templates_list.xml b/addons/website_event_meet/views/event_meet_templates_list.xml index 85b92c920fe..2ca4ab38b37 100644 --- a/addons/website_event_meet/views/event_meet_templates_list.xml +++ b/addons/website_event_meet/views/event_meet_templates_list.xml @@ -115,7 +115,7 @@
Want to create your own discussion room ?
Be sure you are ready to spend at least 10 minutes in the room if you want to initiate a new topic.
- Create a Room +