Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4ad794f
commit fcb361a
Showing
14 changed files
with
595 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg | ||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | ||
:alt: License: AGPL-3 | ||
|
||
============================ | ||
Module Uninstallation Checks | ||
============================ | ||
|
||
This module extends the functionality of base module, to improve modules | ||
uninstallation process. | ||
|
||
It provides an extra view, on module form to display which models (SQL tables) | ||
and which fields (SQL columns) will be dropped, if the selected module is | ||
uninstalled. | ||
|
||
|
||
Usage | ||
===== | ||
|
||
To use this module, you need to: | ||
|
||
#. Go to Settings / Modules / Local Modules | ||
#. Select an installed module | ||
#. Click on the button 'Uninstallation Impact' | ||
|
||
.. figure:: ./module_uninstall_check/static/description/module_form.png | ||
:width: 800 px | ||
|
||
* Sample, selecting sale_margin module | ||
|
||
.. figure:: ./module_uninstall_check/static/description/sale_margin_uninstallation.png | ||
:width: 800 px | ||
|
||
* Sample, selecting sale_stock module, when sale_margin is installed | ||
|
||
.. figure:: ./module_uninstall_check/static/description/sale_uninstallation.png | ||
:width: 800 px | ||
|
||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas | ||
:alt: Try me on Runbot | ||
:target: https://runbot.odoo-community.org/runbot/149/8.0 | ||
|
||
Known issues / Roadmap | ||
====================== | ||
|
||
* In some cases, we want to uninstall a module, but prevent some data deletion. | ||
This can happen: | ||
* if we want to keep backup some datas; | ||
* if the data moved into another module after a refactoring; | ||
|
||
This module could implement such feature, adding extra feature on wizard lines, | ||
deleting or renaming xml ids. | ||
|
||
|
||
Bug Tracker | ||
=========== | ||
|
||
Bugs are tracked on `GitHub Issues | ||
<https://github.com/OCA/server-tools/issues>`_. In case of trouble, please | ||
check there if your issue has already been reported. If you spotted it first, | ||
help us smash it by providing detailed and welcomed feedback. | ||
|
||
Credits | ||
======= | ||
|
||
Contributors | ||
------------ | ||
|
||
* Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
|
||
Funders | ||
------- | ||
|
||
The development of this module has been financially supported by: | ||
|
||
* GRAP, Groupement Régional Alimentaire de Proximité (http://www.grap.coop) | ||
|
||
Maintainer | ||
---------- | ||
|
||
.. image:: https://odoo-community.org/logo.png | ||
:alt: Odoo Community Association | ||
:target: https://odoo-community.org | ||
|
||
This module is maintained by the OCA. | ||
|
||
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. | ||
|
||
To contribute to this module, please visit https://odoo-community.org. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# -*- coding: utf-8 -*- | ||
from . import wizards |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# -*- coding: utf-8 -*- | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). | ||
{ | ||
"name": "Module Uninstall Check", | ||
"summary": "Add Extra Checks before uninstallation of modules", | ||
"version": "8.0.1.0.0", | ||
"category": "Base", | ||
"website": "https://odoo-community.org/", | ||
"author": "GRAP, Odoo Community Association (OCA)", | ||
"license": "AGPL-3", | ||
"installable": True, | ||
"depends": [ | ||
'base', | ||
], | ||
"data": [ | ||
'wizards/view_wizard_module_uninstall.xml', | ||
'wizards/action.xml', | ||
'views/view_ir_module_module.xml', | ||
], | ||
"demo": [ | ||
'demo/res_groups.xml', | ||
], | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
Copyright (C) 2015 - Today: GRAP (http://www.grap.coop) | ||
@author Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
--> | ||
|
||
<openerp><data> | ||
|
||
<record id="base.group_no_one" model="res.groups"> | ||
<field name="users" eval="[ | ||
(4, ref('base.user_root'))]" /> | ||
</record> | ||
|
||
</data></openerp> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,188 @@ | ||
|
||
# Translation of Odoo Server. | ||
# This file contains the translation of the following modules: | ||
# * module_uninstall_check | ||
# | ||
msgid "" | ||
msgstr "" | ||
"Project-Id-Version: Odoo Server 8.0\n" | ||
"Report-Msgid-Bugs-To: \n" | ||
"POT-Creation-Date: 2017-04-20 20:14+0000\n" | ||
"PO-Revision-Date: 2017-04-20 20:14+0000\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: module_uninstall_check | ||
#: view:wizard.module.uninstall:module_uninstall_check.view_wizard_module_uninstall_form | ||
msgid "Cancel" | ||
msgstr "Cancel" | ||
|
||
#. module: module_uninstall_check | ||
#: help:wizard.module.uninstall,module_id:0 | ||
msgid "Choose a module. The wizard will display all the models and fields linked to that module, that will be dropped, if selected module is uninstalled.\n" | ||
" Note : Only Non Transient items will be displayed" | ||
msgstr "Choisissez un module. L'assistant va afficher tous les modèles et tous les champs associés à ce module, et qui seront supprimés, si le module sélectionné est désinstallé.\n" | ||
" Note: Seulement les éléments persistants en base de données seront affichés" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,create_uid:0 | ||
#: field:wizard.module.uninstall.line,create_uid:0 | ||
msgid "Created by" | ||
msgstr "Créé par" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,create_date:0 | ||
#: field:wizard.module.uninstall.line,create_date:0 | ||
msgid "Created on" | ||
msgstr "Créé le" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,display_name:0 | ||
#: field:wizard.module.uninstall.line,display_name:0 | ||
msgid "Display Name" | ||
msgstr "Nom affiché" | ||
|
||
#. module: module_uninstall_check | ||
#: selection:wizard.module.uninstall.line,type:0 | ||
msgid "Field" | ||
msgstr "Champ" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall.line,field_model_name:0 | ||
msgid "Field Model Name" | ||
msgstr "Nom du modèle du champ" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall.line,field_name:0 | ||
msgid "Field Name" | ||
msgstr "Nom du champ" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall.line,field_ttype:0 | ||
msgid "Field Type" | ||
msgstr "Type du champ" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall.line,field_id:0 | ||
msgid "Field id" | ||
msgstr "Field id" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,field_line_ids:0 | ||
msgid "Field line ids" | ||
msgstr "Field line ids" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,id:0 | ||
#: field:wizard.module.uninstall.line,id:0 | ||
msgid "ID" | ||
msgstr "ID" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,module_ids:0 | ||
msgid "Impacted modules" | ||
msgstr "Modules impactés" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,module_qty:0 | ||
msgid "Impacted modules Quantity" | ||
msgstr "Nombre de modules impactés" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,__last_update:0 | ||
#: field:wizard.module.uninstall.line,__last_update:0 | ||
msgid "Last Modified on" | ||
msgstr "Dernière modification le" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,write_uid:0 | ||
#: field:wizard.module.uninstall.line,write_uid:0 | ||
msgid "Last Updated by" | ||
msgstr "Dernière mise à jour par" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,write_date:0 | ||
#: field:wizard.module.uninstall.line,write_date:0 | ||
msgid "Last Updated on" | ||
msgstr "Dernière mise à jour le" | ||
|
||
#. module: module_uninstall_check | ||
#: selection:wizard.module.uninstall.line,type:0 | ||
msgid "Model" | ||
msgstr "Modèle" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall.line,model_name:0 | ||
msgid "Model Name" | ||
msgstr "Nom du modèle" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall.line,model_id:0 | ||
msgid "Model id" | ||
msgstr "Model id" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,model_line_ids:0 | ||
msgid "Model line ids" | ||
msgstr "Model line ids" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,module_id:0 | ||
msgid "Module" | ||
msgstr "Module" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall,module_name:0 | ||
msgid "Module Name" | ||
msgstr "Nom du module" | ||
|
||
#. module: module_uninstall_check | ||
#: help:wizard.module.uninstall,module_ids:0 | ||
msgid "Modules list that will be uninstalled by dependency" | ||
msgstr "Liste des modules qui seront désinstallés par dépendance" | ||
|
||
#. module: module_uninstall_check | ||
#: view:wizard.module.uninstall:module_uninstall_check.view_wizard_module_uninstall_form | ||
msgid "Related Fields" | ||
msgstr "Champs associés" | ||
|
||
#. module: module_uninstall_check | ||
#: view:wizard.module.uninstall:module_uninstall_check.view_wizard_module_uninstall_form | ||
msgid "Related Models" | ||
msgstr "Modèle associés" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall.line,model_row_qty:0 | ||
msgid "Row Quantity" | ||
msgstr "Nombre de lignes" | ||
|
||
#. module: module_uninstall_check | ||
#: view:wizard.module.uninstall:module_uninstall_check.view_wizard_module_uninstall_form | ||
msgid "System Update" | ||
msgstr "System Update" | ||
|
||
#. module: module_uninstall_check | ||
#: view:wizard.module.uninstall:module_uninstall_check.view_wizard_module_uninstall_form | ||
msgid "The following models and fields will be dropped if uninstallation of the selected module is done" | ||
msgstr "Les modèles et les champs suivants seront supprimés si la désinstallation du module sélectionné est réalisé" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall.line,type:0 | ||
msgid "Type" | ||
msgstr "Type" | ||
|
||
#. module: module_uninstall_check | ||
#: model:ir.actions.act_window,name:module_uninstall_check.action_wizard_module_uninstall | ||
#: view:ir.module.module:module_uninstall_check.view_ir_module_module_form | ||
msgid "Uninstallation Impact" | ||
msgstr "Impact de la désinstallation" | ||
|
||
#. module: module_uninstall_check | ||
#: field:wizard.module.uninstall.line,wizard_id:0 | ||
msgid "Wizard id" | ||
msgstr "Wizard id" | ||
|
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+24.7 KB
module_uninstall_check/static/description/sale_margin_uninstallation.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
Copyright (C) 2017 - Today: GRAP (http://www.grap.coop) | ||
@author Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
--> | ||
|
||
<openerp><data> | ||
|
||
<record id="view_ir_module_module_form" model="ir.ui.view"> | ||
<field name="model">ir.module.module</field> | ||
<field name="inherit_id" ref="base.module_form"/> | ||
<field name="arch" type="xml"> | ||
<button name="button_install_cancel" position="after"> | ||
<button name="%(action_wizard_module_uninstall)d" | ||
type="action" string="Uninstallation Impact" | ||
attrs="{'invisible': [('state', 'in', ('uninstalled', 'uninstallable'))]}"/> | ||
</button> | ||
</field> | ||
</record> | ||
|
||
</data></openerp> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# -*- coding: utf-8 -*- | ||
from . import wizard_module_uninstall | ||
from . import wizard_module_uninstall_line |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
Copyright (C) 2016-Today GRAP (http://www.grap.coop) | ||
@author: Sylvain LE GAL (https://twitter.com/legalsylvain) | ||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
--> | ||
|
||
<openerp><data> | ||
|
||
<record id="action_wizard_module_uninstall" model="ir.actions.act_window"> | ||
<field name="name">Uninstallation Impact</field> | ||
<field name="res_model">wizard.module.uninstall</field> | ||
<field name="view_type">form</field> | ||
<field name="view_mode">form</field> | ||
<field name="target">new</field> | ||
</record> | ||
|
||
</data></openerp> |
Oops, something went wrong.