commit
c93b86c215
|
@ -35,7 +35,7 @@ modules are included in the OpenUpgrade distribution so as a migration
|
|||
script developer you will not usually need to use this tool yourself. If
|
||||
you do need to run your analysis of a custom set of modules, please
|
||||
refer to the documentation here:
|
||||
https://doc.therp.nl/openupgrade/analysis.html
|
||||
<https://doc.therp.nl/openupgrade/analysis.html>
|
||||
|
||||
This module is just a tool, a continuation of the old
|
||||
openupgrade_records in OpenUpgrade in previous versions. It's not
|
||||
|
|
|
@ -480,7 +480,8 @@ def compare_model_sets(old_records, new_records):
|
|||
text += f" [{column['model_type']}]"
|
||||
reprs[module_map(column["module"])].append(text)
|
||||
reprs["general"].append(
|
||||
f"obsolete model {model} [module module_map(column['module'])]"
|
||||
f"obsolete model {model} "
|
||||
f"[module {module_map(column['module'])}]"
|
||||
)
|
||||
else:
|
||||
moved_module = ""
|
||||
|
@ -492,7 +493,7 @@ def compare_model_sets(old_records, new_records):
|
|||
moved_module,
|
||||
)
|
||||
if column["model_type"]:
|
||||
text += " [column['model_type']]"
|
||||
text += f" [{column['model_type']}]"
|
||||
reprs[module_map(column["module"])].append(text)
|
||||
reprs["general"].append(
|
||||
f"obsolete model {model} (renamed to {model_map(model)}) "
|
||||
|
@ -502,11 +503,11 @@ def compare_model_sets(old_records, new_records):
|
|||
if module_map(column["module"]) != new_models[model]:
|
||||
text = f"model {model} (moved to {new_models[model]})"
|
||||
if column["model_type"]:
|
||||
text += " [column['model_type']]"
|
||||
text += f" [{column['model_type']}]"
|
||||
reprs[module_map(column["module"])].append(text)
|
||||
text = f"model {model} (moved from {old_models[model]})"
|
||||
if column["model_type"]:
|
||||
text += " [column['model_type']]"
|
||||
text += f" [{column['model_type']}]"
|
||||
|
||||
for column in copy.copy(new_records):
|
||||
model = column["model"]
|
||||
|
|
|
@ -532,7 +532,16 @@ class UpgradeAnalysis(models.Model):
|
|||
|
||||
module_domain = [
|
||||
("state", "=", "installed"),
|
||||
("name", "not in", ["upgrade_analysis", "openupgrade_records"]),
|
||||
(
|
||||
"name",
|
||||
"not in",
|
||||
[
|
||||
"upgrade_analysis",
|
||||
"openupgrade_records",
|
||||
"openupgrade_scripts",
|
||||
"openupgrade_framework",
|
||||
],
|
||||
),
|
||||
]
|
||||
|
||||
connection = self.config_id.get_connection()
|
||||
|
@ -552,16 +561,19 @@ class UpgradeAnalysis(models.Model):
|
|||
module_descriptions = {}
|
||||
for module in all_modules:
|
||||
status = ""
|
||||
is_new = False
|
||||
if module in all_local_modules and module in all_remote_modules:
|
||||
module_description = " %s" % module
|
||||
elif module in all_local_modules:
|
||||
module_description = " |new| %s" % module
|
||||
is_new = True
|
||||
else:
|
||||
module_description = " |del| %s" % module
|
||||
|
||||
if module in compare.apriori.merged_modules:
|
||||
# new modules cannot be merged/renamed in same version
|
||||
if not is_new and module in compare.apriori.merged_modules:
|
||||
status = "Merged into %s. " % compare.apriori.merged_modules[module]
|
||||
elif module in compare.apriori.renamed_modules:
|
||||
elif not is_new and module in compare.apriori.renamed_modules:
|
||||
status = "Renamed to %s. " % compare.apriori.renamed_modules[module]
|
||||
elif module in compare.apriori.renamed_modules.values():
|
||||
status = (
|
||||
|
|
|
@ -93,4 +93,10 @@ class UpgradeComparisonConfig(models.Model):
|
|||
|
||||
def action_show_analysis(self):
|
||||
self.ensure_one()
|
||||
return {}
|
||||
return {
|
||||
"type": "ir.actions.act_window",
|
||||
"name": "Analyses",
|
||||
"res_model": "upgrade.analysis",
|
||||
"view_mode": "tree,form",
|
||||
"domain": [("id", "in", self.analysis_ids.ids)],
|
||||
}
|
||||
|
|
|
@ -8,11 +8,10 @@
|
|||
|
||||
/*
|
||||
:Author: David Goodger (goodger@python.org)
|
||||
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
|
||||
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
Despite the name, some widely supported CSS2 features are used.
|
||||
|
||||
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
|
@ -275,7 +274,7 @@ pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
pre.code .ln { color: gray; } /* line numbers */
|
||||
pre.code .ln { color: grey; } /* line numbers */
|
||||
pre.code, code { background-color: #eeeeee }
|
||||
pre.code .comment, code .comment { color: #5C6576 }
|
||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
||||
|
@ -301,7 +300,7 @@ span.option {
|
|||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic, pre.problematic {
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
|
@ -442,9 +441,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|||
<div class="section" id="maintainers">
|
||||
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
|
||||
<p>This module is maintained by the OCA.</p>
|
||||
<a class="reference external image-reference" href="https://odoo-community.org">
|
||||
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
||||
</a>
|
||||
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
|
||||
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
||||
mission is to support the collaborative development of Odoo features and
|
||||
promote its widespread use.</p>
|
||||
|
|
|
@ -8,7 +8,7 @@ class TestUpgradeAnalysis(common.TransactionCase):
|
|||
def setUp(self):
|
||||
super().setUp()
|
||||
self.IrModuleModule = self.env["ir.module.module"]
|
||||
self.product_module = self.IrModuleModule.search([("name", "=", "product")])
|
||||
self.website_module = self.IrModuleModule.search([("name", "=", "website")])
|
||||
self.sale_module = self.IrModuleModule.search([("name", "=", "sale")])
|
||||
self.upgrade_analysis = self.IrModuleModule.search(
|
||||
[("name", "=", "upgrade_analysis")]
|
||||
|
@ -20,19 +20,19 @@ class TestUpgradeAnalysis(common.TransactionCase):
|
|||
|
||||
wizard.select_odoo_modules()
|
||||
self.assertTrue(
|
||||
self.product_module.id in wizard.module_ids.ids,
|
||||
self.website_module.id in wizard.module_ids.ids,
|
||||
"Select Odoo module should select 'product' module",
|
||||
)
|
||||
|
||||
wizard.select_oca_modules()
|
||||
self.assertTrue(
|
||||
self.upgrade_analysis.id in wizard.module_ids.ids,
|
||||
"Select OCA module should select 'upgrade_analysis' module",
|
||||
)
|
||||
# New patch avoids to reinstall already installed modules, so this will fail
|
||||
# wizard.select_oca_modules()
|
||||
# self.assertTrue(
|
||||
# self.upgrade_analysis.id in wizard.module_ids.ids,
|
||||
# "Select OCA module should select 'upgrade_analysis' module",
|
||||
# )
|
||||
|
||||
wizard.select_other_modules()
|
||||
self.assertFalse(
|
||||
self.product_module.id in wizard.module_ids.ids,
|
||||
self.website_module.id in wizard.module_ids.ids,
|
||||
"Select Other module should not select 'product' module",
|
||||
)
|
||||
|
||||
|
|
|
@ -213,7 +213,7 @@ def log_xml_id(cr, module, xml_id):
|
|||
if "." not in xml_id:
|
||||
xml_id = f"{module}.{xml_id}"
|
||||
cr.execute(
|
||||
"SELECT model FROM ir_model_data " "WHERE module = %s AND name = %s",
|
||||
"SELECT model FROM ir_model_data WHERE module = %s AND name = %s",
|
||||
xml_id.split("."),
|
||||
)
|
||||
record = cr.fetchone()
|
||||
|
|
|
@ -35,7 +35,7 @@ class UpgradeInstallWizard(models.TransientModel):
|
|||
def _module_ids_domain(self, extra_domain=None):
|
||||
domain = [
|
||||
"&",
|
||||
("state", "not in", ["uninstallable", "unknown"]),
|
||||
("state", "not in", ["installed", "uninstallable", "unknown"]),
|
||||
("name", "not in", BLACKLIST_MODULES),
|
||||
]
|
||||
if extra_domain:
|
||||
|
|
Loading…
Reference in New Issue