Browse Source

Move plugin for __unported__ dir

pull/27/head
Adil Houmadi 10 years ago
parent
commit
a0c192e8e0
  1. 0
      web_export_view/AUTHORS.txt
  2. 0
      web_export_view/__init__.py
  3. 24
      web_export_view/__openerp__.py
  4. 33
      web_export_view/controllers.py
  5. 0
      web_export_view/i18n/de.po
  6. 0
      web_export_view/i18n/es.po
  7. 0
      web_export_view/i18n/fr.po
  8. 0
      web_export_view/i18n/is.po
  9. 0
      web_export_view/i18n/nl.po
  10. 0
      web_export_view/i18n/web_export_view.pot
  11. 58
      web_export_view/static/src/js/web_advanced_export.js
  12. 2
      web_export_view/static/src/xml/web_advanced_export.xml

0
__unported__/web_export_view/AUTHORS.txt → web_export_view/AUTHORS.txt

0
__unported__/web_export_view/__init__.py → web_export_view/__init__.py

24
__unported__/web_export_view/__openerp__.py → web_export_view/__openerp__.py

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
##############################################################################
# #############################################################################
# #
# Copyright (C) 2012 Domsense srl (<http://www.domsense.com>)
# Copyright (C) 2012-2013 Agile Business Group sagl
# Copyright (C) 2012 Domsense srl (<http://www.domsense.com>)
# Copyright (C) 2012-2013 Agile Business Group sagl
# (<http://www.agilebg.com>) # (<http://www.agilebg.com>)
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -47,13 +47,15 @@ the same data of the tree view you are looking at, headers included.
'author': 'Agile Business Group', 'author': 'Agile Business Group',
'website': 'http://www.agilebg.com', 'website': 'http://www.agilebg.com',
'license': 'AGPL-3', 'license': 'AGPL-3',
'depends': ['web'],
# 'external_dependencies': {
# 'python': ['xlwt'],
# },
'js': ['static/*/*.js', 'static/*/js/*.js'],
'qweb': ['static/xml/web_advanced_export.xml'],
'installable': False,
'depends': [
'web',
],
'js': [
'static/src/js/web_advanced_export.js',
],
'qweb': [
'static/src/xml/web_advanced_export.xml',
],
'installable': True,
'auto_install': False, 'auto_install': False,
'web_preload': False,
} }

33
__unported__/web_export_view/controllers.py → web_export_view/controllers.py

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
##############################################################################
# #############################################################################
# #
# Copyright (C) 2012 Agile Business Group sagl (<http://www.agilebg.com>) # Copyright (C) 2012 Agile Business Group sagl (<http://www.agilebg.com>)
# Copyright (C) 2012 Domsense srl (<http://www.domsense.com>) # Copyright (C) 2012 Domsense srl (<http://www.domsense.com>)
@ -23,9 +23,10 @@ try:
except ImportError: except ImportError:
import simplejson as json import simplejson as json
import web.http as openerpweb
from web.controllers.main import ExcelExport
import openerp
import openerp.http as http
from openerp.http import request
from openerp.addons.web.controllers.main import ExcelExport
class ExcelExportView(ExcelExport): class ExcelExportView(ExcelExport):
@ -36,19 +37,19 @@ class ExcelExportView(ExcelExport):
raise AttributeError() raise AttributeError()
return super(ExcelExportView, self).__getattribute__(name) return super(ExcelExportView, self).__getattribute__(name)
@openerpweb.httprequest
def index(self, req, data, token):
@http.route('/web/export/xls_view', type='json', auth='user')
def index(self, data, token):
data = json.loads(data) data = json.loads(data)
model = data.get('model', []) model = data.get('model', [])
columns_headers = data.get('headers', []) columns_headers = data.get('headers', [])
rows = data.get('rows', []) rows = data.get('rows', [])
return req.make_response(
self.from_data(columns_headers, rows),
headers=[
('Content-Disposition', 'attachment; filename="%s"'
% self.filename(model)),
('Content-Type', self.content_type)
],
cookies={'fileToken': token}
)
#
# return req.make_response(
# self.from_data(columns_headers, rows),
# headers=[
# ('Content-Disposition', 'attachment; filename="%s"'
# % self.filename(model)),
# ('Content-Type', self.content_type)
# ],
# cookies={'fileToken': token}
# )

0
__unported__/web_export_view/i18n/de.po → web_export_view/i18n/de.po

0
__unported__/web_export_view/i18n/es.po → web_export_view/i18n/es.po

0
__unported__/web_export_view/i18n/fr.po → web_export_view/i18n/fr.po

0
__unported__/web_export_view/i18n/is.po → web_export_view/i18n/is.po

0
__unported__/web_export_view/i18n/nl.po → web_export_view/i18n/nl.po

0
__unported__/web_export_view/i18n/web_export_view.pot → web_export_view/i18n/web_export_view.pot

58
__unported__/web_export_view/static/js/web_advanced_export.js → web_export_view/static/src/js/web_advanced_export.js

