From f75aca9fd50cae40465490310628f2418f9d0fe0 Mon Sep 17 00:00:00 2001 From: qitangbo Date: Mon, 21 Sep 2026 17:49:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(learning=5Fcenter):=20=E6=B8=85?= =?UTF-8?q?=E7=90=86=20course=5Fhomework=20=E6=AE=8B=E7=95=99=E7=9A=84=20G?= =?UTF-8?q?it=20=E5=90=88=E5=B9=B6=E5=86=B2=E7=AA=81=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- learning_center/models/course_homework.py | 72 +------------------ .../models/course_homework_submit.py | 7 -- 2 files changed, 1 insertion(+), 78 deletions(-) diff --git a/learning_center/models/course_homework.py b/learning_center/models/course_homework.py index 3b0cd3b..eea7285 100644 --- a/learning_center/models/course_homework.py +++ b/learning_center/models/course_homework.py @@ -35,15 +35,7 @@ class CourseHomework(models.Model): teaching_class_id = fields.Many2one('course.teaching_class', string='教学班', ondelete='cascade', domain="[('course_id', '=', course_id)]") submit_ids = fields.One2many('course.homework.submit', 'homework_id', string='提交记录') -<<<<<<< HEAD -<<<<<<< HEAD - score_item_ids = fields.One2many('course.score.item', 'homework_id', string='成绩项目') -======= score_item_ids = fields.One2many('course.score.item', 'homework_id', string='成绩项') ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb -======= - score_item_ids = fields.One2many('course.score.item', 'homework_id', string='成绩项') ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb # ====================== 新增:自动计算提交通道是否开启 ====================== @api.depends('state', 'deadline') @@ -90,8 +82,6 @@ class CourseHomework(models.Model): self.publish_time = fields.Datetime.now() # 1. 批量为本班学生生成空白未提交记录 self._auto_create_empty_submit() -<<<<<<< HEAD -<<<<<<< HEAD # 新增:自动生成对应作业的学生成绩明细 self._auto_create_homework_score_detail() # 2. 推送作业通知给学生 @@ -147,15 +137,7 @@ class CourseHomework(models.Model): if detail_vals_list: self.env['course.student.score.detail'].create(detail_vals_list) -======= - # 2. 推送作业通知给学生 - self._send_homework_notice_to_students() -======= - # 2. 推送作业通知给学生 - self._send_homework_notice_to_students() - ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb def _send_homework_notice_to_students(self): """发布作业后推送消息给教学班学生""" self.ensure_one() @@ -184,10 +166,6 @@ class CourseHomework(models.Model): partner_ids=student_users.mapped('partner_id').ids, subtype_xmlid='mail.mt_comment' ) -<<<<<<< HEAD ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb -======= ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb def _auto_create_empty_submit(self): """仅发布时执行:自动给教学班所有已选课学生生成空白未提交记录""" @@ -215,53 +193,12 @@ class CourseHomework(models.Model): batch_vals.append({ 'homework_id': self.id, 'student_id': stu_id, -<<<<<<< HEAD -<<<<<<< HEAD 'course_score_item_id':self.course_score_item_id.id, -======= ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb -======= ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb 'state': 'unsubmit' # 默认未提交 }) # 批量创建空白提交记录 submit_model.create(batch_vals) -<<<<<<< HEAD -<<<<<<< HEAD - def _send_homework_notice_to_students(self): - """发布作业后推送消息给教学班学生""" - self.ensure_one() - if not self.teaching_class_id: - return - # 获取当前教学班所有已选课学生 - enrolls = self.env['course.teaching_class.enrollment'].search([ - ('teaching_class_id', '=', self.teaching_class_id.id), - ('state', '=', 'enrolled') - ]) - student_users = enrolls.mapped('student_id.user_id').filtered(lambda u: u) - if not student_users: - return - # 消息内容 - subject = f"新作业发布:{self.name}" - body = f""" -

课程:{self.course_id.name}

-

作业名称:{self.name}

-

截止时间:{self.deadline or '无'}

-

