Merge pull request #1818 from KanchanChauhan/save-as-in-report-builder
Save as button in report builder menu
This commit is contained in:
commit
2d15683bce
1 changed files with 45 additions and 37 deletions
|
|
@ -558,49 +558,57 @@ frappe.views.ReportView = frappe.ui.Listing.extend({
|
|||
}, true);
|
||||
},
|
||||
|
||||
|
||||
// save
|
||||
make_save: function() {
|
||||
var me = this;
|
||||
if(frappe.user.is_report_manager()) {
|
||||
this.page.add_menu_item(__('Save'), function() {
|
||||
// name
|
||||
if(me.docname) {
|
||||
var name = me.docname
|
||||
} else {
|
||||
var name = prompt(__('Select Report Name'));
|
||||
if(!name) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// callback
|
||||
return frappe.call({
|
||||
method: 'frappe.desk.reportview.save_report',
|
||||
args: {
|
||||
name: name,
|
||||
doctype: me.doctype,
|
||||
json: JSON.stringify({
|
||||
filters: me.filter_list.get_filters(),
|
||||
columns: me.columns,
|
||||
sort_by: me.sort_by_select.val(),
|
||||
sort_order: me.sort_order_select.val(),
|
||||
sort_by_next: me.sort_by_next_select.val(),
|
||||
sort_order_next: me.sort_order_next_select.val()
|
||||
})
|
||||
},
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
msgprint(__("Report was not saved (there were errors)"));
|
||||
return;
|
||||
}
|
||||
if(r.message != me.docname)
|
||||
frappe.set_route('Report', me.doctype, r.message);
|
||||
}
|
||||
});
|
||||
}, true);
|
||||
this.page.add_menu_item(__('Save'), function() { me.save_report('save') }, true);
|
||||
this.page.add_menu_item(__('Save As'), function() { me.save_report('save_as') }, true);
|
||||
}
|
||||
},
|
||||
|
||||
save_report: function(save_type) {
|
||||
var me = this;
|
||||
|
||||
var _save_report = function(name) {
|
||||
// callback
|
||||
return frappe.call({
|
||||
method: 'frappe.desk.reportview.save_report',
|
||||
args: {
|
||||
name: name,
|
||||
doctype: me.doctype,
|
||||
json: JSON.stringify({
|
||||
filters: me.filter_list.get_filters(),
|
||||
columns: me.columns,
|
||||
sort_by: me.sort_by_select.val(),
|
||||
sort_order: me.sort_order_select.val(),
|
||||
sort_by_next: me.sort_by_next_select.val(),
|
||||
sort_order_next: me.sort_order_next_select.val()
|
||||
})
|
||||
},
|
||||
callback: function(r) {
|
||||
if(r.exc) {
|
||||
msgprint(__("Report was not saved (there were errors)"));
|
||||
return;
|
||||
}
|
||||
if(r.message != me.docname)
|
||||
frappe.set_route('Report', me.doctype, r.message);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
if(me.docname && save_type == "save") {
|
||||
_save_report(me.docname);
|
||||
} else {
|
||||
frappe.prompt({fieldname: 'name', label: __('New Report name'), reqd: 1, fieldtype: 'Data'}, function(data) {
|
||||
_save_report(data.name);
|
||||
}, __('Save As'));
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
make_delete: function() {
|
||||
var me = this;
|
||||
if(this.can_delete) {
|
||||
|
|
@ -739,4 +747,4 @@ frappe.ui.ColumnPicker = Class.extend({
|
|||
this.list.columns = columns;
|
||||
this.list.run();
|
||||
}
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Reference in a new issue