From 2585a56f6f19a03051277204761d324bf764f26e Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Tue, 5 Mar 2019 17:52:18 +0530 Subject: [PATCH 1/4] compulsorily shift db --- frappe/__init__.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 29b04ec7fa..4f61efcda7 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -499,12 +499,14 @@ def read_only(): def wrapper_fn(*args, **kwargs): if conf.use_slave_for_read_only: connect_read_only() - - retval = fn(*args, **get_newargs(fn, kwargs)) - - if local and hasattr(local, 'master_db'): - local.db.close() - local.db = local.master_db + try: + retval = fn(*args, **get_newargs(fn, kwargs)) + except: + raise + finally: + if local and hasattr(local, 'master_db'): + local.db.close() + local.db = local.master_db return retval return wrapper_fn From 280854fd6b0189af82612b0550cc4a5caeb9331c Mon Sep 17 00:00:00 2001 From: Sagar Vora Date: Wed, 13 Mar 2019 13:58:34 +0530 Subject: [PATCH 2/4] feat: allow regional js in list view (#7066) Required for https://github.com/frappe/erpnext/pull/16907 --- frappe/desk/form/meta.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frappe/desk/form/meta.py b/frappe/desk/form/meta.py index 49ec67c4c7..cd87ffaaee 100644 --- a/frappe/desk/form/meta.py +++ b/frappe/desk/form/meta.py @@ -85,8 +85,12 @@ class FormMeta(Meta): self._add_code(_get_path(self.name + '.js'), '__js') if system_country: self._add_code(_get_path(os.path.join('regional', system_country + '.js')), '__js') + self._add_code(_get_path(self.name + '.css'), "__css") self._add_code(_get_path(self.name + '_list.js'), '__list_js') + if system_country: + self._add_code(_get_path(os.path.join('regional', system_country + '_list.js')), '__list_js') + self._add_code(_get_path(self.name + '_calendar.js'), '__calendar_js') self._add_code(_get_path(self.name + '_tree.js'), '__tree_js') From 35afcac18259f0e542d32743b4e7c7f2a8d49582 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Wed, 13 Mar 2019 13:59:09 +0530 Subject: [PATCH 3/4] fix: editor does not allow html rendering (#7062) Removed the following line ```javascript c.content_html.replace(/</g,"<").replace(/>/g,">") ``` This line would replace the escaped lt/gt with angular brackets, resulting in the content being rendered as html. The consequence is that someone can enter a peice of malicious javascript code that would get executed --- frappe/public/js/frappe/form/footer/timeline.js | 1 - 1 file changed, 1 deletion(-) diff --git a/frappe/public/js/frappe/form/footer/timeline.js b/frappe/public/js/frappe/form/footer/timeline.js index 3f389911f9..f6c365495f 100644 --- a/frappe/public/js/frappe/form/footer/timeline.js +++ b/frappe/public/js/frappe/form/footer/timeline.js @@ -361,7 +361,6 @@ frappe.ui.form.Timeline = class Timeline { } else { c.content_html = c.content; c.content_html = frappe.utils.strip_whitespace(c.content_html); - c.content_html = c.content_html.replace(/</g,"<").replace(/>/g,">"); } // bold @mentions From 9594c300e1396671006f75e5cfee7f8d0d44cf77 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Thu, 14 Mar 2019 14:11:34 +0530 Subject: [PATCH 4/4] fix: Report fixes - Blank ID column when switching from another report - Print should show sorted and filtered rows --- .../public/js/frappe/views/reports/report_view.js | 14 ++++++++++---- frappe/public/less/frappe-datatable.less | 4 ++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index af31a33c1a..30e254736b 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -135,6 +135,7 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { render(force) { if (this.data.length === 0) return; this.render_count(); + this.setup_columns(); if (this.chart) { this.refresh_charts(); @@ -224,7 +225,7 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { getEditor: this.get_editing_object.bind(this), checkboxColumn: true, inlineFilters: true, - cellHeight: 37, + cellHeight: 35, events: { onRemoveColumn: (column) => { this.remove_column_from_datatable(column); @@ -1042,13 +1043,18 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { { label: __('Print'), action: () => { - this.report_data = this.data.slice(); + // prepare rows in their current state, sorted and filtered + const rows_in_order = this.datatable.datamanager.rowViewOrder.map(index => { + if (this.datatable.bodyRenderer.visibleRowIndices.includes(index)) { + return this.data[index]; + } + }).filter(Boolean); if (this.add_totals_row) { const total_data = this.get_columns_totals(this.data); total_data['name'] = __('Totals').bold(); - this.report_data.push(total_data); + rows_in_order.push(total_data); } frappe.ui.get_print_settings(false, (print_settings) => { @@ -1058,7 +1064,7 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { subtitle: this.get_filters_html_for_print(), print_settings: print_settings, columns: this.columns, - data: this.report_data + data: rows_in_order }); }); } diff --git a/frappe/public/less/frappe-datatable.less b/frappe/public/less/frappe-datatable.less index d89a692ea0..39ed2eebf3 100644 --- a/frappe/public/less/frappe-datatable.less +++ b/frappe/public/less/frappe-datatable.less @@ -61,6 +61,10 @@ table td.dt-cell { } } +.dt-row { + height: 35px; +} + .dt-row.dt-row-totalRow { font-weight: bold; }