This question has been flagged
3 Replies
26272 Views

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
Best Answer

Another option is to add a button in the list view of type "object" that executes the "get_formview_action" which already exists on every model.

<button type="object" name="get_formview_action" string="Open" icon="fa-edit"/>
Avatar
Discard
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',
        }
Avatar
Discard

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.

Author

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

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.

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?

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

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

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