general code
This commit is contained in:
@@ -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>
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user