You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
5.3 KiB
105 lines
5.3 KiB
# -*- coding: utf-8 -*-
|
|
#############################################################################
|
|
#
|
|
# Cybrosys Technologies Pvt. Ltd.
|
|
#
|
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
|
|
# Author: Gayathri V (<https://www.cybrosys.com>)
|
|
#
|
|
# You can modify it under the terms of the GNU AFFERO
|
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
|
|
#
|
|
# 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
|
|
#
|
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
|
|
# (AGPL v3) along with this program.
|
|
# If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
#############################################################################
|
|
from odoo import fields, models
|
|
|
|
|
|
class ModuleActivity(models.Model):
|
|
"""Creating a new record to specify the histories"""
|
|
_name = "module.activity"
|
|
_description = "Module activity"
|
|
|
|
modules_id = fields.Many2one('ir.module.module', string="Module",
|
|
help="Module identifier")
|
|
technical_name = fields.Char(string="Technical Name",
|
|
related="modules_id.name",
|
|
help="Technical name of the module")
|
|
status = fields.Selection([('uninstallable', 'Uninstallable'),
|
|
('uninstalled', 'Not Installed'),
|
|
('installed', 'Installed'),
|
|
('to upgrade', 'To be upgraded'),
|
|
('to remove', 'To be removed'),
|
|
('to install', 'To be installed')],
|
|
related="modules_id.state", string="Status",
|
|
help="Status of the module")
|
|
uninstalled_history_ids = fields.One2many('uninstall.history',
|
|
'uninstall_id',
|
|
string='Uninstalled History',
|
|
help="History of uninstallation "
|
|
"of the module")
|
|
installed_history_ids = fields.One2many('install.history', 'install_id',
|
|
string="Installed History",
|
|
help="History of installation of "
|
|
"the module")
|
|
upgrade_history_ids = fields.One2many('upgrade.history', 'upgrade_id',
|
|
string='Upgrade History',
|
|
help="History of upgrade of the "
|
|
"module")
|
|
|
|
|
|
class InstalledHistory(models.Model):
|
|
_name = 'install.history'
|
|
_description = "Installation History"
|
|
|
|
installed_module_id = fields.Many2one('ir.module.module',
|
|
string='Installed', help="Installed "
|
|
"Module "
|
|
"Identifier")
|
|
technical_name = fields.Char(string="Technical Name",
|
|
help="Technical name of the module")
|
|
user_id = fields.Many2one('res.users', string="Responsible User",
|
|
help="Responsible")
|
|
installed_date = fields.Datetime(string="Installed On",
|
|
help="Installed date")
|
|
install_id = fields.Many2one('module.activity', string="Inverse Install")
|
|
|
|
|
|
class UninstalledHistory(models.Model):
|
|
_name = 'uninstall.history'
|
|
_description = "Uninstallation history"
|
|
|
|
uninstalled_module_id = fields.Many2one('ir.module.module',
|
|
string="Uninstalled module",
|
|
help="Uninstalled module name")
|
|
technical_name = fields.Char(string="Technical Name",
|
|
help="Technical name of the module")
|
|
user_id = fields.Many2one('res.users', string="Responsible User",
|
|
help="Responsible user for the uninstallation")
|
|
uninstalled_date = fields.Datetime(string="Last Uninstalled On",
|
|
help="Uninstalled date")
|
|
uninstall_id = fields.Many2one('module.activity', string="Uninstalled",
|
|
help="Uninstalled inverse of module.activity")
|
|
|
|
|
|
class UpgradeHistory(models.Model):
|
|
_name = 'upgrade.history'
|
|
_description = "Upgrade History"
|
|
|
|
upgrade_module_id = fields.Many2one('ir.module.module',
|
|
string="Upgrade module name",
|
|
help="Upgrade module identifier using name")
|
|
technical_name = fields.Char(string="Technical Name",
|
|
help="Technical name of the module")
|
|
user_id = fields.Many2one('res.users', string="Responsible user",
|
|
help="Responsible user to upgrade")
|
|
upgrade_date = fields.Datetime(string="Upgrade On", help="Upgrade date")
|
|
upgrade_id = fields.Many2one('module.activity', string="Upgrade",
|
|
help="Upgrade inverse of module.activity")
|
|
|