Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
18 Respostas
48233 Visualizações

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
Cancelar
Melhor resposta

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
Cancelar

Dont forget to restart openerp

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

Autor

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.

Autor

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.

Autor

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

Autor

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

Autor

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.

Autor

ok find Dank you very much for your help

You are welcome :-)

Melhor resposta

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

Avatar
Cancelar
Melhor resposta

Put your name of the module in double quotes. 

Avatar
Cancelar
Melhor resposta

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
Cancelar
Publicações relacionadas Respostas Visualizações Atividade
4
jun. 24
7562
1
abr. 21
5780
2
abr. 15
4615
3
jan. 24
12136
1
mar. 15
4009