作业要求:{self.requirement or '无'}

- """ - # 发送消息(关联当前作业记录,学生在消息中心可直接跳转) - self.message_post( - subject=subject, - body=body, - partner_ids=student_users.mapped('partner_id').ids, - subtype_xmlid='mail.mt_note' - ) - -======= ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb -======= ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb # ====================== 草稿/关闭作业 ====================== def action_draft(self): self.state = 'draft' @@ -388,21 +325,14 @@ class CourseHomework(models.Model): def create(self, vals): homework_record = super().create(vals) # 草稿状态不执行自动生成提交记录,移到action_publish -<<<<<<< HEAD -<<<<<<< HEAD - target_a = self.env["course.score.item"].search([ ("name", "=", "作业"), ("create_uid", "=", self.env.uid) ], limit=1) if target_a: - # 将刚新建的B追加到A的多对多字段 + # 将新建的作业追加到"作业"成绩项目的多对多字段 target_a.write({ "homework_ids": [(4, homework_record.id)] }) -======= ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb -======= ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb return homework_record \ No newline at end of file diff --git a/learning_center/models/course_homework_submit.py b/learning_center/models/course_homework_submit.py index 9cdc495..42a4649 100644 --- a/learning_center/models/course_homework_submit.py +++ b/learning_center/models/course_homework_submit.py @@ -93,13 +93,6 @@ class CourseHomeworkSubmit(models.Model): def create(self, vals): submit_rec = super().create(vals) self._check_submit_change_state(submit_rec) -<<<<<<< HEAD -<<<<<<< HEAD - -======= ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb -======= ->>>>>>> 0b2a587b69524dafde97f76bad27721afebdcddb return submit_rec def write(self, vals): -- 2.34.1 From 1b6ea810b2d589c77acdd472d36db46d162537ed Mon Sep 17 00:00:00 2001 From: qitangbo Date: Mon, 21 Sep 2026 17:49:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(college):=20=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E7=B1=BB=E5=88=AB=E9=85=8D=E7=BD=AE=E8=8F=9C=E5=8D=95+?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E5=88=97=E5=90=8D=E3=80=81=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E5=A4=A7=E7=BA=B2=E5=AD=97=E6=AE=B5=E3=80=81=E9=9A=90=E8=97=8F?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E5=88=87=E6=8D=A2=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- college/models/course.py | 1 + college/static/src/scss/college_theme.scss | 8 +++++++ college/views/menus.xml | 27 ++++++++++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/college/models/course.py b/college/models/course.py index 67aad2e..fcb67bb 100644 --- a/college/models/course.py +++ b/college/models/course.py @@ -75,6 +75,7 @@ class SchoolCourse(models.Model): introduction = fields.Html(string='课程介绍', sanitize=True) objectives = fields.Html(string='课程目标', sanitize=True) features = fields.Html(string='课程特色', sanitize=True) + syllabus = fields.Html(string='课程大纲', sanitize=True) business_scenario = fields.Html(string='业务情景', sanitize=True) # 学员分配 diff --git a/college/static/src/scss/college_theme.scss b/college/static/src/scss/college_theme.scss index ac999bf..71d66ae 100644 --- a/college/static/src/scss/college_theme.scss +++ b/college/static/src/scss/college_theme.scss @@ -267,3 +267,11 @@ p, li { color: $o-main-text-color; } } +// ============================================================ +// 隐藏右上角「公司切换器」(我的学校) +// 项目为单学校场景,不需要用户切换公司。 +// ============================================================ +.o_switch_company_menu { + display: none !important; +} + diff --git a/college/views/menus.xml b/college/views/menus.xml index e8e78e6..9eb07d4 100644 --- a/college/views/menus.xml +++ b/college/views/menus.xml @@ -392,4 +392,31 @@ else: action="action_yuthon_about_question_import" sequence="60" groups="college.group_teacher,base.group_system"/> + + + + + ir.module.category.list (college) + ir.module.category + + + + + + + + + + + + 应用类别配置 + ir.module.category + list,form + + + -- 2.34.1