Browse Source

Apr 22 [IMP] : Updated 'dynamic_product_fields'

pull/317/head
AjmalCybro 1 year ago
parent
commit
3b05fa7ae9
  1. 4
      dynamic_product_fields/__manifest__.py
  2. 0
      dynamic_product_fields/data/widget_data.xml
  3. 5
      dynamic_product_fields/doc/RELEASE_NOTES.md
  4. 17
      dynamic_product_fields/migrations/17.0.1.0.1/pre-migrate.py
  5. 2
      dynamic_product_fields/models/__init__.py
  6. 2
      dynamic_product_fields/security/ir.model.access.csv
  7. 6
      dynamic_product_fields/wizard/product_dynamic_field.py
  8. 6
      dynamic_product_fields/wizard/product_dynamic_field_views.xml

4
dynamic_product_fields/__manifest__.py

@ -21,7 +21,7 @@
############################################################################### ###############################################################################
{ {
'name': 'Product Custom Fields', 'name': 'Product Custom Fields',
'version': '17.0.1.0.0', 'version': '17.0.1.0.1',
'category': 'Sales', 'category': 'Sales',
'summary': """Custom fields in Products from user level""", 'summary': """Custom fields in Products from user level""",
'description': """This module enables to generate custom fields in Products 'description': """This module enables to generate custom fields in Products
@ -34,7 +34,7 @@
'data': [ 'data': [
'security/dynamic_product_fields_groups.xml', 'security/dynamic_product_fields_groups.xml',
'security/ir.model.access.csv', 'security/ir.model.access.csv',
'data/field_widget_data.xml', 'data/widget_data.xml',
'wizard/product_dynamic_field_views.xml', 'wizard/product_dynamic_field_views.xml',
'views/product_template_views.xml', 'views/product_template_views.xml',
'views/ir_model_fields_views.xml', 'views/ir_model_fields_views.xml',

0
dynamic_product_fields/data/field_widget_data.xml → dynamic_product_fields/data/widget_data.xml

5
dynamic_product_fields/doc/RELEASE_NOTES.md

@ -4,3 +4,8 @@
#### Version 17.0.1.0.0 #### Version 17.0.1.0.0
##### ADD ##### ADD
- Initial Commit for Product Custom Fields - Initial Commit for Product Custom Fields
#### 18.04.2024
#### Version 17.0.1.0.1
##### UPDT
- Added Migration Script

17
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')

2
dynamic_product_fields/models/__init__.py

@ -19,5 +19,5 @@
# If not, see <http://www.gnu.org/licenses/>. # If not, see <http://www.gnu.org/licenses/>.
# #
############################################################################# #############################################################################
from . import ir_model_fields
from . import field_widget from . import field_widget
from . import ir_model_fields

2
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 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 access_field_widget_base_user,access.field.widget.base.user,model_field_widget,base.group_user,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_product_dynamic_field_base_user access.product.dynamic.field.base.user access.product.dynamic.fields.base.user model_product_dynamic_field model_product_dynamic_fields base.group_user 1 1 1 1
3 access_field_widget_base_user access.field.widget.base.user model_field_widget base.group_user 1 1 1 1

6
dynamic_product_fields/wizard/product_dynamic_field.py

@ -20,13 +20,13 @@
# #
############################################################################### ###############################################################################
import xml.etree.ElementTree as xee import xml.etree.ElementTree as xee
from odoo import api, fields, models, _ from odoo import _, api, fields, models
from odoo.exceptions import UserError from odoo.exceptions import UserError
class ProductDynamicField(models.TransientModel): class ProductDynamicField(models.TransientModel):
""" For adding custom fields in product form.""" """ For adding custom fields in product form."""
_name = 'product.dynamic.field' _name = 'product.dynamic.fields'
_description = 'Dynamic Fields' _description = 'Dynamic Fields'
_inherit = 'ir.model.fields' _inherit = 'ir.model.fields'
@ -92,7 +92,7 @@ class ProductDynamicField(models.TransientModel):
'</data>') % (self.position_field.name, self.position, '</data>') % (self.position_field.name, self.position,
self.name, self.widget.name) self.name, self.widget.name)
self.env['ir.ui.view'].sudo().create({ self.env['ir.ui.view'].sudo().create({
'name': 'product.dynamic.field', 'name': 'product.dynamic.fields',
'type': 'form', 'type': 'form',
'model': 'product.template', 'model': 'product.template',
'mode': 'extension', 'mode': 'extension',

6
dynamic_product_fields/wizard/product_dynamic_field_views.xml

@ -2,8 +2,8 @@
<odoo> <odoo>
<!-- Form view --> <!-- Form view -->
<record id='product_dynamic_field_view_form' model='ir.ui.view'> <record id='product_dynamic_field_view_form' model='ir.ui.view'>
<field name="name">product.dynamic.field.view.form</field> <field name="name">product.dynamic.fields.view.form</field>
<field name="model">product.dynamic.field</field> <field name="model">product.dynamic.fields</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Dynamic Fields"> <form string="Dynamic Fields">
<sheet> <sheet>
@ -55,7 +55,7 @@
<!-- Action for creating custom fields in product form. --> <!-- Action for creating custom fields in product form. -->
<record id='product_dynamic_field_action' model='ir.actions.act_window'> <record id='product_dynamic_field_action' model='ir.actions.act_window'>
<field name="name">Create Custom Fields</field> <field name="name">Create Custom Fields</field>
<field name="res_model">product.dynamic.field</field> <field name="res_model">product.dynamic.fields</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="view_id" ref="product_dynamic_field_view_form"/> <field name="view_id" ref="product_dynamic_field_view_form"/>
<field name="target">new</field> <field name="target">new</field>

Loading…
Cancel
Save