Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

6

How set limit for number records of x2many?

By
Vasiliy Birukov
on 3/18/13, 6:15 AM 5,368 views

By default limit for number records per page - 80. Is it possible change this limit to another default value for field x2many? For example to 10.

It is usefull for popup window, if we have long list, better go through pages.

7

Andreas Brueckl

--Andreas Brueckl--
5056
| 7 8 7
Vienna, Austria
--Andreas Brueckl--
OpenERP Consulting and Development
Andreas Brueckl
On 3/18/13, 7:34 AM

You can change the default limit in this file:

web/addons/web/static/src/js/view_list.js

If you want to set the default limit to 10, the you can change the paragraph

defaults: {
    // records can be selected one by one
    'selectable': true,
    // list rows can be deleted
    'deletable': false,
    // whether the column headers should be displayed
    'header': true,
    // display addition button, with that label
    'addable': _lt("Create"),
    // whether the list view can be sorted, note that once a view has been
    // sorted it can not be reordered anymore
    'sortable': true,
    // whether the view rows can be reordered (via vertical drag & drop)
    'reorderable': true,
    'action_buttons': true,
    //whether the editable property of the view has to be disabled
    'disable_editable_mode': false,
},

to

defaults: {
    // records can be selected one by one
    'selectable': true,
    // list rows can be deleted
    'deletable': false,
    // whether the column headers should be displayed
    'header': true,
    // display addition button, with that label
    'addable': _lt("Create"),
    // whether the list view can be sorted, note that once a view has been
    // sorted it can not be reordered anymore
    'sortable': true,
    // whether the view rows can be reordered (via vertical drag & drop)
    'reorderable': true,
    'action_buttons': true,
    //whether the editable property of the view has to be disabled
    'disable_editable_mode': false,
    'limit': 10,
},

Thanks, it work! BTW what "defaults.limit" and "options.limit". Where it setup?

Vasiliy Birukov
on 3/18/13, 7:44 AM

I have updated my answer. It is better to use the defaults-value for the limit. I was not able to find howto setup the "options".

Andreas Brueckl
on 3/18/13, 9:38 AM
3
nazarii
On 9/6/13, 6:21 PM

Hi guys, this code is great but why don't you use standard functionality instead of editing in core web? There is already limit parameter predefined you can use declaring x2many field, for instance to limit number of sale order lines shown in sale order you can define:

        'order_line': fields.one2many('sale.order.line', 'order_id', 'Order Lines', limit=10, readonly=True, states={'draft': [('readonly', False)]}),

Let's use standard functionality!

Yes, but with this solution you doesn't have the possibility to change page. You only display 10 entries and you can't see the next entries.

Xsias
on 9/10/13, 8:00 AM
1
DNTQ
On 7/4/13, 11:39 PM

You can change in view_form.js. _.extend(view.options, { ....., limit: self.options.limit || 5, //5 is default value }

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

2 follower(s)

Stats

Asked: 3/18/13, 6:15 AM
Seen: 5368 times
Last updated: 7/31/15, 2:35 AM