@ -46,49 +46,45 @@ odoo.define('web_export_view', function (require) {
export_columns_names . push ( this . string ) ;
export_columns_names . push ( this . string ) ;
}
}
} ) ;
} ) ;
var rows = view . $el . find ( '.o_list_view > tbody > tr' ) ;
var export_rows = [ ] ;
var export_rows = [ ] ;
$ . each ( rows , function ( ) {
var $row = $ ( this ) ;
$ . blockUI ( ) ;
if ( children ) {
// find only rows with data
// find only rows with data
if ( $row . attr ( 'data-id' ) ) {
view . $el . find ( '.o_list_view > tbody > tr[data-id]:has(.o_list_record_selector input:checkbox:checked)' )
. each ( function ( ) {
var $row = $ ( this ) ;
var export_row = [ ] ;
var export_row = [ ] ;
var checked = $row . find ( '.o_list_record_selector input[type=checkbox]' ) . is ( ':checked' ) ;
if ( children && checked === true ) {
$ . each ( export_columns_keys , function ( ) {
var $cell = $row . find ( 'td[data-field="' + this + '"]' )
var $cellcheckbox = $cell . find ( '.o_checkbox input[type=checkbox]' ) ;
if ( $cellcheckbox . length ) {
if ( $cellcheckbox . is ( ':checked' ) ) {
export_row . push ( _t ( "True" ) ) ;
}
else {
export_row . push ( _t ( "False" ) ) ;
}
$ . each ( export_columns_keys , function ( ) {
var $cell = $row . find ( 'td[data-field="' + this + '"]' )
var $cellcheckbox = $cell . find ( '.o_checkbox input:checkbox' ) ;
if ( $cellcheckbox . length ) {
export_row . push (
$cellcheckbox . is ( ":checked" )
? _t ( "True" ) : _t ( "False" )
) ;
}
else {
var text = $cell . text ( ) . trim ( ) ;
if ( $cell . hasClass ( "o_list_number" ) ) {
export_row . push ( parseFloat (
text
// Remove thousands separator
. split ( _t . database . parameters . thousands_sep )
. join ( "" )
// Always use a `.` as decimal separator
. replace ( _t . database . parameters . decimal_point , "." )
// Remove non-numeric characters
. replace ( /[^\d\.-]/g , "" )
) ) ;
}
}
else {
else {
var cell = $cell . get ( 0 ) ;
var text = cell . text || cell . textContent || cell . innerHTML || "" ;
if ( cell . classList . contains ( "o_list_number" ) ) {
var tmp2 = text ;
do {
var tmp = tmp2 ;
tmp2 = tmp . replace ( _t . database . parameters . thousands_sep , "" ) ;
} while ( tmp !== tmp2 ) ;
tmp2 = tmp . replace ( _t . database . parameters . decimal_point , "." ) ;
export_row . push ( parseFloat ( tmp2 ) ) ;
}
else {
export_row . push ( text . trim ( ) ) ;
}
export_row . push ( text ) ;
}
}
} ) ;
export_rows . push ( export_row ) ;
}
}
} ) ;
$ . blockUI ( ) ;
}
} ) ;
export_rows . push ( export_row ) ;
} ) ;
}
view . session . get_file ( {
view . session . get_file ( {
url : '/web/export/xls_view' ,
url : '/web/export/xls_view' ,
data : { data : JSON . stringify ( {
data : { data : JSON . stringify ( {