This question has been flagged
18 Replies
44613 Views

Hi Forum.

the module most add some fields to product.product normal view. i coped the dir to /usr/lib/pymodules/python2.7/openerp/addons/sol_products

are the modules dos not shown in the module list. (installed Modules, apps)

__init__.py

   import sol_product_fields

__openerp__.py

{
    'name': 'Sol Product Fields',
    'version': '1.0',
    'category': 'Product',
    'description': "This module will added some spacial fields to Products View Form, and remove the EAN13 Barcode",
    'author': 'xxxx',
    'website': '',
    'depends': ['base'],
     'demo': [],
    'update_xml':['update.xml'],
    'installable': True,
    'auto_install': False,
    'web': True,
    'js': [],
    'qweb' : [],
    'images': [],
    'css': [],
}

sol_product_fields.py

  from openerp.osv import fields, osv

class product_product(osv.osv):

   _inherit = "product.product"
  _columns = {

            'product_category' : fields.selection([('MCB','MCB'),('Switches','Switches'),('Recepticals','Recepticals')],'Pruduct Category'),
            'corve_ka_rating' : fields.selection([('3kA','3kA'),('6kA','6kA')],'Corve kA Rating'),
            'corve_Pole' : fields.selection([("Pole 1","P1"),("Pole 1+N","P1+N"),("Pole 2","P2"),("Pole 3","P3"),("Pole 4","P4")],'Pole'),
            'corve_current' : fields.selection([('10A','10A'),('16A','16A'),('20A','20A'),('32A','32A'),('40A','40A'),('50A','50A'),('63A','63A')],'Current'),
            'corve_hugh_code': fields.char('Corve Hugh Code ',size=32,required=True, help='Imput Hugh Code'),
    }



product_product()

update.xml

    <?xml version="1.0" encoding="utf-8"?>
<openerp>
  <data>
        <record id="sol_product_normal_form_view" model="ir.ui.view">
          <field name="name">product.normal.form</field>
            <field name="model">product.product</field>
             <field name="inherit_id" ref="product.product_normal_form_view"/>
               <field name="arch" type="xml">
                  <field name="list_price" position="after">
                    <field name="product_category"/>
                    <field name="corve_Pole" attrs="{'invisible': [('product_category', '!=', 'MCB') ] }"/>
                    <field name="corve_current" attrs="{'invisible': [('product_category', '!=', 'MCB') ] }"/>
                    <field name="corve_ka_rating" attrs="{'invisible': [('product_category', '!=', 'MCB') ] }"/>
                    <field name="corve_hugh_code" attrs="{'invisible': [('product_category', '!=', 'MCB') ] }"/>
                  </field>
               </field>
          </record>
        </data>
</openerp>
Avatar
Discard
Best Answer

First correct your code:

file __openerp__.py:

# needs quotes.
'data': [], # remove this
'demo': [],
'update_xml':['update.xml', 'sol_product_fields_view.xml'], # update this

Click on Settings > Modules > Update Modules List

Once the update is done, go to Settings > Modules > Installed Modules and remove the Installed filter in the search box, after that just search for your module name and it should show up.

Note: In Settings > Users > Users, make sure you have checked the Technical Features access right for your current user.

Avatar
Discard

Dont forget to restart openerp

It isn't necessary in the case of a newly added module.

Author

Hi Karim. already doit before i make this post. do it agen takes no effect. Mybe mi module is wrong ?

Please check my cod.

I updated my answer, please check it. if that doesn't work, please paste the last errors that you can find in OpenERP's log file.

Author

Hi Karim. Ok now is visible in the modules. are installation failed:

ValidateError

Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

I updated my answer, check it. Just remove data and put its content in update_xml, don't forget to restart the server before trying to install the module.

Author

Ok i updatet my Code in first Post now i get the errors The file is UTF8 coded an edited by Kate

Error: File "/usr/lib/pymodules/python2.7/openerp/addons/sol_products/sol_product_fields.py", line 7 _columns = {' ^ IndentationError: unindent does not match any outer indentation level

Please make sure your code indentations are correct, look in line 7

Author

i updated code see first post. now i removed all taps with 4 x space. Created in eclipse.

now i get error Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

Other Tested code gif the same error <xpath expr="/form/sheet/notebook/information/group/group[1]/field[@name='list_price']" position="after"> <field name="product_category"/> .. .. </xpath> </field>

In __openerp__.py move the value from data to update_xml

Author

ok Now i found the error. i removed the record to remove ean13 and do a separate module for ean13

Just on question to you. How to remove div, groups, labels, buttons... via custom module ??

I think you can use xpath to achieve those changes, but sometimes it won't work because other forms depend on some elements that you are trying to remove.

Author

ok find Dank you very much for your help

You are welcome :-)

Best Answer

You have to press Update Module List first, and then go to Installed modules and remove the Installed filter

Avatar
Discard
Best Answer

Put your name of the module in double quotes. 

Avatar
Discard
Best Answer

If you are running V9 then you need to enable Developer Mode first by Small_Help_Icon(top right corner) -> About -> Activate Developer Mode.

This is required for most of the menus that are mentioned in the other answers to show up.

Avatar
Discard