@ -19,27 +19,28 @@
// //
//############################################################################# //#############################################################################
openerp.web_export_view = function(instance, m) {
openerp.web_export_view = function (instance) {
debugger;
var _t = instance.web._t, var _t = instance.web._t,
QWeb = instance.web.qweb;
QWeb = instance.web.qweb;
instance.web.Sidebar.include({ instance.web.Sidebar.include({
redraw: function() {
redraw: function () {
var self = this; var self = this;
this._super.apply(this, arguments); this._super.apply(this, arguments);
self.$el.find('.oe_sidebar').append(QWeb.render('AddExportViewMain', {widget: self})); self.$el.find('.oe_sidebar').append(QWeb.render('AddExportViewMain', {widget: self}));
self.$el.find('.oe_sidebar_export_view_xls').on('click', self.on_sidebar_export_view_xls); self.$el.find('.oe_sidebar_export_view_xls').on('click', self.on_sidebar_export_view_xls);
}, },
on_sidebar_export_view_xls: function() {
on_sidebar_export_view_xls: function () {
// Select the first list of the current (form) view // Select the first list of the current (form) view
// or assume the main view is a list view and use that // or assume the main view is a list view and use that
var self = this, var self = this,
view = this.getParent(),
children = view.getChildren();
view = this.getParent(),
children = view.getChildren();
if (children) { if (children) {
children.every(function(child) {
children.every(function (child) {
if (child.field && child.field.type == 'one2many') { if (child.field && child.field.type == 'one2many') {
view = child.viewmanager.views.list.controller; view = child.viewmanager.views.list.controller;
return false; // break out of the loop return false; // break out of the loop
@ -53,8 +54,8 @@ openerp.web_export_view = function(instance, m) {
} }
export_columns_keys = []; export_columns_keys = [];
export_columns_names = []; export_columns_names = [];
$.each(view.visible_columns, function(){
if(this.tag=='field'){
$.each(view.visible_columns, function () {
if (this.tag == 'field') {
// non-fields like `_group` or buttons // non-fields like `_group` or buttons
export_columns_keys.push(this.id); export_columns_keys.push(this.id);
export_columns_names.push(this.string); export_columns_names.push(this.string);
@ -62,46 +63,47 @@ openerp.web_export_view = function(instance, m) {
}); });
rows = view.$el.find('.oe_list_content > tbody > tr'); rows = view.$el.find('.oe_list_content > tbody > tr');
export_rows = []; export_rows = [];
$.each(rows,function(){
$.each(rows, function () {
$row = $(this); $row = $(this);
// find only rows with data // find only rows with data
if($row.attr('data-id')){
if ($row.attr('data-id')) {
export_row = []; export_row = [];
checked = $row.find('th input[type=checkbox]').attr("checked"); checked = $row.find('th input[type=checkbox]').attr("checked");
if (children && checked === "checked"){
$.each(export_columns_keys,function(){
cell = $row.find('td[data-field="'+this+'"]').get(0);
if (children && checked === "checked") {
$.each(export_columns_keys, function () {
cell = $row.find('td[data-field="' + this + '"]').get(0);
text = cell.text || cell.textContent || cell.innerHTML || ""; text = cell.text || cell.textContent || cell.innerHTML || "";
if (cell.classList.contains("oe_list_field_float")){
if (cell.classList.contains("oe_list_field_float")) {
export_row.push(instance.web.parse_value(text, {'type': "float"})); export_row.push(instance.web.parse_value(text, {'type': "float"}));
} }
else if (cell.classList.contains("oe_list_field_boolean")){
var data_id = $( '<div>' + cell.innerHTML + '</div>');
if(data_id.find('input').get(0).checked){
export_row.push(_t("True"));
else if (cell.classList.contains("oe_list_field_boolean")) {
var data_id = $('<div>' + cell.innerHTML + '</div>');
if (data_id.find('input').get(0).checked) {
export_row.push(_t("True"));
} }
else { else {
export_row.push(_t("False"));
export_row.push(_t("False"));
} }
} }
else if (cell.classList.contains("oe_list_field_integer")){
export_row.push(parseInt(text));
else if (cell.classList.contains("oe_list_field_integer")) {
export_row.push(parseInt(text));
} }
else{
export_row.push(text.trim());
else {
export_row.push(text.trim());
} }
}); });
export_rows.push(export_row); export_rows.push(export_row);
};
}
;
} }
}); });
$.blockUI(); $.blockUI();
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({
model : view.model,
headers : export_columns_names,
rows : export_rows,
model: view.model,
headers: export_columns_names,
rows: export_rows,
})}, })},
complete: $.unblockUI complete: $.unblockUI
}); });

2
__unported__/web_export_view/static/xml/web_advanced_export.xml → web_export_view/static/src/xml/web_advanced_export.xml

@ -10,4 +10,4 @@
</ul> </ul>
</div> </div>
</t> </t>
</templates>
</templates>
Loading…
Cancel
Save