[IMP] implement save export list functionality.
bzr revid: ysa@tinyerp.com-20110715102314-pvz1uyke4wjhk8xl
This commit is contained in:
@@ -62,6 +62,14 @@ class Export(View):
|
||||
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
|
||||
return req.session.model("ir.exports").create(result, req.session.eval_context(req.context))
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
def exist_export_lists(self, req, model):
|
||||
export_model = req.session.model("ir.exports")
|
||||
return export_model.read(export_model.search([('resource', '=', model)]), ['name'])
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
def delete_export(self, req, export_id):
|
||||
req.session.model("ir.exports").unlink(export_id, req.session.eval_context(req.context))
|
||||
return True
|
||||
|
||||
@@ -29,6 +29,7 @@ openerp.base_export.Export = openerp.base.Dialog.extend({
|
||||
},
|
||||
close: function(event, ui){ self.close();}
|
||||
});
|
||||
this.on_show_exists_export_list();
|
||||
$('#add_field').click(function(){
|
||||
for (var key in self.selected_fields) {
|
||||
self.add_field(key, self.selected_fields[key])
|
||||
@@ -44,7 +45,33 @@ openerp.base_export.Export = openerp.base.Dialog.extend({
|
||||
self.on_show_save_list();
|
||||
});
|
||||
this.rpc("/base_export/export/get_fields", {"model": this.dataset.model}, this.on_show_data);
|
||||
|
||||
},
|
||||
|
||||
on_show_exists_export_list: function(){
|
||||
var self = this;
|
||||
if($("#saved_export_list").is(":hidden")){
|
||||
$("#ExistsExportList").show();
|
||||
}
|
||||
else{
|
||||
this.rpc("/base_export/export/exist_export_lists", {"model": this.dataset.model}, function(export_list){
|
||||
if(export_list.length){
|
||||
$("#ExistsExportList").append(QWeb.render('Exists.ExportList', {'existing_exports':export_list}));
|
||||
$('#delete_export_list').click(function(){
|
||||
select_exp = $("#saved_export_list option:selected")
|
||||
if (select_exp.val()){
|
||||
self.rpc("/base_export/export/delete_export", {"export_id": parseInt(select_exp.val())}, {});
|
||||
select_exp.remove();
|
||||
if($("#saved_export_list option").length <= 1){
|
||||
$("#ExistsExportList").hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
on_show_save_list: function(){
|
||||
var self = this;
|
||||
var current_node = $("#savenewlist");
|
||||
@@ -58,7 +85,6 @@ openerp.base_export.Export = openerp.base.Dialog.extend({
|
||||
else{
|
||||
alert("Pleae Enter Save Field List Name");
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
else{
|
||||
@@ -72,10 +98,23 @@ openerp.base_export.Export = openerp.base.Dialog.extend({
|
||||
},
|
||||
|
||||
do_save_export_list: function(value){
|
||||
var export_field = this.get_fields()
|
||||
var self = this;
|
||||
var export_field = self.get_fields()
|
||||
if(export_field.length){
|
||||
this.rpc("/base_export/export/save_export_lists", {"model": this.dataset.model, "name":value, "field_list":export_field}, {});
|
||||
this.on_show_save_list()
|
||||
self.rpc("/base_export/export/save_export_lists", {"model": self.dataset.model, "name":value, "field_list":export_field}, function(exp_id){
|
||||
if(exp_id){
|
||||
if($("#saved_export_list").length > 0){
|
||||
$("#saved_export_list").append( new Option(value, exp_id));
|
||||
}
|
||||
else{
|
||||
self.on_show_exists_export_list();
|
||||
}
|
||||
if($("#saved_export_list").is(":hidden")){
|
||||
self.on_show_exists_export_list();
|
||||
}
|
||||
}
|
||||
});
|
||||
self.on_show_save_list()
|
||||
$("#fields_list option").remove();
|
||||
}
|
||||
},
|
||||
@@ -150,7 +189,11 @@ openerp.base_export.Export = openerp.base.Dialog.extend({
|
||||
}
|
||||
break;
|
||||
case arrow.up:
|
||||
$(this).prev().find('a').focus();
|
||||
var elem = this;
|
||||
while($(elem).prev().is(":visible") == false){
|
||||
elem = $(elem).prev();
|
||||
}
|
||||
$(elem).prev().find('a').focus();
|
||||
break;
|
||||
case arrow.right:
|
||||
if( jQuery(this).find('img').attr('src') == '/base/static/src/img/expand.gif'){
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
</t>
|
||||
|
||||
<t t-name="ExportTreeView">
|
||||
<table class="view" cellspacing="5" border="0" width="100%">
|
||||
<table class="view" width="100%">
|
||||
<tr>
|
||||
<td class="side_spacing" align="left">
|
||||
This wizard will export all data that matches the current search criteria to a CSV file.
|
||||
@@ -29,20 +29,21 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="side_spacing">
|
||||
<table class="fields-selector-export" cellspacing="5" border="0">
|
||||
<td>
|
||||
<table class="fields-selector-export" width="100%">
|
||||
<tr>
|
||||
<th class="oe_view_title">Available fields</th>
|
||||
<th class="oe_view_title" valign="bottom">Available fields</th>
|
||||
<th class="oe_view_title"></th>
|
||||
<th class="oe_view_title">Fields to export
|
||||
<a style="color: blue; text-decoration: none;" href="#" id="export_new_list">Save fields list</a>
|
||||
<div id="savenewlist"></div>
|
||||
<div id="ExistsExportList"></div>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="fields-selector-left" height="400px">
|
||||
<div id="fields_left">
|
||||
<table class="fields-selector-export" cellspacing="5" border="0">
|
||||
<table class="fields-selector-export">
|
||||
<th class="header_title"> Name </th>
|
||||
<tr>
|
||||
<td>
|
||||
@@ -55,7 +56,7 @@
|
||||
</div>
|
||||
</td>
|
||||
<td class="fields-selector-center">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<button id="add_field">Add </button>
|
||||
@@ -115,9 +116,24 @@
|
||||
|
||||
<t t-name="ExportNewList">
|
||||
<tr>
|
||||
<td><label>Save as:</label></td>
|
||||
<th><label>Save as:</label></th>
|
||||
<td><input size="10" type="text" id="savelist_name"/></td>
|
||||
<td><button id="add_export_list">Ok</button></td>
|
||||
</tr>
|
||||
</t>
|
||||
|
||||
<t t-name="Exists.ExportList">
|
||||
<tr><th align="right"><label >Saved exports:</label></th></tr>
|
||||
<tr align="left">
|
||||
<td>
|
||||
<select id="saved_export_list" style="width: 100%;">
|
||||
<option></option>
|
||||
<t t-foreach="existing_exports" t-as="export">
|
||||
<option t-att-value="export.id"><t t-esc="export.name"/></option>
|
||||
</t>
|
||||
</select>
|
||||
</td>
|
||||
<td><button id="delete_export_list">Delete</button></td>
|
||||
</tr>
|
||||
</t>
|
||||
</template>
|
||||
Reference in New Issue
Block a user