diff --git a/.travis.yml b/.travis.yml index fdd753292..a22b7f4f4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,8 +21,10 @@ env: matrix: - LINT_CHECK="1" - - TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1" - - TESTS="1" ODOO_REPO="OCA/OCB + - TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1" INCLUDE="account_asset_disposal" + - TESTS="1" ODOO_REPO="OCA/OCB" INCLUDE="account_asset_disposal" + - TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1" EXCLUDE="account_asset_disposal" + - TESTS="1" ODOO_REPO="OCA/OCB" EXCLUDE="account_asset_disposal" install: diff --git a/account_asset_disposal/README.rst b/account_asset_disposal/README.rst new file mode 100644 index 000000000..21856edc6 --- /dev/null +++ b/account_asset_disposal/README.rst @@ -0,0 +1,112 @@ +====================== +Account asset disposal +====================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Faccount--financial--tools-lightgray.png?logo=github + :target: https://github.com/OCA/account-financial-tools/tree/11.0/account_asset_disposal + :alt: OCA/account-financial-tools +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/account-financial-tools-11-0/account-financial-tools-11-0-account_asset_disposal + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/92/11.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module enables a real asset disposal with the proper accounting entries. + +When an asset gets broken or is totally depreciated, you can close it and Odoo +will generate automatically the asset close move (and compute the loss if a +residual value is pending). + +You can also cancel this disposal for returning to the previous state. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +#. Go to *Accounting > Configuration > Management > Asset Types*. +#. There's a new field called "Loss Account" for setting the default loss + account when disposing assets. + +Usage +===== + +#. Go to *Accounting > Adviser > Assets*. +#. There you will find a 'Dispose' button (instead of standard 'Set to Close'). +#. After clicking it, a wizard pops-up for asking disposal date and loss + account to use if any residual value is pending. +#. Click on "Dispose asset". +#. A new screen will appear with the disposal account entry. +#. On the asset, all remaining depreciation lines are removed, and a new one + appears for the disposal move. + +You can cancel afterwards the disposal: + +#. Click on "Undo disposal" on the asset. +#. The disposal entry is removed. +#. The depreciation board is restored with all the remaining depreciations. + +Known issues / Roadmap +====================== + +* Include a specific message type for notifying the disposal. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* Tecnativa (https://www.tecnativa.com): + * Pedro M. Baeza + * Antonio Espinosa + * Luis M. Ontalba + +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/account-financial-tools `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_asset_disposal/__init__.py b/account_asset_disposal/__init__.py new file mode 100644 index 000000000..ef2bd060e --- /dev/null +++ b/account_asset_disposal/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import models +from . import wizards diff --git a/account_asset_disposal/__manifest__.py b/account_asset_disposal/__manifest__.py new file mode 100644 index 000000000..dc573e6a2 --- /dev/null +++ b/account_asset_disposal/__manifest__.py @@ -0,0 +1,24 @@ +# Copyright 2016 Tecnativa - Antonio Espinosa +# Copyright 2017 Tecnativa - Luis M. Ontalba +# Copyright 2017-2018 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Account asset disposal", + "summary": "Makes asset close account move automatically", + "version": "11.0.1.0.0", + "category": "Accounting & Finance", + "website": "http://github.com/OCA/account-financial-tools", + "author": "Tecnativa, " + "Odoo Community Association (OCA)", + "license": "AGPL-3", + "installable": True, + "depends": [ + "account_asset", + ], + "data": [ + "views/account_asset_asset_views.xml", + "views/account_asset_category_views.xml", + "wizards/account_asset_disposal_wizard_view.xml", + ], +} diff --git a/account_asset_disposal/i18n/account_asset_disposal.pot b/account_asset_disposal/i18n/account_asset_disposal.pot new file mode 100644 index 000000000..09cdd5c73 --- /dev/null +++ b/account_asset_disposal/i18n/account_asset_disposal.pot @@ -0,0 +1,151 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_asset_disposal +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_category +msgid "Asset category" +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:40 +#, python-format +msgid "Asset depreciation" +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:24 +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +#, python-format +msgid "Asset disposal" +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:171 +#, python-format +msgid "Asset disposal cancelled." +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:136 +#, python-format +msgid "Asset disposed." +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:55 +#, python-format +msgid "Asset loss" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_asset +msgid "Asset/Revenue Recognition" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +msgid "Close" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_create_uid +msgid "Created by" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_create_date +msgid "Created on" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_display_name +msgid "Display Name" +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:143 +#, python-format +msgid "Disposal Move" +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:146 +#, python-format +msgid "Disposal Moves" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_asset_disposal_date +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_disposal_date +msgid "Disposal date" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_asset_disposal_move_id +msgid "Disposal move" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.view_account_asset_asset_form +msgid "Dispose" +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:91 +#, python-format +msgid "Dispose Asset" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +msgid "Dispose asset" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_id +msgid "ID" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_category_account_loss_id +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_loss_account_id +msgid "Loss Account" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.view_account_asset_asset_form +msgid "Undo disposal" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_disposal_wizard +msgid "account.asset.disposal.wizard" +msgstr "" + diff --git a/account_asset_disposal/i18n/de.po b/account_asset_disposal/i18n/de.po new file mode 100644 index 000000000..0b24f0ae2 --- /dev/null +++ b/account_asset_disposal/i18n/de.po @@ -0,0 +1,158 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_asset_disposal +# +# Translators: +# Rudolf Schnapka , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-22 23:20+0000\n" +"PO-Revision-Date: 2017-12-22 23:20+0000\n" +"Last-Translator: Rudolf Schnapka , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_category +msgid "Asset category" +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:41 +#, fuzzy, python-format +msgid "Asset depreciation" +msgstr "Abschreibungsposition" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:25 +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +#, fuzzy, python-format +msgid "Asset disposal" +msgstr "Entsorgung Rückgängig" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:172 +#, python-format +msgid "Asset disposal cancelled." +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:137 +#, python-format +msgid "Asset disposed." +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:56 +#, python-format +msgid "Asset loss" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_asset +msgid "Asset/Revenue Recognition" +msgstr "Anlage/Umsatz Anerkennung" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +msgid "Close" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_create_uid +msgid "Created by" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_create_date +msgid "Created on" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_display_name +#, fuzzy +msgid "Display Name" +msgstr "Entsorgungsdatum" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:144 +#, fuzzy, python-format +msgid "Disposal Move" +msgstr "Entsorgungsbuchung" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:147 +#, fuzzy, python-format +msgid "Disposal Moves" +msgstr "Entsorgungsbuchung" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_asset_disposal_date +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_disposal_date +msgid "Disposal date" +msgstr "Entsorgungsdatum" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_asset_disposal_move_id +msgid "Disposal move" +msgstr "Entsorgungsbuchung" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.view_account_asset_asset_form +#, fuzzy +msgid "Dispose" +msgstr "Entsorgungsdatum" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:92 +#, fuzzy, python-format +msgid "Dispose Asset" +msgstr "Entsorgungsdatum" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +#, fuzzy +msgid "Dispose asset" +msgstr "Entsorgungsdatum" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_id +msgid "ID" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_category_account_loss_id +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_loss_account_id +msgid "Loss Account" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.view_account_asset_asset_form +msgid "Undo disposal" +msgstr "Entsorgung Rückgängig" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_disposal_wizard +msgid "account.asset.disposal.wizard" +msgstr "" diff --git a/account_asset_disposal/i18n/es.po b/account_asset_disposal/i18n/es.po new file mode 100644 index 000000000..55c90c05f --- /dev/null +++ b/account_asset_disposal/i18n/es.po @@ -0,0 +1,156 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_asset_disposal +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-25 12:17+0000\n" +"PO-Revision-Date: 2017-11-25 12:17+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_category +msgid "Asset category" +msgstr "Categoría de activo" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:41 +#, python-format +msgid "Asset depreciation" +msgstr "Amortización del activo" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:25 +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +#, python-format +msgid "Asset disposal" +msgstr "Baja del activo" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:172 +#, python-format +msgid "Asset disposal cancelled." +msgstr "Baja del activo cancelada." + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:137 +#, python-format +msgid "Asset disposed." +msgstr "Activo dado de baja." + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:56 +#, python-format +msgid "Asset loss" +msgstr "Pérdida del activo" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_asset +msgid "Asset/Revenue Recognition" +msgstr "Activo/Reconocimiento de beneficio" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +msgid "Close" +msgstr "Cerrar" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_create_date +msgid "Created on" +msgstr "Creado el" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_display_name +msgid "Display Name" +msgstr "Nombre a mostrar" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:144 +#, python-format +msgid "Disposal Move" +msgstr "Asiento de baja" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:147 +#, python-format +msgid "Disposal Moves" +msgstr "Asientos de baja" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_asset_disposal_date +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_disposal_date +msgid "Disposal date" +msgstr "Fecha de baja" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_asset_disposal_move_id +msgid "Disposal move" +msgstr "Asiento de baja" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.view_account_asset_asset_form +msgid "Dispose" +msgstr "Dar de baja" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:92 +#, python-format +msgid "Dispose Asset" +msgstr "Dar de baja activo" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +msgid "Dispose asset" +msgstr "Dar de baja activo" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_id +msgid "ID" +msgstr "ID" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_category_account_loss_id +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_loss_account_id +msgid "Loss Account" +msgstr "Cuenta de pérdidas" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.view_account_asset_asset_form +msgid "Undo disposal" +msgstr "Cancelar baja" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_disposal_wizard +msgid "account.asset.disposal.wizard" +msgstr "" + +#~ msgid "Journal Item" +#~ msgstr "Apunte contable" diff --git a/account_asset_disposal/i18n/hr.po b/account_asset_disposal/i18n/hr.po new file mode 100644 index 000000000..b205bf6c6 --- /dev/null +++ b/account_asset_disposal/i18n/hr.po @@ -0,0 +1,159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_asset_disposal +# +# Translators: +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-23 01:41+0000\n" +"PO-Revision-Date: 2018-02-23 01:41+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_category +msgid "Asset category" +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:41 +#, fuzzy, python-format +msgid "Asset depreciation" +msgstr "Stavka amortizacije" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:25 +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +#, fuzzy, python-format +msgid "Asset disposal" +msgstr "Vrati iz otpisa" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:172 +#, python-format +msgid "Asset disposal cancelled." +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:137 +#, python-format +msgid "Asset disposed." +msgstr "" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:56 +#, python-format +msgid "Asset loss" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_asset +msgid "Asset/Revenue Recognition" +msgstr "Priznavanje troškova" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +msgid "Close" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_create_uid +msgid "Created by" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_create_date +msgid "Created on" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_display_name +#, fuzzy +msgid "Display Name" +msgstr "Datum otpisa" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:144 +#, fuzzy, python-format +msgid "Disposal Move" +msgstr "Temeljnica otpisa" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:147 +#, fuzzy, python-format +msgid "Disposal Moves" +msgstr "Temeljnica otpisa" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_asset_disposal_date +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_disposal_date +msgid "Disposal date" +msgstr "Datum otpisa" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_asset_disposal_move_id +msgid "Disposal move" +msgstr "Temeljnica otpisa" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.view_account_asset_asset_form +#, fuzzy +msgid "Dispose" +msgstr "Datum otpisa" + +#. module: account_asset_disposal +#: code:addons/account_asset_disposal/models/account_asset_asset.py:92 +#, fuzzy, python-format +msgid "Dispose Asset" +msgstr "Datum otpisa" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.account_asset_disposal_wizard_form +#, fuzzy +msgid "Dispose asset" +msgstr "Datum otpisa" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_id +msgid "ID" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_category_account_loss_id +#: model:ir.model.fields,field_description:account_asset_disposal.field_account_asset_disposal_wizard_loss_account_id +msgid "Loss Account" +msgstr "" + +#. module: account_asset_disposal +#: model:ir.ui.view,arch_db:account_asset_disposal.view_account_asset_asset_form +msgid "Undo disposal" +msgstr "Vrati iz otpisa" + +#. module: account_asset_disposal +#: model:ir.model,name:account_asset_disposal.model_account_asset_disposal_wizard +msgid "account.asset.disposal.wizard" +msgstr "" diff --git a/account_asset_disposal/models/__init__.py b/account_asset_disposal/models/__init__.py new file mode 100644 index 000000000..957526b63 --- /dev/null +++ b/account_asset_disposal/models/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import account_asset_category +from . import account_asset_asset diff --git a/account_asset_disposal/models/account_asset_asset.py b/account_asset_disposal/models/account_asset_asset.py new file mode 100644 index 000000000..3d842edcc --- /dev/null +++ b/account_asset_disposal/models/account_asset_asset.py @@ -0,0 +1,175 @@ +# Copyright 2016 Tecnativa - Antonio Espinosa +# Copyright 2017 Tecnativa - Luis M. Ontalba +# Copyright 2017 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import models, fields, api, _ +from odoo.tools import float_is_zero + + +class AccountAssetAsset(models.Model): + _inherit = "account.asset.asset" + + state = fields.Selection( + selection_add=[('disposed', 'Disposed')], + ) + disposal_date = fields.Date(string="Disposal date") + disposal_move_id = fields.Many2one( + comodel_name='account.move', string="Disposal move", + ) + + def _disposal_line_asset_prepare(self, date): + self.ensure_one() + return { + 'name': _('Asset disposal'), + 'journal_id': self.category_id.journal_id.id, + 'account_id': self.category_id.account_asset_id.id, + 'date': date, + 'debit': 0.0, + 'credit': self.value, + } + + def _disposal_line_depreciation_prepare(self, date): + self.ensure_one() + loss_value = self.salvage_value + if not float_is_zero(self.value_residual, + precision_rounding=self.currency_id.rounding): + loss_value += self.value_residual + depreciation_value = self.value - loss_value + return { + 'name': _('Asset depreciation'), + 'journal_id': self.category_id.journal_id.id, + 'account_id': self.category_id.account_depreciation_id.id, + 'date': date, + 'debit': depreciation_value, + 'credit': 0.0, + } + + def _disposal_line_loss_prepare(self, date, loss_account): + self.ensure_one() + loss_value = self.salvage_value + if not float_is_zero(self.value_residual, + precision_rounding=self.currency_id.rounding): + loss_value += self.value_residual + return { + 'name': _('Asset loss'), + 'journal_id': self.category_id.journal_id.id, + 'account_id': loss_account.id, + 'analytic_account_id': self.category_id.account_analytic_id.id, + 'date': date, + 'debit': loss_value, + 'credit': 0.0, + } + + def _disposal_move_prepare(self, date, loss_account): + self.ensure_one() + journal = self.category_id.journal_id + lines = [ + (0, False, self._disposal_line_asset_prepare(date)), + (0, False, self._disposal_line_depreciation_prepare(date)), + ] + loss_value = self.salvage_value + if not float_is_zero(self.value_residual, + precision_rounding=self.currency_id.rounding): + loss_value += self.value_residual + if loss_value: + lines.append(( + 0, False, self._disposal_line_loss_prepare(date, loss_account) + )) + return { + 'journal_id': journal.id, + 'ref': self.name, + 'date': date, + 'line_ids': lines, + } + + @api.multi + def action_disposal(self): + wizard_view_id = self.env.ref( + 'account_asset_disposal.account_asset_disposal_wizard_form') + return { + 'name': _('Dispose Asset'), + 'res_model': 'account.asset.disposal.wizard', + 'type': 'ir.actions.act_window', + 'view_type': 'tree,form', + 'view_mode': 'form', + 'view_id': wizard_view_id.id, + 'target': 'new', + 'context': self.env.context, + } + + @api.multi + def dispose(self, date, loss_account): + moves = self.env['account.move'] + for asset in self: + move = self.env['account.move'].create( + asset._disposal_move_prepare(date, loss_account) + ) + asset.disposal_move_id = move.id + move.post() + unposted_lines = asset.depreciation_line_ids.filtered( + lambda x: not x.move_check + ) + if unposted_lines: + # Remove all unposted depreciation lines + asset.write({ + 'depreciation_line_ids': [ + (2, line_id.id) for line_id in unposted_lines + ], + }) + # Create a new depr. line with the residual amount and post it + sequence = ( + len(asset.depreciation_line_ids) - len(unposted_lines) + 1 + ) + vals = { + 'amount': asset.value_residual, + 'asset_id': asset.id, + 'sequence': sequence, + 'name': (asset.code or '') + '/' + str(sequence), + 'remaining_value': 0, + # the asset is completely depreciated + 'depreciated_value': asset.value - asset.salvage_value, + 'depreciation_date': date, + 'move_id': move.id, + } + asset.depreciation_line_ids.create(vals) + asset.message_post(body=_('Asset disposed.')) + moves += move + self.write({ + 'disposal_date': date, + 'state': 'disposed', + }) + if moves: + name = _('Disposal Move') + view_mode = 'form' + if len(moves) > 1: + name = _('Disposal Moves') + view_mode = 'tree,form' + return { + 'name': name, + 'domain': [('id', 'in', moves.ids)], + 'view_type': 'form', + 'view_mode': view_mode, + 'res_model': 'account.move', + 'type': 'ir.actions.act_window', + 'target': 'current', + 'res_id': moves[:1].id, + } + + @api.multi + def action_disposal_undo(self): + for asset in self.with_context(asset_disposal_undo=True): + if asset.disposal_move_id: + asset.disposal_move_id.button_cancel() + asset.disposal_move_id.unlink() + asset.depreciation_line_ids[-1].unlink() + if asset.currency_id.is_zero(asset.value_residual): + asset.state = 'close' + else: + asset.state = 'open' + asset.compute_depreciation_board() + asset.message_post(body=_('Asset disposal cancelled.')) + return self.write({ + 'disposal_date': False, + 'disposal_move_id': False, + }) diff --git a/account_asset_disposal/models/account_asset_category.py b/account_asset_disposal/models/account_asset_category.py new file mode 100644 index 000000000..a1810f2ed --- /dev/null +++ b/account_asset_disposal/models/account_asset_category.py @@ -0,0 +1,14 @@ +# Copyright 2016 Tecnativa - Antonio Espinosa +# Copyright 2017 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import models, fields + + +class AccountAssetCategory(models.Model): + _inherit = "account.asset.category" + + account_loss_id = fields.Many2one( + comodel_name="account.account", string="Loss Account", + oldname='loss_account_id', + ) diff --git a/account_asset_disposal/readme/CONFIGURE.rst b/account_asset_disposal/readme/CONFIGURE.rst new file mode 100644 index 000000000..e16694220 --- /dev/null +++ b/account_asset_disposal/readme/CONFIGURE.rst @@ -0,0 +1,3 @@ +#. Go to *Accounting > Configuration > Management > Asset Types*. +#. There's a new field called "Loss Account" for setting the default loss + account when disposing assets. diff --git a/account_asset_disposal/readme/CONTRIBUTORS.rst b/account_asset_disposal/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..4d869e046 --- /dev/null +++ b/account_asset_disposal/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* Tecnativa (https://www.tecnativa.com): + * Pedro M. Baeza + * Antonio Espinosa + * Luis M. Ontalba diff --git a/account_asset_disposal/readme/DESCRIPTION.rst b/account_asset_disposal/readme/DESCRIPTION.rst new file mode 100644 index 000000000..61bb37979 --- /dev/null +++ b/account_asset_disposal/readme/DESCRIPTION.rst @@ -0,0 +1,7 @@ +This module enables a real asset disposal with the proper accounting entries. + +When an asset gets broken or is totally depreciated, you can close it and Odoo +will generate automatically the asset close move (and compute the loss if a +residual value is pending). + +You can also cancel this disposal for returning to the previous state. diff --git a/account_asset_disposal/readme/ROADMAP.rst b/account_asset_disposal/readme/ROADMAP.rst new file mode 100644 index 000000000..8a165d900 --- /dev/null +++ b/account_asset_disposal/readme/ROADMAP.rst @@ -0,0 +1 @@ +* Include a specific message type for notifying the disposal. diff --git a/account_asset_disposal/readme/USAGE.rst b/account_asset_disposal/readme/USAGE.rst new file mode 100644 index 000000000..2826f6eb8 --- /dev/null +++ b/account_asset_disposal/readme/USAGE.rst @@ -0,0 +1,14 @@ +#. Go to *Accounting > Adviser > Assets*. +#. There you will find a 'Dispose' button (instead of standard 'Set to Close'). +#. After clicking it, a wizard pops-up for asking disposal date and loss + account to use if any residual value is pending. +#. Click on "Dispose asset". +#. A new screen will appear with the disposal account entry. +#. On the asset, all remaining depreciation lines are removed, and a new one + appears for the disposal move. + +You can cancel afterwards the disposal: + +#. Click on "Undo disposal" on the asset. +#. The disposal entry is removed. +#. The depreciation board is restored with all the remaining depreciations. diff --git a/account_asset_disposal/static/description/icon.png b/account_asset_disposal/static/description/icon.png new file mode 100644 index 000000000..3a0328b51 Binary files /dev/null and b/account_asset_disposal/static/description/icon.png differ diff --git a/account_asset_disposal/static/description/index.html b/account_asset_disposal/static/description/index.html new file mode 100644 index 000000000..6371e4fdc --- /dev/null +++ b/account_asset_disposal/static/description/index.html @@ -0,0 +1,462 @@ + + + + + + +Account asset disposal + + + +
+

