3
votes

I have created a custom module, but tree view has a strange behavior, I created an action so that the main view of my module is tree view. On my tree view, button "create" disappeared and when I want to open a record created using form view, it doesn't open. Below is my code:

comun_denomindor.py :

from openerp import tools

from openerp import netsvc

from openerp import pooler

from openerp.osv import fields, osv, orm

from openerp.tools.translate import _

class comun_denominador(osv.osv):

_name='comun.denominador'

_columns = {

'comun_denominador': fields.char('Común denominador', size=10),

'code': fields.char('Código clasificación', size=10)

}

comun_denominador.xml :

<?xml version="1.0" encoding="utf-8"?>

    <openerp>

         <data>

             <record id="comun_denominador_search_view" model="ir.ui.view">

                 <field name="name">comun.denominador.search</field>

                 <field name="model">comun.denominador</field>

                 <field name="arch" type="xml">

                     <search string="Común denominador">

                         <field name="comun_denominador" string="Comun denominador"/>

                     </search>

                 </field>

             </record>

             <record id="comun_denominador_form_view" model="ir.ui.view">

                 <field name="name">comun.denominador.form</field>

                 <field name="model">comun.denominador</field>

                 <field name="arch" type="xml">

                     <form string="Común denominador">

                         <sheet>

                                     <div class="oe_title" style="width: 390px;">

                                         <label class="oe_edit_only" for="comun_denominador" string="Nombre del común denominador"/>

                                             <h1><field name="comun_denominador" class="oe_inline"/></h1>

                                                <label class="oe_edit_only" for="code" string="Código de clasificación"/>

                                                    <h1><field name="code" class="oe_inline"/></h1>

                                      </div>

                          </sheet>

                     </form>

                </field>

            </record>

            <record id="cm_tree_view" model="ir.ui.view">

                <field name="name">cm.tree</field>

                <field name="model">comun.denominador</field>

                <field name="arch" type="xml">

                    <tree string="Común denominador" >

                        <field name="comun_denominador"/>

                        <field name="code"/>

                   </tree>

               </field>

           </record>

           <record id="cm_action_tree" model="ir.actions.act_window">

               <field name="name">Común denominador</field>

               <field name="type">ir.actions.act_window</field>

               <field name="res_model">comun.denominador</field>

               <field name="view_mode">tree,form</field>

               <field name="view_type">tree</field>

               <field name="view_id" ref="cm_tree_view"/>

            </record>

            <menuitem action="cm_action_tree"  id="product.menu_products_comun_denominador"  parent="base.menu_product"  sequence="40" />

       </data>

</openerp>

Hope someone can help me

Thanks in advance!!

2
No entendí bien la pregunta, pero en view_type proba poniendo Form, lo que hace poner tree es traerte una estructura de árbol la cual no podes editar (por eso no se ve igual que la vista tree usual), vas a tener ambas vistas solo que con el tipo "Form" traerá la que usualmente ves en el Odoo. Decime si te sirvió.dccdany
<field name="view_type">form</field> <field name="view_mode">list,form</field>Diego Calzadilla
Lo resolví poniendo esas etiquetas en la declaración de la acciónDiego Calzadilla

2 Answers

4
votes

By Default you should give view_type='form' so that the single record can be opened in detail. Just update the following code.

      <record id="cm_action_tree" model="ir.actions.act_window">

           <field name="name">Común denominador</field>

           <field name="type">ir.actions.act_window</field>

           <field name="res_model">comun.denominador</field>

           <field name="view_mode">tree,form</field>

           <field name="view_type">form</field> // Update this line

           <field name="view_id" ref="cm_tree_view"/>

        </record>
-1
votes

I manage to solve it like this:

form list,form