Skip to content

Commit

Permalink
[FIX] migrazione
Browse files Browse the repository at this point in the history
  • Loading branch information
odooNextev committed Nov 15, 2024
1 parent c69b994 commit acc80a1
Show file tree
Hide file tree
Showing 7 changed files with 65 additions and 22 deletions.
11 changes: 8 additions & 3 deletions l10n_it_accompanying_invoice/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,14 @@ Known issues / Roadmap

**Italiano**

Il modulo è stato migrato, ma gli script di migrazione non sono stati
provati e quindi sono stati commentati. Si possono provare in un
ambiente di test decommentando
Odoo Italia non supporta più i moduli alla versione 12.0 perciò non ci
siamo occupati ufficialmente della migrazione dei dati da questa
versione.

Tuttavia se non si volessero perdere i dati già presenti nella versione
12.0 si potrebbe togliere la dipendenza dal modulo ``l10n_it_ddt`` nel
``__manifest__.py`` e lanciare gli script di migrazione commentati. Si
possono provare in un ambiente di test decommentando

- il riferimento a ``hooks.py`` in ``__init__.py``
- ``external_dependencies`` e ``pre_init_hook`` in ``__manifest__.py``
Expand Down
2 changes: 1 addition & 1 deletion l10n_it_accompanying_invoice/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
{
"name": "ITA - Fattura accompagnatoria",
"summary": "Stampa della fattura accompagnatoria",
"version": "16.0.1.0.0",
"version": "16.0.1.0.1",
"category": "Accounting",
"website": "https://github.com/OCA/l10n-italy"
"/tree/16.0/l10n_it_accompanying_invoice",
Expand Down
22 changes: 14 additions & 8 deletions l10n_it_accompanying_invoice/hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from openupgradelib import openupgrade
from openupgradelib.openupgrade import logged_query

from odoo.tools import DotDict

Expand Down Expand Up @@ -169,13 +168,13 @@
]


def remove_models(cr, model_spec):
for name in model_spec:
logged_query(
cr,
"DELETE FROM ir_model WHERE model = %s",
(name,),
)
# def remove_models(cr, model_spec):
# for name in model_spec:
# logged_query(
# cr,
# "DELETE FROM ir_model WHERE model = %s",
# (name,),
# )


def migrate_old_module(cr):
Expand Down Expand Up @@ -216,4 +215,11 @@ def migrate_old_module(cr):

def pre_absorb_old_module(cr):
if openupgrade.is_module_installed(cr, "l10n_it_accompanying_invoice"):
openupgrade.update_module_names(
cr,
[
("l10n_it_fattura_accompagnatoria", "l10n_it_accompanying_invoice"),
],
merge_modules=True,
)
migrate_old_module(cr)
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from openupgradelib import openupgrade

from .hooks import RENAMED_FIELDS


def _get_set_clause(fields_list):
set_fields_list = [f"{field[1]} = ai.{field[0]}" for field in fields_list]
set_fields_clause = ", ".join(set_fields_list)
return set_fields_clause


def migrate(cr, installed_version):
fields_list = [(field[0][1], field[1][1]) for field in RENAMED_FIELDS]
set_fields_clause = _get_set_clause(fields_list)
query = f"""
UPDATE account_move am
SET {set_fields_clause}
FROM account_invoice ai
WHERE am.old_invoice_id = ai.id
"""
openupgrade.logged_query(cr, query)
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
# but it raises
# > ImportError: attempted relative import with no known parent package
# pylint: disable=odoo-addons-relative-import
# from odoo.addons.l10n_it_accompanying_invoice import hooks
from . import hooks


# def migrate(cr, installed_version):
# # Used by OpenUpgrade when module is in `apriori`
# hooks.migrate_old_module(cr)
def migrate(cr, installed_version):
# Used by OpenUpgrade when module is in `apriori`
hooks.migrate_old_module(cr)
11 changes: 8 additions & 3 deletions l10n_it_accompanying_invoice/readme/ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
**Italiano**

Il modulo è stato migrato, ma gli script di migrazione non
sono stati provati e quindi sono stati commentati.
Odoo Italia non supporta più i moduli alla versione 12.0 perciò
non ci siamo occupati ufficialmente della migrazione dei dati da
questa versione.

Tuttavia se non si volessero perdere i dati già presenti nella
versione 12.0 si potrebbe togliere la dipendenza dal modulo
`l10n_it_ddt` nel `__manifest__.py` e lanciare gli script di
migrazione commentati.
Si possono provare in un ambiente di test decommentando
- il riferimento a `hooks.py` in `__init__.py`
- `external_dependencies` e `pre_init_hook` in `__manifest__.py`
- le righe di codice in `migrations/16.0.1.0.0/pre-migrate.py`

10 changes: 7 additions & 3 deletions l10n_it_accompanying_invoice/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -398,9 +398,13 @@ <h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
<div class="section" id="known-issues-roadmap">
<h1><a class="toc-backref" href="#toc-entry-2">Known issues / Roadmap</a></h1>
<p><strong>Italiano</strong></p>
<p>Il modulo è stato migrato, ma gli script di migrazione non sono stati
provati e quindi sono stati commentati. Si possono provare in un
ambiente di test decommentando</p>
<p>Odoo Italia non supporta più i moduli alla versione 12.0 perciò non ci
siamo occupati ufficialmente della migrazione dei dati da questa
versione.</p>
<p>Tuttavia se non si volessero perdere i dati già presenti nella versione
12.0 si potrebbe togliere la dipendenza dal modulo <tt class="docutils literal">l10n_it_ddt</tt> nel
<tt class="docutils literal">__manifest__.py</tt> e lanciare gli script di migrazione commentati. Si
possono provare in un ambiente di test decommentando</p>
<ul class="simple">
<li>il riferimento a <tt class="docutils literal">hooks.py</tt> in <tt class="docutils literal">__init__.py</tt></li>
<li><tt class="docutils literal">external_dependencies</tt> e <tt class="docutils literal">pre_init_hook</tt> in <tt class="docutils literal">__manifest__.py</tt></li>
Expand Down

0 comments on commit acc80a1

Please sign in to comment.