Help

7

How to open one2many record in current window, not a popup?

Avatar
Brett Lehrer

I searched through the old forums and didn't find any decent answers. Is it possible to click on a record in a one2many list and have it open the full page, rather than just the popup?

I'm trying to access attachments/reports/links associated with that record, and that's not possible if I'm only ever getting a popup window.

Thanks for your input.

Avatar
Discard
2 Answers
2
Avatar
sridhar
Best Answer

In the Tree view we can put editable="bottom", now we can edit in the same form,

                          <field name="One2many_field_name" >
                                    <tree editable="bottom">
                                        <field name="name"/>                                       
                                    </tree>
                                </field>

Avatar
Discard
11
Best Answer

You can create a type='object' button in the tree view. The button method should return an action to open the selected line. You have to click on the button, not anywhere in the line.

class mymodule_model(osv.osv):
    _name = 'my_module.model'
    ...
    ...
    def open_line(self, cr, uid, id, context=None):
        return {
            'type': 'ir.actions.act_window',
            'name': 'Model Title', 
            'view_type': 'form',
            'view_mode': 'form',
            'res_model': self._name,
            'res_id': id[0],
            'target': 'current',
        }
6 Comments
Avatar
Discard
Avatar
Mohammad Alhashash
-

Glad it worked. _() is the string translation function. If you want to translate the action title, you should use it and add from openerp.tools.translate import _ to your module.

Avatar
Brett Lehrer
-

Ahh, that makes sense. Thanks again, that one has been bugging me for a while.

Avatar
Mohammad Alhashash
-

I updated the answer to prevent confusion. Actually I'm not sure if it is required to do the translation on server side or the client would translate it.

Avatar
todd
-

Mohammad Ali, is it possible to do this without adding a new button and just directing the original 'Add an item' button to return a full page?

Avatar
Mohammad Alhashash
-

No. But you can disable list view editing and always get the form dialog for editing.

Avatar
Cyrus Waithaka
-

What if you wanted to open a related object (many2one) instead of the current object. For instance, open the product from the mrp.bom.line