general code

This commit is contained in:
XuanHuyen
2025-04-02 14:43:00 +07:00
parent 3d85101903
commit f16cfc4e40
7 changed files with 102 additions and 8 deletions
+1
View File
@@ -23,6 +23,7 @@ Academy Management
# always loaded
'data': [
'security/ir.model.access.csv',
'data/ir_sequence_data.xml',
'views/academy_course_views.xml',
'views/academy_schedule_views.xml',
'views/academy_student_views.xml',
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
<record id="sequence_course_code" model="ir.sequence">
<field name="name">Academy Course Code</field>
<field name="code">academy.course</field>
<field name="prefix">CNTT</field>
<field name="padding">3</field>
<field name="number_next">1</field>
<field name="number_increment">1</field>
</record>
<record id="sequence_student_code" model="ir.sequence">
<field name="name">Academy Student Code</field>
<field name="code">academy.student</field>
<field name="prefix">SV</field>
<field name="padding">3</field>
<field name="number_next">1</field>
<field name="number_increment">1</field>
</record>
<record id="sequence_teacher_code" model="ir.sequence">
<field name="name">Academy Teacher Code</field>
<field name="code">academy.teacher</field>
<field name="prefix">GV</field>
<field name="padding">3</field>
<field name="number_next">1</field>
<field name="number_increment">1</field>
</record>
</odoo>
+14 -1
View File
@@ -5,6 +5,19 @@ class AcademyCourse(models.Model):
_description = 'Academy Course'
name = fields.Char(string='Tên khóa học', required=True)
code = fields.Char(string='Mã khóa học', required=True)
code = fields.Char(string='Mã khóa học', required=True, copy=False, readonly=True, default=lambda self: _(' '))
description = fields.Text(string='Mô tả khóa học')
student_ids = fields.Many2many('academy.student', string='Học viên đăng ký khóa học')
_sql_constraints = [(
'code_unique',
'unique(code)',
'Mã khóa học phải là duy nhất!'
)]
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if vals.get('code', _(' ')) == _(' '):
vals['code'] = self.env['ir.sequence'].next_by_code('academy.course') or 'CNTT001'
return super(AcademyCourse, self).create(vals_list)
+14 -1
View File
@@ -5,8 +5,21 @@ class AcademyStudent(models.Model):
_description = 'Academy Student'
name = fields.Char(string='Tên học sinh', required=True)
code = fields.Char(string='Mã học sinh', required=True)
code = fields.Char(string='Mã học sinh', required=True, copy=False, readonly=True, default=lambda self: _(' '))
birth_date = fields.Date(string='Ngày sinh')
email = fields.Char(string='Email')
phone = fields.Char(string='Số điện thoại')
course_ids = fields.Many2many('academy.course', string='Các khóa học học sinh đăng ký')
_sql_constraints = [(
'code_unique',
'unique(code)',
'Mã học sinh phải là duy nhất!'
)]
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if vals.get('code', _(' ')) == _(' '):
vals['code'] = self.env['ir.sequence'].next_by_code('academy.student') or 'HS001'
return super().create(vals_list)
+14 -1
View File
@@ -5,7 +5,20 @@ class AcademyTeacher(models.Model):
_description = 'Academy Teacher'
name = fields.Char(string='Tên giáo viên', required=True)
code = fields.Char(string='Mã giáo viên', required=True)
code = fields.Char(string='Mã giáo viên', required=True, copy=False, readonly=True, default=lambda self: _(' '))
email = fields.Char(string='Email')
phone = fields.Char(string='Số điện thoại')
course_ids = fields.Many2many('academy.course', string='Các khóa học giảng dạy')
_sql_constraints = [(
'code_unique',
'unique(code)',
'Mã giáo viên phải là duy nhất!'
)]
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if vals.get('code', _(' ')) == _(' '):
vals['code'] = self.env['ir.sequence'].next_by_code('academy.teacher') or 'GV001'
return super().create(vals_list)
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="0">
<record id="module_category_academy" model="ir.module.category">
<field name="name">Academy Management</field>
</record>
<record id="group_academy_staff" model="res.groups">
<field name="name">Academy Staff</field>
<field name="category_id" ref="academy_management.module_category_academy"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]" />
<field name="comment">this user can only see the list of students but not edited.</field>
</record>
<record id="group_academy_admin" model="res.groups">
<field name="name">Academy Admin</field>
<field name="category_id" ref="academy_management.module_category_academy"/>
<field name="implied_ids" eval="[(4, ref('academy_management.group_academy_staff'))]" />
<field name="comment">this user have the right to manage students, lecturers, courses.</field>
</record>
</data>
</odoo>
@@ -9,7 +9,7 @@
<sheet>
<group>
<field name="name" />
<field name="teacher_id" />
<field name="code" />
<field name="student_ids" widget="many2many_tags" />
<field name="description" />
</group>
@@ -25,7 +25,6 @@
<list string="">
<field name="name" />
<field name="code" />
<field name="teacher_id" />
<field name="student_ids" widget="many2many_tags" />
</list>
</field>