From 78890bc3de6c381f4aa1c5082d5841bf4810e234 Mon Sep 17 00:00:00 2001 From: "Yogesh (OpenERP)" Date: Thu, 14 Jul 2011 17:11:43 +0530 Subject: [PATCH] [IMP] Implement save export list in db. bzr revid: ysa@tinyerp.com-20110714114143-rsrkae7ve1gpap00 --- addons/base_export/controllers/main.py | 9 +++++ .../base_export/static/src/js/base_export.js | 39 +++++++++++++++++-- .../static/src/xml/base_export.xml | 13 ++++++- 3 files changed, 57 insertions(+), 4 deletions(-) diff --git a/addons/base_export/controllers/main.py b/addons/base_export/controllers/main.py index eb475e59a21..e3b7de03413 100644 --- a/addons/base_export/controllers/main.py +++ b/addons/base_export/controllers/main.py @@ -58,3 +58,12 @@ class Export(View): records.reverse() return records + + @openerpweb.jsonrequest + def save_export_lists(self, req, name, model, field_list): + result = {'resource':model, 'name':name, 'export_fields': []} + for field in field_list: + result['export_fields'].append((0, 0, {'name': field})) + req.session.model("ir.exports").create(result, req.session.eval_context(req.context)) + return True + diff --git a/addons/base_export/static/src/js/base_export.js b/addons/base_export/static/src/js/base_export.js index 33380d8f613..0a3ea7cf53b 100644 --- a/addons/base_export/static/src/js/base_export.js +++ b/addons/base_export/static/src/js/base_export.js @@ -40,8 +40,43 @@ openerp.base_export.Export = openerp.base.Dialog.extend({ $('#remove_all_field').click(function(){ jQuery(self.$dialog).find("#fields_list option").remove(); }); + $('#export_new_list').click(function(){ + self.on_show_save_list(); + }); this.rpc("/base_export/export/get_fields", {"model": this.dataset.model}, this.on_show_data); }, + on_show_save_list: function(){ + var self = this; + var current_node = $("#savenewlist"); + if(!(current_node.find("label")).length){ + current_node.append(QWeb.render('ExportNewList')); + current_node.find("#add_export_list").click(function(){ + var value = current_node.find("#savelist_name").val(); + if (value){ + self.do_save_export_list(value); + } + else{ + alert("Pleae Enter Save Field List Name"); + } + + }); + } + else{ + if (current_node.is(':hidden')){ + current_node.show(); + } + else{ + current_node.hide(); + } + } + }, + + do_save_export_list: function(value){ + var export_field = this.get_fields() + if(export_field.length){ + this.rpc("/base_export/export/save_export_lists", {"model": this.dataset.model, "name":value, "field_list":export_field}, {}); + } + }, on_click: function(id, result) { var self = this @@ -186,9 +221,7 @@ openerp.base_export.Export = openerp.base.Dialog.extend({ if (! export_field.length){ alert('Please select fields to export...'); } - else { - this.close(); - } + return export_field; }, close: function() { diff --git a/addons/base_export/static/src/xml/base_export.xml b/addons/base_export/static/src/xml/base_export.xml index ef3d3de4af4..21eeccfe52c 100644 --- a/addons/base_export/static/src/xml/base_export.xml +++ b/addons/base_export/static/src/xml/base_export.xml @@ -34,7 +34,10 @@ Available fields - Fields to export + Fields to export + Save fields list +
+ @@ -105,4 +108,12 @@ + + + + + + + + \ No newline at end of file