[MIG] upgrade_analysis from 14.0 to 15.0
parent
767fb01fa1
commit
a3336031ed
|
@ -5,7 +5,7 @@
|
||||||
"name": "Upgrade Analysis",
|
"name": "Upgrade Analysis",
|
||||||
"summary": "Performs a difference analysis between modules"
|
"summary": "Performs a difference analysis between modules"
|
||||||
" installed on two different Odoo instances",
|
" installed on two different Odoo instances",
|
||||||
"version": "14.0.2.1.1",
|
"version": "15.0.1.0.1",
|
||||||
"category": "Migration",
|
"category": "Migration",
|
||||||
"author": "Therp BV, Opener B.V., GRAP, Odoo Community Association (OCA)",
|
"author": "Therp BV, Opener B.V., GRAP, Odoo Community Association (OCA)",
|
||||||
"website": "https://github.com/OCA/server-tools",
|
"website": "https://github.com/OCA/server-tools",
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
# Copyright 2021 ForgeFlow S.L. (https://www.forgeflow.com)
|
|
||||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
|
||||||
from openupgradelib import openupgrade
|
|
||||||
|
|
||||||
_model_renames = [
|
|
||||||
("openupgrade.analysis.wizard", "upgrade.analysis"),
|
|
||||||
("openupgrade.attribute", "upgrade.attribute"),
|
|
||||||
("openupgrade.comparison.config", "upgrade.comparison.config"),
|
|
||||||
("openupgrade.record", "upgrade.record"),
|
|
||||||
("openupgrade.generate.records.wizard", "upgrade.generate.record.wizard"),
|
|
||||||
("openupgrade.install.all.wizard", "upgrade.install.wizard"),
|
|
||||||
]
|
|
||||||
|
|
||||||
_table_renames = [
|
|
||||||
("openupgrade_analysis_wizard", "upgrade_analysis"),
|
|
||||||
("openupgrade_attribute", "upgrade_attribute"),
|
|
||||||
("openupgrade_comparison_config", "upgrade_comparison_config"),
|
|
||||||
("openupgrade_record", "upgrade_record"),
|
|
||||||
("openupgrade_generate_records_wizard", "upgrade_generate_record_wizard"),
|
|
||||||
("openupgrade_install_all_wizard", "upgrade_install_wizard"),
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
@openupgrade.migrate()
|
|
||||||
def migrate(env, version):
|
|
||||||
openupgrade.rename_models(env.cr, _model_renames)
|
|
||||||
openupgrade.rename_tables(env.cr, _table_renames)
|
|
|
@ -429,10 +429,8 @@ class UpgradeAnalysis(models.Model):
|
||||||
root_node_noupdate = nodeattr2bool(root_node, "noupdate", False)
|
root_node_noupdate = nodeattr2bool(root_node, "noupdate", False)
|
||||||
if root_node.tag not in ("openerp", "odoo", "data"):
|
if root_node.tag not in ("openerp", "odoo", "data"):
|
||||||
raise ValidationError(
|
raise ValidationError(
|
||||||
_(
|
_("Unexpected root Element: %(root)s in file: %(file)s")
|
||||||
"Unexpected root Element: %s in file: %s"
|
% {"root": root_node.getroot(), "file": xml_file}
|
||||||
% (root_node.getroot(), xml_file)
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
for node in root_node:
|
for node in root_node:
|
||||||
if node.tag == "data":
|
if node.tag == "data":
|
||||||
|
|
|
@ -43,11 +43,11 @@ class UpgradeComparisonConfig(models.Model):
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
try:
|
try:
|
||||||
remote = odoorpc.ODOO(self.server, port=self.port)
|
remote = odoorpc.ODOO(self.server, port=self.port)
|
||||||
except URLError:
|
except URLError as exc:
|
||||||
raise UserError(
|
raise UserError(
|
||||||
_("Could not connect the Odoo server at %s:%s")
|
_("Could not connect the Odoo server at %(server)s:%(port)s")
|
||||||
% (self.server, self.port)
|
% {"server": self.server, "port": self.port}
|
||||||
)
|
) from exc
|
||||||
remote.login(self.database, self.username, self.password)
|
remote.login(self.database, self.username, self.password)
|
||||||
self.version = remote.version
|
self.version = remote.version
|
||||||
return remote
|
return remote
|
||||||
|
@ -60,7 +60,7 @@ class UpgradeComparisonConfig(models.Model):
|
||||||
ids = user_model.search([("login", "=", "admin")])
|
ids = user_model.search([("login", "=", "admin")])
|
||||||
user_info = user_model.read([ids[0]], ["name"])[0]
|
user_info = user_model.read([ids[0]], ["name"])[0]
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise UserError(_("Connection failed.\n\nDETAIL: %s") % e)
|
raise UserError(_("Connection failed.\n\nDETAIL: %s") % e) from e
|
||||||
return {
|
return {
|
||||||
"type": "ir.actions.client",
|
"type": "ir.actions.client",
|
||||||
"tag": "display_notification",
|
"tag": "display_notification",
|
||||||
|
|
|
@ -138,7 +138,7 @@ class UpgradeRecord(models.Model):
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def list_modules(self):
|
def list_modules(self):
|
||||||
""" Return the set of covered modules """
|
"""Return the set of covered modules"""
|
||||||
self.env.cr.execute(
|
self.env.cr.execute(
|
||||||
"""SELECT DISTINCT(module) FROM upgrade_record
|
"""SELECT DISTINCT(module) FROM upgrade_record
|
||||||
ORDER BY module"""
|
ORDER BY module"""
|
||||||
|
@ -152,11 +152,13 @@ class UpgradeRecord(models.Model):
|
||||||
with open(os.path.join(addon_dir, manifest_name), "r") as f:
|
with open(os.path.join(addon_dir, manifest_name), "r") as f:
|
||||||
manifest_string = f.read()
|
manifest_string = f.read()
|
||||||
return ast.literal_eval(manifest_string)
|
return ast.literal_eval(manifest_string)
|
||||||
raise ValidationError(_("No manifest found in %s" % addon_dir))
|
raise ValidationError(
|
||||||
|
_("No manifest found in %(addon_dir)s") % {"addon_dir": addon_dir}
|
||||||
|
)
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def get_xml_records(self, module):
|
def get_xml_records(self, module):
|
||||||
""" Return all XML records from the given module """
|
"""Return all XML records from the given module"""
|
||||||
addon_dir = get_module_path(module)
|
addon_dir = get_module_path(module)
|
||||||
manifest = self._read_manifest(addon_dir)
|
manifest = self._read_manifest(addon_dir)
|
||||||
# The order of the keys are important.
|
# The order of the keys are important.
|
||||||
|
|
|
@ -8,4 +8,4 @@ class PreInitHookPatch(OdooPatch):
|
||||||
method_names = ["_pre_init_mrp"]
|
method_names = ["_pre_init_mrp"]
|
||||||
|
|
||||||
def _pre_init_mrp(cr):
|
def _pre_init_mrp(cr):
|
||||||
""" Don't try to create an existing column on reinstall """
|
"""Don't try to create an existing column on reinstall"""
|
||||||
|
|
|
@ -10,4 +10,4 @@ class PreInitHookPatch(OdooPatch):
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def post_install_pos_localisation(cr):
|
def post_install_pos_localisation(cr):
|
||||||
""" Do not configure twice pos_localisation"""
|
"""Do not configure twice pos_localisation"""
|
||||||
|
|
|
@ -8,4 +8,4 @@ class PreInitHookPatch(OdooPatch):
|
||||||
method_names = ["pre_init_hook"]
|
method_names = ["pre_init_hook"]
|
||||||
|
|
||||||
def pre_init_hook(cr):
|
def pre_init_hook(cr):
|
||||||
""" Don't unlink stock data on reinstall """
|
"""Don't unlink stock data on reinstall"""
|
||||||
|
|
|
@ -10,7 +10,7 @@ class BaseModelPatch(OdooPatch):
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def _convert_records(self, records, log=lambda a: None):
|
def _convert_records(self, records, log=lambda a: None):
|
||||||
""" Log data ids that are imported with `load` """
|
"""Log data ids that are imported with `load`"""
|
||||||
current_module = self.env.context["module"]
|
current_module = self.env.context["module"]
|
||||||
for res in BaseModelPatch._convert_records._original_method(
|
for res in BaseModelPatch._convert_records._original_method(
|
||||||
self, records, log=log
|
self, records, log=log
|
||||||
|
|
|
@ -141,7 +141,7 @@ def log_model(model, local_registry):
|
||||||
}
|
}
|
||||||
if v.type == "selection":
|
if v.type == "selection":
|
||||||
if isinstance(v.selection, (tuple, list)):
|
if isinstance(v.selection, (tuple, list)):
|
||||||
properties["selection_keys"] = str(sorted([x[0] for x in v.selection]))
|
properties["selection_keys"] = str(sorted(x[0] for x in v.selection))
|
||||||
else:
|
else:
|
||||||
properties["selection_keys"] = "function"
|
properties["selection_keys"] = "function"
|
||||||
elif v.type == "binary":
|
elif v.type == "binary":
|
||||||
|
|
Loading…
Reference in New Issue