From 3b05fa7ae93e42da9ee4080381b9a9773c0ee4ea Mon Sep 17 00:00:00 2001 From: AjmalCybro Date: Mon, 22 Apr 2024 14:18:30 +0530 Subject: [PATCH] Apr 22 [IMP] : Updated 'dynamic_product_fields' --- dynamic_product_fields/__manifest__.py | 4 ++-- .../{field_widget_data.xml => widget_data.xml} | 0 dynamic_product_fields/doc/RELEASE_NOTES.md | 5 +++++ .../migrations/17.0.1.0.1/pre-migrate.py | 17 +++++++++++++++++ dynamic_product_fields/models/__init__.py | 2 +- .../security/ir.model.access.csv | 2 +- .../wizard/product_dynamic_field.py | 6 +++--- .../wizard/product_dynamic_field_views.xml | 6 +++--- 8 files changed, 32 insertions(+), 10 deletions(-) rename dynamic_product_fields/data/{field_widget_data.xml => widget_data.xml} (100%) create mode 100644 dynamic_product_fields/migrations/17.0.1.0.1/pre-migrate.py diff --git a/dynamic_product_fields/__manifest__.py b/dynamic_product_fields/__manifest__.py index 5540e3df4..a711facbb 100644 --- a/dynamic_product_fields/__manifest__.py +++ b/dynamic_product_fields/__manifest__.py @@ -21,7 +21,7 @@ ############################################################################### { 'name': 'Product Custom Fields', - 'version': '17.0.1.0.0', + 'version': '17.0.1.0.1', 'category': 'Sales', 'summary': """Custom fields in Products from user level""", 'description': """This module enables to generate custom fields in Products @@ -34,7 +34,7 @@ 'data': [ 'security/dynamic_product_fields_groups.xml', 'security/ir.model.access.csv', - 'data/field_widget_data.xml', + 'data/widget_data.xml', 'wizard/product_dynamic_field_views.xml', 'views/product_template_views.xml', 'views/ir_model_fields_views.xml', diff --git a/dynamic_product_fields/data/field_widget_data.xml b/dynamic_product_fields/data/widget_data.xml similarity index 100% rename from dynamic_product_fields/data/field_widget_data.xml rename to dynamic_product_fields/data/widget_data.xml diff --git a/dynamic_product_fields/doc/RELEASE_NOTES.md b/dynamic_product_fields/doc/RELEASE_NOTES.md index 71f93dcd9..d7433a182 100644 --- a/dynamic_product_fields/doc/RELEASE_NOTES.md +++ b/dynamic_product_fields/doc/RELEASE_NOTES.md @@ -4,3 +4,8 @@ #### Version 17.0.1.0.0 ##### ADD - Initial Commit for Product Custom Fields + +#### 18.04.2024 +#### Version 17.0.1.0.1 +##### UPDT +- Added Migration Script diff --git a/dynamic_product_fields/migrations/17.0.1.0.1/pre-migrate.py b/dynamic_product_fields/migrations/17.0.1.0.1/pre-migrate.py new file mode 100644 index 000000000..b334d25d8 --- /dev/null +++ b/dynamic_product_fields/migrations/17.0.1.0.1/pre-migrate.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- + +import logging + +_logger = logging.getLogger(__name__) + + +def migrate(cr, version): + _logger.info(f'Starting migration from version {version}') + + cr.execute( + """ALTER TABLE IF EXISTS field_widgets RENAME TO field_widget; + UPDATE ir_model SET model = 'field.widget' WHERE model = 'field.widgets'; + UPDATE ir_model_data SET name = 'model_field_widget' WHERE model = 'ir_model' AND name = 'model_field_widgets'; + UPDATE ir_model_data SET model = 'field.widget' WHERE model = 'field.widgets'; + """) + _logger.info('Migration completed') diff --git a/dynamic_product_fields/models/__init__.py b/dynamic_product_fields/models/__init__.py index b35224d98..2ccae8d72 100644 --- a/dynamic_product_fields/models/__init__.py +++ b/dynamic_product_fields/models/__init__.py @@ -19,5 +19,5 @@ # If not, see . # ############################################################################# -from . import ir_model_fields from . import field_widget +from . import ir_model_fields diff --git a/dynamic_product_fields/security/ir.model.access.csv b/dynamic_product_fields/security/ir.model.access.csv index f4f2d9129..c5eb5b72c 100644 --- a/dynamic_product_fields/security/ir.model.access.csv +++ b/dynamic_product_fields/security/ir.model.access.csv @@ -1,3 +1,3 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_product_dynamic_field_base_user,access.product.dynamic.field.base.user,model_product_dynamic_field,base.group_user,1,1,1,1 +access_product_dynamic_field_base_user,access.product.dynamic.fields.base.user,model_product_dynamic_fields,base.group_user,1,1,1,1 access_field_widget_base_user,access.field.widget.base.user,model_field_widget,base.group_user,1,1,1,1 diff --git a/dynamic_product_fields/wizard/product_dynamic_field.py b/dynamic_product_fields/wizard/product_dynamic_field.py index 8bfa92556..733ade1fc 100644 --- a/dynamic_product_fields/wizard/product_dynamic_field.py +++ b/dynamic_product_fields/wizard/product_dynamic_field.py @@ -20,13 +20,13 @@ # ############################################################################### import xml.etree.ElementTree as xee -from odoo import api, fields, models, _ +from odoo import _, api, fields, models from odoo.exceptions import UserError class ProductDynamicField(models.TransientModel): """ For adding custom fields in product form.""" - _name = 'product.dynamic.field' + _name = 'product.dynamic.fields' _description = 'Dynamic Fields' _inherit = 'ir.model.fields' @@ -92,7 +92,7 @@ class ProductDynamicField(models.TransientModel): '') % (self.position_field.name, self.position, self.name, self.widget.name) self.env['ir.ui.view'].sudo().create({ - 'name': 'product.dynamic.field', + 'name': 'product.dynamic.fields', 'type': 'form', 'model': 'product.template', 'mode': 'extension', diff --git a/dynamic_product_fields/wizard/product_dynamic_field_views.xml b/dynamic_product_fields/wizard/product_dynamic_field_views.xml index 2f465addb..67f95e840 100644 --- a/dynamic_product_fields/wizard/product_dynamic_field_views.xml +++ b/dynamic_product_fields/wizard/product_dynamic_field_views.xml @@ -2,8 +2,8 @@ - product.dynamic.field.view.form - product.dynamic.field + product.dynamic.fields.view.form + product.dynamic.fields
@@ -55,7 +55,7 @@ Create Custom Fields - product.dynamic.field + product.dynamic.fields form new