27 lines
1.0 KiB
Python
27 lines
1.0 KiB
Python
from odoo import fields, models, api
|
|
|
|
|
|
class AssignmentSubmissionBatchWizard(models.TransientModel):
|
|
"""批量批改向导——老师选中多条提交后统一填写分数与评语。"""
|
|
|
|
_name = 'yuthon.school.assignment.submission.batch.wizard'
|
|
_description = '批量批改向导'
|
|
|
|
score = fields.Float(string='得分', required=True)
|
|
feedback = fields.Text(string='评语')
|
|
|
|
def action_apply(self):
|
|
active_ids = self.env.context.get('active_ids', [])
|
|
if not active_ids:
|
|
return {'type': 'ir.actions.act_window_close'}
|
|
submissions = self.env['yuthon.school.assignment.submission'].browse(active_ids)
|
|
# 批量批改只处理已提交(待批改)的记录
|
|
submissions = submissions.filtered(lambda s: s.state == 'submitted')
|
|
if submissions:
|
|
submissions.write({
|
|
'score': self.score,
|
|
'feedback': self.feedback,
|
|
'state': 'graded',
|
|
})
|
|
return {'type': 'ir.actions.act_window_close'}
|