From da1ade6a97eb15e1e54a31daa0bc8593e6fe3787 Mon Sep 17 00:00:00 2001 From: Sagar Vora Date: Fri, 5 May 2017 11:48:40 +0530 Subject: [PATCH 1/5] [fix] change file watcher port only in dev environment (#3232) Fixes error https://discuss.erpnext.com/t/frappe-v8-0-20-later-socketio-error/22973 --- frappe/public/js/frappe/socketio_client.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/frappe/public/js/frappe/socketio_client.js b/frappe/public/js/frappe/socketio_client.js index 0b6f45a5b2..b045a71e84 100644 --- a/frappe/public/js/frappe/socketio_client.js +++ b/frappe/public/js/frappe/socketio_client.js @@ -196,10 +196,15 @@ frappe.socket = { }, setup_file_watchers: function() { var host = window.location.origin; - var port = '6787'; - // remove the port number from string - host = host.split(':').slice(0, -1).join(":"); - host = host + ':' + port; + if(window.dev_server) { + var port = '6787'; + var parts = host.split(":"); + // remove the port number from string if exists + if (parts.length > 2) { + host = host.split(':').slice(0, -1).join(":"); + } + host = host + ':' + port; + } frappe.socket.file_watcher = io.connect(host); // css files auto reload From 823b3c1fa58edda98d9d8bdf26ed5385b7ff729a Mon Sep 17 00:00:00 2001 From: Saurabh Date: Sat, 6 May 2017 12:43:37 +0530 Subject: [PATCH 2/5] [minor][fix] do not return instead check for submited doctype (#3235) --- frappe/public/js/frappe/form/toolbar.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/frappe/public/js/frappe/form/toolbar.js b/frappe/public/js/frappe/form/toolbar.js index 734475e1df..80ee2d7341 100644 --- a/frappe/public/js/frappe/form/toolbar.js +++ b/frappe/public/js/frappe/form/toolbar.js @@ -176,13 +176,12 @@ frappe.ui.form.Toolbar = Class.extend({ // feedback if(!this.frm.doc.__unsaved) { - if(is_submittable && docstatus != 1) - return - - this.page.add_menu_item(__("Request Feedback"), function() { - feedback = new frappe.utils.Feedback(); - feedback.manual_feedback_request(me.frm.doc); - }, true) + if(is_submittable && docstatus == 1) { + this.page.add_menu_item(__("Request Feedback"), function() { + feedback = new frappe.utils.Feedback(); + feedback.manual_feedback_request(me.frm.doc); + }, true) + } } // New From 262f3610211b9f8cdcfe20eef65e9fba1ca95aff Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Sat, 6 May 2017 12:43:47 +0530 Subject: [PATCH 3/5] [minor] ignore permissions option for filters in db_query (#3234) --- frappe/desk/reportview.py | 10 +++++----- frappe/geo/address_and_contact.py | 2 +- frappe/model/db_query.py | 5 ++++- frappe/tests/test_db_query.py | 7 +++++++ 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/frappe/desk/reportview.py b/frappe/desk/reportview.py index a6332a5b35..1ca5d07714 100644 --- a/frappe/desk/reportview.py +++ b/frappe/desk/reportview.py @@ -37,7 +37,7 @@ def get_form_params(): data["save_user_settings"] = json.loads(data["save_user_settings"]) else: data["save_user_settings"] = True - + doctype = data["doctype"] fields = data["fields"] @@ -51,9 +51,9 @@ def get_form_params(): fieldname = fieldname.strip("`") df = frappe.get_meta(parenttype).get_field(fieldname) - + report_hide = df.report_hide if df else None - + # remove the field from the query if the report hide flag is set if report_hide: fields.remove(field) @@ -331,7 +331,7 @@ def build_match_conditions(doctype, as_condition=True): else: return match_conditions -def get_filters_cond(doctype, filters, conditions): +def get_filters_cond(doctype, filters, conditions, ignore_permissions=None): if filters: flt = filters if isinstance(filters, dict): @@ -347,7 +347,7 @@ def get_filters_cond(doctype, filters, conditions): query = DatabaseQuery(doctype) query.filters = flt query.conditions = conditions - query.build_filter_conditions(flt, conditions) + query.build_filter_conditions(flt, conditions, ignore_permissions) cond = ' and ' + ' and '.join(query.conditions) else: diff --git a/frappe/geo/address_and_contact.py b/frappe/geo/address_and_contact.py index 2cf006ab98..847ea7039c 100644 --- a/frappe/geo/address_and_contact.py +++ b/frappe/geo/address_and_contact.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals import frappe -def load_address_and_contact(doc, key): +def load_address_and_contact(doc, key=None): """Loads address list and contact list in `__onload`""" from frappe.geo.doctype.address.address import get_address_display diff --git a/frappe/model/db_query.py b/frappe/model/db_query.py index 59b4c74548..ca1d34cd96 100644 --- a/frappe/model/db_query.py +++ b/frappe/model/db_query.py @@ -250,8 +250,11 @@ class DatabaseQuery(object): if match_conditions: self.conditions.append("(" + match_conditions + ")") - def build_filter_conditions(self, filters, conditions): + def build_filter_conditions(self, filters, conditions, ignore_permissions=None): """build conditions from user filters""" + if ignore_permissions is not None: + self.flags.ignore_permissions = ignore_permissions + if isinstance(filters, dict): filters = [filters] diff --git a/frappe/tests/test_db_query.py b/frappe/tests/test_db_query.py index 7e98b4942e..5451ce263b 100644 --- a/frappe/tests/test_db_query.py +++ b/frappe/tests/test_db_query.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe, unittest from frappe.model.db_query import DatabaseQuery +from frappe.desk.reportview import get_filters_cond class TestReportview(unittest.TestCase): def test_basic(self): @@ -70,6 +71,12 @@ class TestReportview(unittest.TestCase): self.assertTrue({ "name": todays_event.name } in data) self.assertTrue({ "name": event.name } in data) + def test_ignore_permissions_for_get_filters_cond(self): + frappe.set_user('test1@example.com') + self.assertRaises(frappe.PermissionError, get_filters_cond, 'DocType', dict(istable=1), []) + self.assertTrue(get_filters_cond('DocType', dict(istable=1), [], ignore_permissions=True)) + frappe.set_user('Administrator') + def create_event(subject="_Test Event", starts_on=None): """ create a test event """ From 47ad0203ead94be7cc78f1a512a0d8bfbc148cb0 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Sat, 6 May 2017 13:38:26 +0530 Subject: [PATCH 4/5] Patch order changed for print module renaming --- frappe/patches.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/patches.txt b/frappe/patches.txt index cf64af487a..dae328cdca 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -157,7 +157,6 @@ frappe.patches.v7_0.cleanup_list_settings execute:frappe.db.set_default('language', '') frappe.patches.v7_1.refactor_integration_broker frappe.patches.v7_1.set_backup_limit -frappe.patches.v7_1.disabled_print_settings_for_custom_print_format frappe.patches.v7_2.set_doctype_engine frappe.patches.v7_2.merge_knowledge_base frappe.patches.v7_0.update_report_builder_json @@ -181,4 +180,5 @@ frappe.patches.v8_0.fix_non_english_desktop_icons # 2017-04-12 frappe.patches.v8_0.set_doctype_values_in_custom_role frappe.patches.v8_0.install_new_build_system_requirements frappe.patches.v8_0.set_currency_field_precision -frappe.patches.v8_0.rename_print_to_printing \ No newline at end of file +frappe.patches.v8_0.rename_print_to_printing +frappe.patches.v7_1.disabled_print_settings_for_custom_print_format \ No newline at end of file From b2fc87364972f5502b275876308cdd98f59bf166 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Sat, 6 May 2017 14:09:29 +0600 Subject: [PATCH 5/5] bumped to version 8.0.36 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 70b7d56bbd..9b38ef120b 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -13,7 +13,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template -__version__ = '8.0.35' +__version__ = '8.0.36' __title__ = "Frappe Framework" local = Local()