From ac915c42570ff9bb51a74cb6cc960edbdfc04bf0 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Fri, 9 Nov 2018 12:59:09 +0530 Subject: [PATCH 01/11] Revert feature, listView filter shows hidden field --- frappe/public/js/frappe/ui/filters/field_select.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/ui/filters/field_select.js b/frappe/public/js/frappe/ui/filters/field_select.js index 87f6a6545c..1efee0c1d3 100644 --- a/frappe/public/js/frappe/ui/filters/field_select.js +++ b/frappe/public/js/frappe/ui/filters/field_select.js @@ -118,7 +118,7 @@ frappe.ui.FieldSelect = Class.extend({ // child tables $.each(me.table_fields, function(i, table_df) { - if(table_df.options && !table_df.hidden) { + if(table_df.options) { var child_table_fields = [].concat(frappe.meta.docfield_list[table_df.options]); $.each(frappe.utils.sort(child_table_fields, "label", "string"), function(i, df) { // show fields where user has read access and if report hide flag is not set @@ -145,7 +145,7 @@ frappe.ui.FieldSelect = Class.extend({ } if(frappe.model.no_value_type.indexOf(df.fieldtype) == -1 && - !(me.fields_by_name[df.parent] && me.fields_by_name[df.parent][df.fieldname]) && !df.hidden) { + !(me.fields_by_name[df.parent] && me.fields_by_name[df.parent][df.fieldname])) { this.options.push({ label: label, value: table + "." + df.fieldname, From 4dd03618d6c016fd0c4730d6fab91dd17fd89684 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Sat, 10 Nov 2018 17:03:24 +0530 Subject: [PATCH 02/11] Revert feature, listView filter shows hidden field --- frappe/public/js/frappe/ui/filters/filters.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/ui/filters/filters.js b/frappe/public/js/frappe/ui/filters/filters.js index b283b0133e..df161892f7 100644 --- a/frappe/public/js/frappe/ui/filters/filters.js +++ b/frappe/public/js/frappe/ui/filters/filters.js @@ -642,7 +642,7 @@ frappe.ui.FieldSelect = Class.extend({ // child tables $.each(me.table_fields, function(i, table_df) { - if(table_df.options && !table_df.hidden) { + if(table_df.options) { var child_table_fields = [].concat(frappe.meta.docfield_list[table_df.options]); $.each(frappe.utils.sort(child_table_fields, "label", "string"), function(i, df) { // show fields where user has read access and if report hide flag is not set @@ -664,7 +664,7 @@ frappe.ui.FieldSelect = Class.extend({ var table = df.parent; } if(frappe.model.no_value_type.indexOf(df.fieldtype) == -1 && - !(me.fields_by_name[df.parent] && me.fields_by_name[df.parent][df.fieldname]) && !df.hidden) { + !(me.fields_by_name[df.parent] && me.fields_by_name[df.parent][df.fieldname])) { this.options.push({ label: label, value: table + "." + df.fieldname, From a5645fec64e84a18fa7c5405f4a5991cf88724fd Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Sun, 11 Nov 2018 17:53:11 +0530 Subject: [PATCH 03/11] [Fix] Date format not shwoing properly in the prepared report --- frappe/core/doctype/prepared_report/prepared_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/core/doctype/prepared_report/prepared_report.py b/frappe/core/doctype/prepared_report/prepared_report.py index 1644cca069..a877e5f871 100644 --- a/frappe/core/doctype/prepared_report/prepared_report.py +++ b/frappe/core/doctype/prepared_report/prepared_report.py @@ -74,7 +74,7 @@ def create_csv_file(columns, data, dt, dn): new_row = [] for col in columns: key = col.get('fieldname') or col.get('label') - new_row.append(frappe.format(row.get(key, ''), col)) + new_row.append(row.get(key, '')) rows.append(new_row) rows = [tuple(columns_without_meta)] + rows From bb9df9b1287ec49a049172fdafd45db935a96075 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Mon, 12 Nov 2018 10:32:52 +0530 Subject: [PATCH 04/11] fix(Quill Editor): Set HTML using Quill's API (#6433) To avoid doc changes when form is loaded --- frappe/public/js/frappe/form/controls/text_editor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/text_editor.js b/frappe/public/js/frappe/form/controls/text_editor.js index b69b95de20..6e82f14536 100644 --- a/frappe/public/js/frappe/form/controls/text_editor.js +++ b/frappe/public/js/frappe/form/controls/text_editor.js @@ -171,7 +171,7 @@ frappe.ui.form.ControlTextEditor = frappe.ui.form.ControlCode.extend({ return; } - this.quill.root.innerHTML = value; + this.quill.clipboard.dangerouslyPasteHTML(value); }, get_input_value() { From 57c11adc6451f1cf5bfc10b1cd68f7ac7215bd32 Mon Sep 17 00:00:00 2001 From: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com> Date: Mon, 12 Nov 2018 11:06:39 +0530 Subject: [PATCH 05/11] With group indentation checkbox while exporting reports in csv format (#6417) --- .../js/frappe/views/reports/query_report.js | 47 ++++++++++++++----- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js index 0ebbd9dfc3..984699f3ad 100644 --- a/frappe/public/js/frappe/views/reports/query_report.js +++ b/frappe/public/js/frappe/views/reports/query_report.js @@ -732,17 +732,29 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList { return; } - this.export_dialog = frappe.prompt({ - label: __('Select File Format'), - fieldname: 'file_format', - fieldtype: 'Select', - options: ['Excel', 'CSV'], - default: 'Excel', - reqd: 1 - }, ({ file_format }) => { + this.export_dialog = frappe.prompt([ + { + label: __('Select File Format'), + fieldname: 'file_format', + fieldtype: 'Select', + options: ['Excel', 'CSV'], + default: 'Excel', + reqd: 1, + onchange: () => { + this.export_dialog.set_df_property('with_indentation', + 'hidden', this.export_dialog.get_value('file_format') !== 'CSV'); + } + }, + { + label: __('With Group Indentation'), + fieldname: 'with_indentation', + fieldtype: 'Check', + hidden: 1 + } + ], ({ file_format, with_indentation }) => { if (file_format === 'CSV') { const column_row = this.columns.map(col => col.label); - const data = this.get_data_for_csv(); + const data = this.get_data_for_csv(with_indentation); const out = [column_row].concat(data); frappe.tools.downloadify(out, null, this.report_name); @@ -765,10 +777,21 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList { }, __('Export Report: '+ this.report_name), __('Download')); } - get_data_for_csv() { + get_data_for_csv(with_indentation = false) { + const indices = this.datatable.datamanager.getFilteredRowIndices(); - const out = indices.map(i => this.datatable.datamanager.getRow(i).map(c => c.content)); - return out.map(row => row.slice(1)); + const rows = indices.map(i => this.datatable.datamanager.getRow(i)); + return rows.map(row => { + const standard_column_count = this.datatable.datamanager.getStandardColumnCount(); + return row + .slice(standard_column_count) + .map((cell, i) => { + if (with_indentation && i === 0) { + return ' '.repeat(row.meta.indent) + cell.content; + } + return cell.content; + }); + }); } get_data_for_print() { From 30ee228b4a1475b3847c6b74ee76bfaaec8c9eb2 Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Mon, 12 Nov 2018 11:08:18 +0530 Subject: [PATCH 06/11] Code cleanup and fixed print permission error (#6377) --- .../doctype/print_settings/print_settings.py | 9 ++++ frappe/public/js/frappe/form/print.js | 42 +++++++------------ 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/frappe/printing/doctype/print_settings/print_settings.py b/frappe/printing/doctype/print_settings/print_settings.py index cf845eb42e..8043130358 100644 --- a/frappe/printing/doctype/print_settings/print_settings.py +++ b/frappe/printing/doctype/print_settings/print_settings.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe from frappe import _ +from frappe.utils import cint from frappe.model.document import Document @@ -31,3 +32,11 @@ class PrintSettings(Document): except ValidationError: frappe.throw(_("Failed to connect to server")) return printer_list + +@frappe.whitelist() +def is_print_server_enabled(): + if not hasattr(frappe.local, 'enable_print_server'): + frappe.local.enable_print_server = cint(frappe.db.get_single_value('Print Settings', + 'enable_print_server')) + + return frappe.local.enable_print_server diff --git a/frappe/public/js/frappe/form/print.js b/frappe/public/js/frappe/form/print.js index 3847801cd0..aa6be540ab 100644 --- a/frappe/public/js/frappe/form/print.js +++ b/frappe/public/js/frappe/form/print.js @@ -158,35 +158,25 @@ frappe.ui.form.PrintPreview = Class.extend({ let print_server ; var me = this; frappe.call({ - async: false, - "method": "frappe.client.get", - args: { - doctype: "Print Settings", - name: "enable_print_server" - }, + method: "frappe.printing.doctype.print_settings.print_settings.is_print_server_enabled", callback: function (data) { - print_server = data.message.enable_print_server; + if (data.message) { + frappe.call({ + "method": "frappe.utils.print_format.print_by_server", + args: { + doctype: me.frm.doc.doctype, + name: me.frm.doc.name, + print_format: me.selected_format(), + no_letterhead: me.with_letterhead() + }, + callback: function (data) { + } + }); + } else { + me.new_page_preview(true); + } } }); - - if(print_server){ - frappe.call({ - async: false, - "method": "frappe.utils.print_format.print_by_server", - args: { - doctype: me.frm.doc.doctype, - name: me.frm.doc.name, - print_format: me.selected_format(), - no_letterhead: me.with_letterhead() - }, - callback: function (data) { - } - }); - - }else{ - this.new_page_preview(true); - } - }, new_page_preview: function (printit) { var me = this; From 7dd2ccd066a0fe26ac03725160f2905e87022109 Mon Sep 17 00:00:00 2001 From: Ameya Shenoy Date: Mon, 12 Nov 2018 12:59:06 +0000 Subject: [PATCH 07/11] fix: set is_patch flag before running patch set frappe.flags.in_patch to True before running the sync_user_permission_doctype_before_migrate patch via hooks --- .../v11_0/sync_user_permission_doctype_before_migrate.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/patches/v11_0/sync_user_permission_doctype_before_migrate.py b/frappe/patches/v11_0/sync_user_permission_doctype_before_migrate.py index 549f99924d..612d83bf97 100644 --- a/frappe/patches/v11_0/sync_user_permission_doctype_before_migrate.py +++ b/frappe/patches/v11_0/sync_user_permission_doctype_before_migrate.py @@ -1,5 +1,6 @@ import frappe def execute(): + frappe.flags.in_patch = True frappe.reload_doc('core', 'doctype', 'user_permission') - frappe.db.commit() \ No newline at end of file + frappe.db.commit() From 4f0081743b21fb5e52361481bd838909de38e50d Mon Sep 17 00:00:00 2001 From: Zarrar Date: Tue, 13 Nov 2018 10:33:11 +0530 Subject: [PATCH 08/11] minor fix (#6443) --- frappe/public/js/frappe/list/list_view.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index a2ed9dd09a..8a633ac7d3 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -1127,7 +1127,7 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { let doctype = null; let value = frappe.route_options[field]; - if (value.startsWith('[') && value.endsWith(']')) { + if (typeof value === 'string' && value.startsWith('[') && value.endsWith(']')) { value = JSON.parse(value); } From c0cb56763dc9885dcaec7c5341a58c4bcace48dc Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Tue, 13 Nov 2018 15:24:17 +0530 Subject: [PATCH 09/11] fix(Quill): Set HTML without triggering a focus (#6456) --- frappe/public/js/frappe/form/controls/text_editor.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/text_editor.js b/frappe/public/js/frappe/form/controls/text_editor.js index 6e82f14536..41de01e6f7 100644 --- a/frappe/public/js/frappe/form/controls/text_editor.js +++ b/frappe/public/js/frappe/form/controls/text_editor.js @@ -171,7 +171,9 @@ frappe.ui.form.ControlTextEditor = frappe.ui.form.ControlCode.extend({ return; } - this.quill.clipboard.dangerouslyPasteHTML(value); + // set html without triggering a focus + const delta = this.quill.clipboard.convert({ html: value, text: '' }); + this.quill.setContents(delta); }, get_input_value() { From 48b6ed29933fe3c3fa38f1d616ee7aa5f5416ae8 Mon Sep 17 00:00:00 2001 From: Frappe Bot Date: Tue, 13 Nov 2018 10:52:59 +0000 Subject: [PATCH 10/11] bumped to version 10.1.61 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index c149fb3b8b..2cbdfea0f2 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template -__version__ = '10.1.60' +__version__ = '10.1.61' __title__ = "Frappe Framework" local = Local() From 9f7346f32350eba155c7175616c225baf2fb38ac Mon Sep 17 00:00:00 2001 From: Frappe Bot Date: Tue, 13 Nov 2018 11:02:24 +0000 Subject: [PATCH 11/11] bumped to version 11.0.3-beta.26 --- frappe/hooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/hooks.py b/frappe/hooks.py index e7e9331852..b6129c7465 100644 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -12,7 +12,7 @@ source_link = "https://github.com/frappe/frappe" app_license = "MIT" develop_version = '12.x.x-develop' -staging_version = '11.0.3-beta.25' +staging_version = '11.0.3-beta.26' app_email = "info@frappe.io"