diff --git a/room/__manifest__.py b/room/__manifest__.py index 7e607ded5..ccc09b6df 100644 --- a/room/__manifest__.py +++ b/room/__manifest__.py @@ -7,7 +7,7 @@ 'description': 'Experience the Ease of Booking Meeting Rooms with Real-Time Availability Display.', 'category': 'Services/Room', 'version': '1.0', - 'depends': ['mail', 'hr'], + 'depends': ['mail', 'hr', 'documents'], 'data': [ 'views/room_booking_views.xml', 'views/room_room_views.xml', diff --git a/room/models/room_booking.py b/room/models/room_booking.py index 1fb35c915..367e184c3 100644 --- a/room/models/room_booking.py +++ b/room/models/room_booking.py @@ -21,19 +21,43 @@ class RoomBooking(models.Model): office_id = fields.Many2one(related="room_id.office_id", string="Office", readonly=True, store=True) company_id = fields.Many2one(related="room_id.company_id", string="Company", readonly=True, store=True) # pengyuthon - meeting_type = fields.Selection([('up', '线上'), ('down', '线下')], string="会议类型", required=True) - room_users_id = fields.Many2many('res.users', string="会议参加人员") - meeting_note = fields.Text(string="会议纪要") + is_notice = fields.Boolean(string="是否发布通知", default=True) + meeting_type = fields.Selection([('up', '线上'), ('down', '线下')], default='down', string="会议类型", required=True) + room_users_ids = fields.Many2many('res.users', string="会议参加人员") + meeting_party_note = fields.Text(string="党之委会议纪要") + party_documents_ids = fields.Many2many('documents.document', string="党之委会议纪要文件") + meeting_class_note = fields.Text(string="班子会议纪要") + class_documents_ids = fields.Many2many('documents.document', string="班子会议纪要文件") + meeting_boss_note = fields.Text(string="董事会议纪要") + boss_documents_ids = fields.Many2many('documents.document', string="董事会议纪要文件") meeting_sing_ids = fields.One2many('room.meeting.sign', 'room_booking_id', string="签到详情") meeting_data = fields.Html(string="会议说明") - def meet_notice(self): - pass - - def meet_change_notice(self): - pass - + if self.is_notice: + for user in self.room_users_ids: + self.env['room.meeting.sign'].create({ + 'room_booking_id': self.id, + 'sign_user_id': user.id, + 'sign_user_name': user.name, + 'user_type': 'insiders', + 'sign_type': 'no', + }) + self.env['project.task'].create({ + 'name': '您有新的预定的会议' + self.name + "请知晓", + 'user_ids': [(4, user.id)], + }) + event = self.env['calendar.event'].create({ + 'name': self.name, + 'start': self.start_datetime, + 'stop': self.stop_datetime, + }) + for partner in self.room_users_ids.employee_ids: + self.env['calendar.attendee'].create({ + 'event_id': event.id, + 'partner_id': partner.address_id.id, + }) + # 企业用户发送通知 def meeting_sign_in(self): pass diff --git a/room/models/room_meeting_sign.py b/room/models/room_meeting_sign.py index bbd5adc89..a72c8a054 100644 --- a/room/models/room_meeting_sign.py +++ b/room/models/room_meeting_sign.py @@ -10,7 +10,7 @@ class RoomMeetingSign(models.Model): _description = "会议签到" room_booking_id = fields.Many2one('room.booking', string="会议") - sign_user_id = fields.Many2one('res.users', string="人员") + sign_user_name = fields.Char(string="人员") user_type = fields.Selection([('insiders', '内部人员'), ('outsiders', '外部人员')], default='no', string="人员类型") sign_type = fields.Selection([('no', '未签到'), ('yes', '已签到')], default='no', string="签到状态") diff --git a/room/models/room_room.py b/room/models/room_room.py index 8c5171200..5dc54b100 100644 --- a/room/models/room_room.py +++ b/room/models/room_room.py @@ -49,11 +49,11 @@ class Room(models.Model): for room in self: room.bookings_count = bookings_count_by_room.get(room, 0) - @api.depends("office_id") - def _compute_display_name(self): - super()._compute_display_name() - for room in self: - room.display_name = f"{room.office_id.name} - {room.name}" + # @api.depends("office_id") + # def _compute_display_name(self): + # super()._compute_display_name() + # for room in self: + # room.display_name = f"{room.office_id.name} - {room.name}" @api.depends("room_booking_ids") def _compute_is_available(self): diff --git a/room/security/ir_rule.xml b/room/security/ir_rule.xml index a9afe351c..f92da61dd 100644 --- a/room/security/ir_rule.xml +++ b/room/security/ir_rule.xml @@ -7,15 +7,15 @@ - - Room Room MC Rule - - [('company_id', 'in', company_ids)] - + + + + + - - Room Office MC Rule - - [('company_id', 'in', company_ids)] - + + + + + diff --git a/room/static/description/icon.png b/room/static/description/icon.png index a305f8f72..5068a3d9d 100644 Binary files a/room/static/description/icon.png and b/room/static/description/icon.png differ diff --git a/room/static/description/icon.svg b/room/static/description/icon.svg index 41f9e0413..8992cc3fc 100644 --- a/room/static/description/icon.svg +++ b/room/static/description/icon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/room/views/room_booking_views.xml b/room/views/room_booking_views.xml index 609623179..cc27467fe 100644 --- a/room/views/room_booking_views.xml +++ b/room/views/room_booking_views.xml @@ -23,21 +23,21 @@ room.booking + date_start="start_datetime" + date_stop="stop_datetime" + default_group_by="room_id" + precision="{'day': 'hour:quarter', 'week': 'day:half', 'month': 'day:half', 'year': 'day:full'}" + default_scale="day" + dynamic_range="1" + color="organizer_id" + string="Bookings" + plan="0">
  • - Organizer: + Organizer:
  • @@ -57,7 +57,8 @@ room.booking.view.calendar room.booking - + @@ -93,11 +94,11 @@
    • - Room: + Room:
    • - Date: + Date: @@ -125,8 +126,8 @@