:param int limit: search limit, for pagination
:returns: hell if I have any idea yet
"""
- view = self.fields_view_get(request, model, id)
+ view = self.fields_view_get(request, model, id, toolbar=True)
rows = DataSet().do_search_read(request, model,
offset=offset, limit=limit,
domain=domain)
eval_context = request.session.evaluation_context(
request.context)
- return [
- {'data': dict((key, {'value': value})
- for key, value in row.iteritems()),
- 'color': self.process_colors(view, row, eval_context)}
- for row in rows
- ]
+ return {
+ 'view': view,
+ 'records': [
+ {'data': dict((key, {'value': value})
+ for key, value in row.iteritems()),
+ 'color': self.process_colors(view, row, eval_context)}
+ for row in rows
+ ]
+ }
def process_colors(self, view, row, context):
colors = view['arch']['attrs'].get('colors')
asyncTest('render selection checkboxes', 2, function () {
var listview = new openerp.base.ListView(
{}, null,
- 'qunit-fixture', {model: null});
+ 'qunit-fixture', {model: null, ids: [null, null, null], index: 0});
listview.on_loaded(fvg);
- listview.do_fill_table([
+ listview.do_fill_table({records: [
{data: {id: {value: null}}},
{data: {id: {value: null}}},
{data: {id: {value: null}}}
- ]).then(function () {
+ ]}).then(function () {
ok(are(listview.$element.find('tbody th'),
'.oe-record-selector'));
ok(are(listview.$element.find('tbody th input'),
asyncTest('render no checkbox if selectable=false', 1, function () {
var listview = new openerp.base.ListView(
{}, null,
- 'qunit-fixture', {model: null}, false,
+ 'qunit-fixture', {model: null, ids: [null, null, null], index: 0}, false,
{selectable: false});
listview.on_loaded(fvg);
- listview.do_fill_table([
+ listview.do_fill_table({records: [
{data: {id: {value: null}}},
{data: {id: {value: null}}},
{data: {id: {value: null}}}
- ]).then(function () {
+ ]}).then(function () {
equal(listview.$element.find('tbody th').length, 0);
start();
});
});
asyncTest('select a bunch of records', 2, function () {
var listview = new openerp.base.ListView(
- {}, null, 'qunit-fixture', {model: null});
+ {}, null, 'qunit-fixture', {model: null, ids: [1, 2, 3], index: 0});
listview.on_loaded(fvg);
- listview.do_fill_table([
+ listview.do_fill_table({records: [
{data: {id: {value: 1}}},
{data: {id: {value: 2}}},
{data: {id: {value: 3}}}
- ]).then(function () {
+ ]}).then(function () {
listview.$element.find('tbody th input:eq(2)')
.attr('checked', true);
deepEqual(listview.get_selection(), [3]);
});
asyncTest('render deletion button if list is deletable', 1, function () {
var listview = new openerp.base.ListView(
- {}, null, 'qunit-fixture', {model: null});
+ {}, null, 'qunit-fixture', {model: null, ids: [null, null, null], index: 0});
listview.on_loaded(fvg);
- listview.do_fill_table([
+ listview.do_fill_table({records: [
{data: {id: {value: null}}},
{data: {id: {value: null}}},
{data: {id: {value: null}}}
- ]).then(function () {
+ ]}).then(function () {
equal(
listview.$element.find('tbody tr td.oe-record-delete button').length,
3);
var listview = new openerp.base.ListView(
{}, null, 'qunit-fixture', {model: null, unlink: function (ids) {
deleted = ids;
- }});
+ }, ids: [1, 2, 3], index: 0});
listview.on_loaded(fvg);
- listview.do_fill_table([
+ listview.do_fill_table({records: [
{data: {id: {value: 1}}},
{data: {id: {value: 2}}},
{data: {id: {value: 3}}}
- ]).then(function () {
+ ]}).then(function () {
listview.$element.find('tbody td.oe-record-delete:eq(2) button').click();
deepEqual(deleted, [3]);
listview.$element.find('tbody td.oe-record-delete:eq(0) button').click();
var listview = new openerp.base.ListView(
{}, null, 'qunit-fixture', {model: null, unlink: function (ids) {
deleted = ids;
- }});
+ }, ids: [1, 2, 3], index: 0});
listview.on_loaded(fvg);
- listview.do_fill_table([
+ listview.do_fill_table({records: [
{data: {id: {value: 1}}},
{data: {id: {value: 2}}},
{data: {id: {value: 3}}}
- ]).then(function () {
+ ]}).then(function () {
listview.$element.find('tbody th input:eq(2)')
.attr('checked', true);
listview.$element.find('tbody th input:eq(1)')