From d17775789701a918cff4cb061e66bb821c48f174 Mon Sep 17 00:00:00 2001 From: Kanchan Chauhan Date: Mon, 27 Jun 2016 11:23:43 +0530 Subject: [PATCH 1/4] Save as button in report builder menu to renamme the report after making changes --- .../js/frappe/views/reports/reportview.js | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/frappe/public/js/frappe/views/reports/reportview.js b/frappe/public/js/frappe/views/reports/reportview.js index a41f79795f..513eaa3ae9 100644 --- a/frappe/public/js/frappe/views/reports/reportview.js +++ b/frappe/public/js/frappe/views/reports/reportview.js @@ -109,6 +109,7 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ this.make_export(); this.set_init_columns(); this.make_save(); + this.make_save_as(); this.make_user_permissions(); this.set_tag_and_status_filter(); @@ -600,6 +601,45 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ }, true); } }, + + // save as + make_save_as: function() { + var me = this; + if(frappe.user.is_report_manager()) { + this.page.add_menu_item(__('Save as'), function() { + 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); + } + }, + make_delete: function() { var me = this; From 74e4d1075aed5f6d2716910b54733a113aed8a56 Mon Sep 17 00:00:00 2001 From: Kanchan Chauhan Date: Mon, 27 Jun 2016 15:22:31 +0530 Subject: [PATCH 2/4] Changes made --- .../desk/page/setup_wizard/setup_wizard.json | 12 +-- .../js/frappe/views/reports/reportview.js | 85 +++++++------------ 2 files changed, 39 insertions(+), 58 deletions(-) diff --git a/frappe/desk/page/setup_wizard/setup_wizard.json b/frappe/desk/page/setup_wizard/setup_wizard.json index 2072d8f79f..745b4501c1 100644 --- a/frappe/desk/page/setup_wizard/setup_wizard.json +++ b/frappe/desk/page/setup_wizard/setup_wizard.json @@ -4,7 +4,7 @@ "docstatus": 0, "doctype": "Page", "idx": 1, - "modified": "2016-06-15 13:07:32.651564", + "modified": "2016-06-27 12:55:37.909405", "modified_by": "Administrator", "module": "Desk", "name": "setup-wizard", @@ -14,9 +14,9 @@ { "role": "Administrator" } - ], - "script": null, - "standard": "Yes", - "style": null, + ], + "script": null, + "standard": "Yes", + "style": null, "title": "Setup Wizard" -} +} \ No newline at end of file diff --git a/frappe/public/js/frappe/views/reports/reportview.js b/frappe/public/js/frappe/views/reports/reportview.js index 513eaa3ae9..a00211a6f5 100644 --- a/frappe/public/js/frappe/views/reports/reportview.js +++ b/frappe/public/js/frappe/views/reports/reportview.js @@ -561,12 +561,12 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ // save make_save: function() { - var me = this; + var report = this; if(frappe.user.is_report_manager()) { this.page.add_menu_item(__('Save'), function() { // name - if(me.docname) { - var name = me.docname + if(report.docname) { + var name = report.docname } else { var name = prompt(__('Select Report Name')); if(!name) { @@ -575,36 +575,14 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ } // 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); - } - }); + return save_report(report, name) }, true); } }, // save as make_save_as: function() { - var me = this; + var report = this; if(frappe.user.is_report_manager()) { this.page.add_menu_item(__('Save as'), function() { var name = prompt(__('Select Report Name')); @@ -613,34 +591,11 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ } // 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); + return save_report(report, name) + }, true); } }, - make_delete: function() { var me = this; if(this.can_delete) { @@ -780,3 +735,29 @@ frappe.ui.ColumnPicker = Class.extend({ this.list.run(); } }); + +save_report = function(report, name) { + frappe.call({ + method: 'frappe.desk.reportview.save_report', + args: { + name: name, + doctype: report.doctype, + json: JSON.stringify({ + filters: report.filter_list.get_filters(), + columns: report.columns, + sort_by: report.sort_by_select.val(), + sort_order: report.sort_order_select.val(), + sort_by_next: report.sort_by_next_select.val(), + sort_order_next: report.sort_order_next_select.val() + }) + }, + callback: function(r) { + if(r.exc) { + msgprint(__("Report was not saved (there were errors)")); + return; + } + if(r.message != report.docname) + frappe.set_route('Report', report.doctype, r.message); + } + }); +} From d5307ba2a145684b7bd63eb7dcc11cea14dc7282 Mon Sep 17 00:00:00 2001 From: Kanchan Chauhan Date: Mon, 27 Jun 2016 16:16:28 +0530 Subject: [PATCH 3/4] Fixed --- .../desk/page/setup_wizard/setup_wizard.json | 10 +-- .../js/frappe/views/reports/reportview.js | 76 ++++++++++--------- 2 files changed, 45 insertions(+), 41 deletions(-) diff --git a/frappe/desk/page/setup_wizard/setup_wizard.json b/frappe/desk/page/setup_wizard/setup_wizard.json index 745b4501c1..207af62caa 100644 --- a/frappe/desk/page/setup_wizard/setup_wizard.json +++ b/frappe/desk/page/setup_wizard/setup_wizard.json @@ -4,7 +4,7 @@ "docstatus": 0, "doctype": "Page", "idx": 1, - "modified": "2016-06-27 12:55:37.909405", + "modified": "2016-06-15 13:07:32.651564", "modified_by": "Administrator", "module": "Desk", "name": "setup-wizard", @@ -14,9 +14,9 @@ { "role": "Administrator" } - ], - "script": null, - "standard": "Yes", - "style": null, + ], + "script": null, + "standard": "Yes", + "style": null, "title": "Setup Wizard" } \ No newline at end of file diff --git a/frappe/public/js/frappe/views/reports/reportview.js b/frappe/public/js/frappe/views/reports/reportview.js index a00211a6f5..1173203ef0 100644 --- a/frappe/public/js/frappe/views/reports/reportview.js +++ b/frappe/public/js/frappe/views/reports/reportview.js @@ -561,28 +561,29 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ // save make_save: function() { - var report = this; + var me = this; if(frappe.user.is_report_manager()) { this.page.add_menu_item(__('Save'), function() { // name - if(report.docname) { - var name = report.docname - } else { + if(me.docname) { + var name = me.docname + } + else { var name = prompt(__('Select Report Name')); if(!name) { return; + } } - } // callback - return save_report(report, name) - }, true); + return me.save_report(name) + }, true); } }, // save as make_save_as: function() { - var report = this; + var me = this; if(frappe.user.is_report_manager()) { this.page.add_menu_item(__('Save as'), function() { var name = prompt(__('Select Report Name')); @@ -591,11 +592,40 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ } // callback - return save_report(report, name) + return me.save_report(name) }, true); } }, + save_report: function(name) { + var me = this; + console.log(me.columns) + 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); + } + }); + }, + + make_delete: function() { var me = this; if(this.can_delete) { @@ -734,30 +764,4 @@ frappe.ui.ColumnPicker = Class.extend({ this.list.columns = columns; this.list.run(); } -}); - -save_report = function(report, name) { - frappe.call({ - method: 'frappe.desk.reportview.save_report', - args: { - name: name, - doctype: report.doctype, - json: JSON.stringify({ - filters: report.filter_list.get_filters(), - columns: report.columns, - sort_by: report.sort_by_select.val(), - sort_order: report.sort_order_select.val(), - sort_by_next: report.sort_by_next_select.val(), - sort_order_next: report.sort_order_next_select.val() - }) - }, - callback: function(r) { - if(r.exc) { - msgprint(__("Report was not saved (there were errors)")); - return; - } - if(r.message != report.docname) - frappe.set_route('Report', report.doctype, r.message); - } - }); -} +}); \ No newline at end of file From 3b9a088daf9b9c447039816c7f6790437e9e1f6e Mon Sep 17 00:00:00 2001 From: Kanchan Chauhan Date: Mon, 27 Jun 2016 16:18:04 +0530 Subject: [PATCH 4/4] Fixed --- .../desk/page/setup_wizard/setup_wizard.json | 2 +- .../js/frappe/views/reports/reportview.js | 95 ++++++++----------- 2 files changed, 40 insertions(+), 57 deletions(-) diff --git a/frappe/desk/page/setup_wizard/setup_wizard.json b/frappe/desk/page/setup_wizard/setup_wizard.json index 207af62caa..2072d8f79f 100644 --- a/frappe/desk/page/setup_wizard/setup_wizard.json +++ b/frappe/desk/page/setup_wizard/setup_wizard.json @@ -19,4 +19,4 @@ "standard": "Yes", "style": null, "title": "Setup Wizard" -} \ No newline at end of file +} diff --git a/frappe/public/js/frappe/views/reports/reportview.js b/frappe/public/js/frappe/views/reports/reportview.js index 1173203ef0..c172d1c557 100644 --- a/frappe/public/js/frappe/views/reports/reportview.js +++ b/frappe/public/js/frappe/views/reports/reportview.js @@ -109,7 +109,6 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ this.make_export(); this.set_init_columns(); this.make_save(); - this.make_save_as(); this.make_user_permissions(); this.set_tag_and_status_filter(); @@ -559,73 +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 me.save_report(name) - }, 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 as - make_save_as: function() { + + save_report: function(save_type) { var me = this; - if(frappe.user.is_report_manager()) { - this.page.add_menu_item(__('Save as'), function() { - var name = prompt(__('Select Report Name')); - if(!name) { - return; + + 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); + } + }); + + } - // callback - return me.save_report(name) - }, true); + 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')); } + }, - save_report: function(name) { - var me = this; - console.log(me.columns) - 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); - } - }); - }, - - make_delete: function() { var me = this; if(this.can_delete) {