From d1806a0b62e9f17a6b7046586ad730b03f772a10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Wed, 14 Aug 2024 20:39:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- room/__manifest__.py | 2 +- room/models/room_booking.py | 42 +++++++++++++---- room/models/room_meeting_sign.py | 2 +- room/models/room_room.py | 10 ++--- room/security/ir_rule.xml | 20 ++++----- room/static/description/icon.png | Bin 5755 -> 9399 bytes room/static/description/icon.svg | 2 +- room/views/room_booking_views.xml | 50 +++++++++++++-------- yuthon_issue/models/issue_library.py | 27 +++++++++-- yuthon_issue/views/issue_library_views.xml | 4 +- 10 files changed, 107 insertions(+), 52 deletions(-) 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 a305f8f720f8bc65c6beec4561ab7c09413eff3e..5068a3d9d9661e0e2b96aa0276f0bf53d217ebf3 100644 GIT binary patch literal 9399 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 literal 5755 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 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 @@