diff --git a/yuthon_issue/models/inherit_room_booking.py b/yuthon_issue/models/inherit_room_booking.py index d6447800f..fb24e40cc 100644 --- a/yuthon_issue/models/inherit_room_booking.py +++ b/yuthon_issue/models/inherit_room_booking.py @@ -102,6 +102,12 @@ class RoomBooking(models.Model): for line in main_record.issue_meeting_line_ids: if not line.issue_library_id: continue + existing_line = self.env['issue.library.room.line'].search([ + ('issue_library_id', '=', line.issue_library_id.id), + ('room_booking_id', '=', main_record.id), + ], limit=1) + if existing_line: + continue self.env['issue.library.room.line'].create({ 'issue_library_id': line.issue_library_id.id, 'room_booking_id': main_record.id, diff --git a/yuthon_issue/models/issue_library.py b/yuthon_issue/models/issue_library.py index aa524a9a6..adad6f09a 100644 --- a/yuthon_issue/models/issue_library.py +++ b/yuthon_issue/models/issue_library.py @@ -812,3 +812,14 @@ class IssueLibraryRoomLine(models.Model): room_id = fields.Many2one('room.room', string="会议地点") meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型") approval_date = fields.Datetime(string="创建日期") + + def open_record(self): + self.ensure_one() + return { + 'type': 'ir.actions.act_window', + 'res_model': 'room.booking', + 'res_id': self.room_booking_id.id, + 'view_mode': 'form', + 'target': 'current', + } + diff --git a/yuthon_issue/views/issue_library_views.xml b/yuthon_issue/views/issue_library_views.xml index cb36bec32..e3835ee1a 100644 --- a/yuthon_issue/views/issue_library_views.xml +++ b/yuthon_issue/views/issue_library_views.xml @@ -237,6 +237,7 @@ +