Account asset disposal

+ + +

Beta License: AGPL-3 OCA/account-financial-tools Translate me on Weblate Try me on Runbot

+

This module enables a real asset disposal with the proper accounting entries.

+

When an asset gets broken or is totally depreciated, you can close it and Odoo +will generate automatically the asset close move (and compute the loss if a +residual value is pending).

+

You can also cancel this disposal for returning to the previous state.

+

Table of contents

+ +
+

Configuration

+
    +
  1. Go to Accounting > Configuration > Management > Asset Types.
  2. +
  3. There’s a new field called “Loss Account” for setting the default loss +account when disposing assets.
  4. +
+
+
+

Usage

+
    +
  1. Go to Accounting > Adviser > Assets.
  2. +
  3. There you will find a ‘Dispose’ button (instead of standard ‘Set to Close’).
  4. +
  5. After clicking it, a wizard pops-up for asking disposal date and loss +account to use if any residual value is pending.
  6. +
  7. Click on “Dispose asset”.
  8. +
  9. A new screen will appear with the disposal account entry.
  10. +
  11. On the asset, all remaining depreciation lines are removed, and a new one +appears for the disposal move.
  12. +
+

You can cancel afterwards the disposal:

+
    +
  1. Click on “Undo disposal” on the asset.
  2. +
  3. The disposal entry is removed.
  4. +
  5. The depreciation board is restored with all the remaining depreciations.
  6. +
