This question has been flagged
4 Replies
8816 Views

how can I list items on one2many without have to click on add item? I have two classes to build two tables:

class tabela_recintos(osv.osv):

_name = 'tabela.recintos'

_columns = {

'recinto_ids': fields.one2many('tabela.lista','id_wizard','teste')
}

tabela_recintos()

class tabela_lista(osv.osv):

_name = 'tabela.lista'

_columns = {

        'id_wizard':fields.many2one('tabela.recintos','id_wizard'),
       'cod': fields.char('Código', size=20, required='True'),
       'nome': fields.char('Designação', size=60, required='True')
        }

I click on a menu on the left and pop's up a wizard, this wizard ll list the items, but I dont know what can I do more. it only shows a field and the button add item...

my xml is this

<record id="carrega_form" model="ir.ui.view">
    <field name="name">carrega.form</field>
    <field name="model">tabela.recintos</field>
    <field name="arch" type="xml">
        <form string="carrega" version="7.0">

            <group string="carrrega" col="1">

        <field name="recinto_ids"/>

            </group>

            <footer>
               <button name='name' type='object' string='Criar novo Recinto' class="oe_highlight"/>
                ou
                <button string="Cancelar" class="oe_link" special="cancel"/>
            </footer>
        </form>
    </field>
</record>

<record id="gs_carrega_act" model="ir.actions.act_window">
    <field name="name">Carregar os Recintos</field>
    <field name="type">ir.actions.act_window</field>
    <field name="res_model">tabela.recintos</field>
    <field name="view_type">form</field>
    <field name="view_mode">form</field>
    <field name="target">new</field>
</record>

<menuitem
    name="Carrega Recinto teste"
    parent="gs_menuLotacoes"
    action="gs_carrega_act"
    id="gs_carrega"
    sequence="0"/>
Avatar
Discard

Not sure what you mean: a one2may holds a list of items, it's not a view on another table's items.

Author

I have done a wizard to list items on this wizard I show a one2many field on it but I cant list the items when the wizard starts. I have to go to the add button and add the items one by one. I just need to list items when I click on the wizard menu

Best Answer

Evn i have the same problem .any idea of the solution

Avatar
Discard
Best Answer

Did anyone findthe solution? I have the same problem.

Avatar
Discard
Best Answer

you want the list of items to be displayed automatically based on some condition right??

Avatar
Discard
Best Answer

The method that we have used before is create the instance of tabela.recintos first, then create the related recinto_ids records, then return an action whose res_id is set to the created tabela.recintos.  Sample method returning action with res_id set can be found in action_button_confirm method in sale/sale.py.

Second method I can think of is to use the _default for tabela.recintos.  This can be done if the recinto_ids can be created without any knowledge of the information in tabela.recintos.

A side note, usually for wizards (non persistent data) we would use osv.osv_memory (or orm.TransientModel in 7.0) instead of osv.osv.

Avatar
Discard