add openeducat modules

This commit is contained in:
XuanHuyen
2025-05-05 09:03:48 +07:00
parent 4f8478d1e7
commit 0bf3600b22
1206 changed files with 317180 additions and 0 deletions
@@ -0,0 +1,23 @@
##############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import asset
from . import facility_line
from . import classroom
@@ -0,0 +1,31 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import fields, models
class OpAsset(models.Model):
_name = "op.asset"
_description = "Classroom Assets"
asset_id = fields.Many2one('op.classroom', 'Asset')
product_id = fields.Many2one('product.product', 'Product', required=True)
code = fields.Char('Code', size=256)
product_uom_qty = fields.Float('Quantity', required=True)
@@ -0,0 +1,45 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import api, fields, models
class OpClassroom(models.Model):
_name = "op.classroom"
_description = "Classroom"
name = fields.Char('Name', size=16, required=True)
code = fields.Char('Code', size=16, required=True)
course_id = fields.Many2one('op.course', 'Course')
batch_id = fields.Many2one('op.batch', 'Batch')
capacity = fields.Integer(string='No Of Person')
facilities = fields.One2many('op.facility.line', 'classroom_id',
string='Facility Lines')
asset_line = fields.One2many('op.asset', 'asset_id',
string='Asset')
active = fields.Boolean(default=True)
_sql_constraints = [
('unique_classroom_code',
'unique(code)', 'Code should be unique per classroom!')]
@api.onchange('course_id')
def onchange_course(self):
self.batch_id = False
@@ -0,0 +1,32 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import fields, models
class OpFacilityLine(models.Model):
_inherit = "op.facility.line"
classroom_id = fields.Many2one('op.classroom', 'Classroom')
_sql_constraints = [
('unique_facility_classroom',
'UNIQUE(facility_id, classroom_id)',
'Facility name exists. Please choose a unique name or update the quantity.')]