Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIG] l10n_it_accompanying_invoice: Migration to 14.0 #4444

Open
wants to merge 5 commits into
base: 14.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 103 additions & 0 deletions l10n_it_accompanying_invoice/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
=============================
ITA - Fattura accompagnatoria
=============================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:47e2b4ae93928006b62502df808ccab3b5f961ed66ec2be01da41807a4c16011
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github
:target: https://github.com/OCA/l10n-italy/tree/12.0/l10n_it_accompanying_invoice
:alt: OCA/l10n-italy
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/l10n-italy-12-0/l10n-italy-12-0-l10n_it_accompanying_invoice
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&target_branch=12.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

**Italiano**

Questo modulo consente di stampare una fattura accompagnatoria, per visualizzare i dati di *Informazioni di spedizione* nella fattura.

**English**

This module allows you to print an accompanying invoice, to view *Shipping Information* data inside the invoice.

**Table of contents**

.. contents::
:local:

Usage
=====

Valorizzare i campi del foglio *Informazioni di spedizione*.

Usare l'azione *Fattura accompagnatoria* all'interno della lista di azioni *Stampa*, nella vista delle fatture.

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

- 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``

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-italy/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/l10n-italy/issues/new?body=module:%20l10n_it_accompanying_invoice%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Agile Business Group

Contributors
~~~~~~~~~~~~

* Lorenzo Battistini <lorenzo.battistini@agilebg.com>
* Simone Vanin <simone.vanin@agilebg.com>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

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.

This module is part of the `OCA/l10n-italy <https://github.com/OCA/l10n-italy/tree/12.0/l10n_it_accompanying_invoice>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
5 changes: 5 additions & 0 deletions l10n_it_accompanying_invoice/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models

# from .hooks import pre_absorb_old_module
30 changes: 30 additions & 0 deletions l10n_it_accompanying_invoice/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Copyright 2017 Lorenzo Battistini - Agile Business Group
# Copyright 2020 Simone Vanin - Agile Business Group
# Copyright 2023 Simone Rubino - Aion Tech
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "ITA - Fattura accompagnatoria",
"summary": "Stampa della fattura accompagnatoria",
"version": "14.0.1.0.0",
"category": "Accounting",
"website": "https://github.com/OCA/l10n-italy"
"/tree/14.0/l10n_it_accompanying_invoice",
"author": "Agile Business Group, " "Odoo Community Association (OCA)",
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": [
"l10n_it_delivery_note",
],
"data": [
"views/account.xml",
"views/report_invoice.xml",
],
# "external_dependencies": {
# "python": [
# "openupgradelib",
# ],
# },
# "pre_init_hook": "pre_absorb_old_module",
}
219 changes: 219 additions & 0 deletions l10n_it_accompanying_invoice/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
# Copyright 2023 Simone Rubino - Aion Tech
# 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

RENAMED_FIELDS = [
[
(
"account.invoice",
"note",
),
(
"account.move",
"delivery_note",
),
],
[
(
"account.invoice",
"date_done",
),
(
"account.move",
"delivery_transport_datetime",
),
],
[
(
"account.invoice",
"carriage_condition_id",
),
(
"account.move",
"delivery_transport_condition_id",
),
],
[
(
"account.invoice",
"goods_description_id",
),
(
"account.move",
"delivery_goods_appearance_id",
),
],
[
(
"account.invoice",
"transportation_reason_id",
),
(
"account.move",
"delivery_transport_reason_id",
),
],
[
(
"account.invoice",
"transportation_method_id",
),
(
"account.move",
"delivery_transport_method_id",
),
],
[
(
"account.invoice",
"carrier_id",
),
(
"account.move",
"delivery_carrier_id",
),
],
[
(
"account.invoice",
"parcels",
),
(
"account.move",
"delivery_packages",
),
],
[
(
"account.invoice",
"weight",
),
(
"account.move",
"delivery_net_weight",
),
],
[
(
"account.invoice",
"gross_weight",
),
(
"account.move",
"delivery_gross_weight",
),
],
[
(
"account.invoice",
"volume",
),
(
"account.move",
"delivery_volume",
),
],
[
(
"account.invoice",
"weight_manual_uom_id",
),
(
"account.move",
"delivery_net_weight_uom_id",
),
],
[
(
"account.invoice",
"gross_weight_uom_id",
),
(
"account.move",
"delivery_gross_weight_uom_id",
),
],
[
(
"account.invoice",
"volume_uom_id",
),
(
"account.move",
"delivery_volume_uom_id",
),
],
]

RENAMED_XMLIDS = [
(
"invoice_form_view_uom",
"view_move_form",
),
(
"invoice_form_view_uom",
"shipping_invoice_report",
),
(
"invoice_form_view_uom",
"shipping_invoice_template",
),
(
"invoice_form_view_uom",
"report_shipping_invoice",
),
]


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):
field_spec = []
for renamed_field in RENAMED_FIELDS:
(old_model, old_field), (new_model, new_field) = renamed_field
field_spec.append(
(
old_model,
old_model.replace(".", "_"),
old_field,
new_field,
)
)
openupgrade.rename_fields(
# The method only needs the cursor, not the whole Environment
DotDict(
cr=cr,
),
field_spec,
# Prevent Environment usage
# whenever it will be implemented.
no_deep=True,
)

full_renamed_xmlids = [
(
".".join(("l10n_it_accompanying_invoice", old_xmlid)),
".".join(("l10n_it_accompanying_invoice", new_xmlid)),
)
for old_xmlid, new_xmlid in RENAMED_XMLIDS
]
openupgrade.rename_xmlids(
cr,
full_renamed_xmlids,
)


def pre_absorb_old_module(cr):
if openupgrade.is_module_installed(cr, "l10n_it_accompanying_invoice"):
migrate_old_module(cr)
Loading
Loading