+
+
+

Known issues / Roadmap

+
    +
  • Include a specific message type for notifying the disposal.
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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/account-financial-tools project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/account_asset_disposal/tests/__init__.py b/account_asset_disposal/tests/__init__.py new file mode 100644 index 000000000..370d5bbff --- /dev/null +++ b/account_asset_disposal/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import test_account_asset_disposal diff --git a/account_asset_disposal/tests/test_account_asset_disposal.py b/account_asset_disposal/tests/test_account_asset_disposal.py new file mode 100644 index 000000000..7fe9d21a4 --- /dev/null +++ b/account_asset_disposal/tests/test_account_asset_disposal.py @@ -0,0 +1,90 @@ +# Copyright 2016 Tecnativa - Antonio Espinosa +# Copyright 2017 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields +from odoo.tests import common + + +class TestAccountAsset(common.TransactionCase): + def setUp(self): + super(TestAccountAsset, self).setUp() + # Create a journal for assets + self.journal_asset = self.env['account.journal'].create({ + 'name': 'Asset journal', + 'code': 'JRNL', + 'type': 'general', + 'update_posted': True, + }) + # Create an account for assets + self.account_asset = self.env['account.account'].create({ + 'name': 'Asset', + 'code': '216x', + 'user_type_id': ( + self.env.ref('account.data_account_type_fixed_assets').id + ), + }) + # Create an account for assets depreciation + self.account_asset_depreciation = self.env['account.account'].create({ + 'name': 'Asset depreciation', + 'code': '2816x', + 'user_type_id': ( + self.env.ref('account.data_account_type_fixed_assets').id + ), + }) + # Create an account for assets expense + self.account_asset_expense = self.env['account.account'].create({ + 'name': 'Asset expense', + 'code': '681x', + 'user_type_id': ( + self.env.ref('account.data_account_type_expenses').id + ), + }) + # Create an account for assets loss + self.account_asset_loss = self.env['account.account'].create({ + 'name': 'Asset loss', + 'code': '671x', + 'user_type_id': ( + self.env.ref('account.data_account_type_expenses').id + ), + }) + # Create an asset category + self.asset_category = self.env['account.asset.category'].create({ + 'name': 'Asset category for testing', + 'journal_id': self.journal_asset.id, + 'account_asset_id': self.account_asset.id, + 'account_depreciation_id': self.account_asset_depreciation.id, + 'account_depreciation_expense_id': self.account_asset_expense.id, + 'account_loss_id': self.account_asset_loss.id, + }) + # Create an invoice + self.asset = self.env['account.asset.asset'].create({ + 'name': 'Test Asset', + 'value': 100.00, + 'category_id': self.asset_category.id, + 'method_number': 10, + }) + self.asset.validate() + + def test_asset_disposal(self): + self.assertEqual(len(self.asset.depreciation_line_ids), 10) + # Depreciate the first line + self.asset.depreciation_line_ids[0].create_move() + # Dispose asset + disposal_date = fields.Date.today() + wizard = self.env['account.asset.disposal.wizard'].with_context( + active_ids=self.asset.ids, active_id=self.asset.id, + ).create({ + 'disposal_date': disposal_date, + }) + self.assertEqual(wizard.loss_account_id, self.account_asset_loss) + wizard.action_dispose() + self.assertEqual(self.asset.disposal_date, disposal_date) + self.assertEqual(self.asset.state, 'disposed') + self.assertEqual(len(self.asset.depreciation_line_ids), 2) + self.assertTrue(self.asset.disposal_move_id) + self.assertEqual('posted', self.asset.disposal_move_id.state) + self.assertEqual(self.asset.value, self.asset.disposal_move_id.amount) + self.asset.action_disposal_undo() + self.assertEqual(self.asset.state, 'open') + self.assertEqual(len(self.asset.depreciation_line_ids), 10) diff --git a/account_asset_disposal/views/account_asset_asset_views.xml b/account_asset_disposal/views/account_asset_asset_views.xml new file mode 100644 index 000000000..8d9319678 --- /dev/null +++ b/account_asset_disposal/views/account_asset_asset_views.xml @@ -0,0 +1,38 @@ + + + + + + Add disposal fields + account.asset.asset + + + + + + + + + + + + diff --git a/account_asset_disposal/views/account_asset_category_views.xml b/account_asset_disposal/views/account_asset_category_views.xml new file mode 100644 index 000000000..ed33207cd --- /dev/null +++ b/account_asset_disposal/views/account_asset_category_views.xml @@ -0,0 +1,17 @@ + + + + + + Add loss account + account.asset.category + + + + + + + + + diff --git a/account_asset_disposal/wizards/__init__.py b/account_asset_disposal/wizards/__init__.py new file mode 100644 index 000000000..d8300e19b --- /dev/null +++ b/account_asset_disposal/wizards/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import account_asset_disposal_wizard diff --git a/account_asset_disposal/wizards/account_asset_disposal_wizard.py b/account_asset_disposal/wizards/account_asset_disposal_wizard.py new file mode 100644 index 000000000..10e1f3966 --- /dev/null +++ b/account_asset_disposal/wizards/account_asset_disposal_wizard.py @@ -0,0 +1,35 @@ +# Copyright 2016 Tecnativa - Antonio Espinosa +# Copyright 2017 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models + + +class AccountAssetDisposalWizard(models.TransientModel): + _name = 'account.asset.disposal.wizard' + + def _default_disposal_date(self): + return fields.Date.context_today(self) + + def _default_loss_account_id(self): + asset = self.env['account.asset.asset'].browse( + self.env.context.get('active_id', False) + ) + return asset.category_id.account_loss_id.id + + disposal_date = fields.Date( + string="Disposal date", required=True, + default=lambda self: self._default_disposal_date(), + ) + loss_account_id = fields.Many2one( + comodel_name='account.account', string="Loss Account", required=True, + default=lambda self: self._default_loss_account_id(), + ) + + @api.multi + def action_dispose(self): + self.ensure_one() + assets = self.env['account.asset.asset'].browse( + self.env.context.get('active_ids', False) + ) + return assets.dispose(self.disposal_date, self.loss_account_id) diff --git a/account_asset_disposal/wizards/account_asset_disposal_wizard_view.xml b/account_asset_disposal/wizards/account_asset_disposal_wizard_view.xml new file mode 100644 index 000000000..ce691c205 --- /dev/null +++ b/account_asset_disposal/wizards/account_asset_disposal_wizard_view.xml @@ -0,0 +1,26 @@ + + + + + + account.asset.disposal.wizard.form + account.asset.disposal.wizard + +
+ + + + + +
+
+
+ +
diff --git a/setup/_metapackage/VERSION.txt b/setup/_metapackage/VERSION.txt index cbdc6a73d..857420cff 100644 --- a/setup/_metapackage/VERSION.txt +++ b/setup/_metapackage/VERSION.txt @@ -1 +1 @@ -11.0.20190613.0 \ No newline at end of file +11.0.20190617.0 \ No newline at end of file diff --git a/setup/_metapackage/setup.py b/setup/_metapackage/setup.py index 331c1f6db..6c9f97a22 100644 --- a/setup/_metapackage/setup.py +++ b/setup/_metapackage/setup.py @@ -8,6 +8,7 @@ setuptools.setup( description="Meta package for oca-account-financial-tools Odoo addons", version=version, install_requires=[ + 'odoo11-addon-account_asset_disposal', 'odoo11-addon-account_asset_management', 'odoo11-addon-account_balance_line', 'odoo11-addon-account_chart_update', diff --git a/setup/account_asset_disposal/odoo/addons/account_asset_disposal b/setup/account_asset_disposal/odoo/addons/account_asset_disposal new file mode 120000 index 000000000..b47c69e7c --- /dev/null +++ b/setup/account_asset_disposal/odoo/addons/account_asset_disposal @@ -0,0 +1 @@ +../../../../account_asset_disposal \ No newline at end of file diff --git a/setup/account_asset_disposal/setup.cfg b/setup/account_asset_disposal/setup.cfg new file mode 100644 index 000000000..3c6e79cf3 --- /dev/null +++ b/setup/account_asset_disposal/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/setup/account_asset_disposal/setup.py b/setup/account_asset_disposal/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/account_asset_disposal/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)