Skip to Content
Menu
This question has been flagged
2 Replies
6985 Views

The email_template model has a field partner_to which is a comma separated char list of partners that will get emailed. I would like to display their names.

<tree string="Scheduled Emails">
  <field name="partner_to" eval="obj.partner_names()">
</tree>

But in my tree view it just displays the value of the field. If I change the name to a custom name it errors saying the field doesn't exist. What's the correct way of doing this?

Avatar
Discard
Best Answer

You can create a function field that returns what you need and then include that field in the view.  So, in your case, first create the method:

def partner_names(self, cr, uid, ids, name, args, context=None)

    res = {}

    for _obj in self.browse(cr, uid, ids, context=None):

      res[_obj.id] = ....

    return res

Note that the signature of the method must be as I have described and the return value must be a dictionary whose key is each id that is being processed and the value is the value to return.

In the _columns, you add:

'partner_to_names': fields.function(partner_names, type='text', string='Partner Names')

Then use the field (partner_to_names) in the view.

Avatar
Discard
Author

Ah cool, that solved a separate search issue I was having too. Thanks.

Best Answer

Does anyone konw a way to create a generic tree and load it with custom data. Lets say we can make an empty grid and on load of a recors do a select and loat the grid with anything we want. Whith this I mean, doing this without creating a model for the data in the grid? Thx.

Avatar
Discard
Author

You should create a separate question if you want an answer to that, but you should be able to use a TransientModel.

Related Posts Replies Views Activity
0
Jan 24
378
2
May 23
6770
1
Feb 22
21403
5
Dec 21
15004
0
Dec 20
3652