diff --git a/student_management/models/student_student.py b/student_management/models/student_student.py index 4c5ab24..52975b7 100644 --- a/student_management/models/student_student.py +++ b/student_management/models/student_student.py @@ -1,4 +1,5 @@ -from odoo import fields, models, api +from odoo import fields, models, api, _ +from odoo.exceptions import UserError class StudentStudent(models.Model): _name = 'student.student' @@ -15,6 +16,20 @@ class StudentStudent(models.Model): phone = fields.Char(string='Số điện thoại') course_ids = fields.Many2many('student.course', string='Môn học') + state = fields.Selection([ + ('draft', 'Draft'), + ('confirmed', 'Confirmed'), + ('graduated', 'Graduated') + ], string='Status', default='draft') + + def action_confirm(self): + self.write({'state': 'confirmed'}) + + def action_graduate(self): + if not self.env.user.has_group('base.group_sysem'): + raise UserError(_("Only administrators can graduate students!")) + self.write({'state': 'graduated'}) + @api.model def _generate_student_id(self): last_student = self.search([], order='id desc', limit=1) diff --git a/student_management/views/student_student_views.xml b/student_management/views/student_student_views.xml index 320adaa..32d741f 100644 --- a/student_management/views/student_student_views.xml +++ b/student_management/views/student_student_views.xml @@ -21,6 +21,14 @@ student.student
+
+