From 7a1a40f0c37f0d75751d013eda37444ae2177630 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 13 Nov 2017 19:37:20 +0530 Subject: [PATCH 01/10] [minor] dont watch on CI --- frappe/build.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/frappe/build.js b/frappe/build.js index de12e31ca0..497afbb5a3 100644 --- a/frappe/build.js +++ b/frappe/build.js @@ -49,6 +49,11 @@ function build(minify) { let socket_connection = false; function watch() { + if (process.env.CI) { + // don't watch inside CI + return; + } + http.listen(file_watcher_port, function () { console.log('file watching on *:', file_watcher_port); }); @@ -60,11 +65,11 @@ function watch() { io.emit('reload_css', filename); } }); - // watch_js(function (filename) { - // if(socket_connection) { - // io.emit('reload_js', filename); - // } - // }); + watch_js(/*function (filename) { + if(socket_connection) { + io.emit('reload_js', filename); + } + }*/); watch_build_json(); }); From bc0453a80bd33b9853b7f5d9a7eaba12bafdf337 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 13 Nov 2017 22:12:41 +0530 Subject: [PATCH 02/10] [travis] dont watch --- frappe/build.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frappe/build.js b/frappe/build.js index 497afbb5a3..c290f789f9 100644 --- a/frappe/build.js +++ b/frappe/build.js @@ -49,15 +49,15 @@ function build(minify) { let socket_connection = false; function watch() { + http.listen(file_watcher_port, function () { + console.log('file watching on *:', file_watcher_port); + }); + if (process.env.CI) { // don't watch inside CI return; } - http.listen(file_watcher_port, function () { - console.log('file watching on *:', file_watcher_port); - }); - compile_less().then(() => { build(); watch_less(function (filename) { From 07532c93d0bbffe152fb781d6c80ce64e18eded7 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 14 Nov 2017 09:33:51 +0530 Subject: [PATCH 03/10] [minor] selenium_testdriver.py where message has no length --- frappe/utils/selenium_testdriver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/utils/selenium_testdriver.py b/frappe/utils/selenium_testdriver.py index 3f3d82fe43..d0ebb35c69 100644 --- a/frappe/utils/selenium_testdriver.py +++ b/frappe/utils/selenium_testdriver.py @@ -140,7 +140,7 @@ class TestDriver(object): for entry in self.driver.get_log('browser'): source, line_no, message = entry.get('message').split(' ', 2) - if message[0] in ('"', "'"): + if message and message[0] in ('"', "'"): # message is a quoted/escaped string message = literal_eval(message) From effe13925e50798b8c10010f6f7106ec0ff7d779 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 14 Nov 2017 13:36:35 +0530 Subject: [PATCH 04/10] [hot] revert domain_settings patch --- frappe/core/doctype/domain/domain.py | 22 +++++++++++++++++++ frappe/patches.txt | 3 ++- frappe/patches/v9_1/revert_domain_settings.py | 10 +++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 frappe/patches/v9_1/revert_domain_settings.py diff --git a/frappe/core/doctype/domain/domain.py b/frappe/core/doctype/domain/domain.py index fed9f2360d..890ef87af6 100644 --- a/frappe/core/doctype/domain/domain.py +++ b/frappe/core/doctype/domain/domain.py @@ -31,6 +31,28 @@ class Domain(Document): # custom on_setup method frappe.get_attr(self.data.on_setup)() + def remove_domain(self): + '''Unset domain settings''' + self.setup_data() + for role_name in self.data.restricted_roles: + if frappe.db.exists('Role', role_name): + role = frappe.get_doc('Role', role_name) + role.disabled = 1 + role.save() + + if self.data.custom_fields: + for doctype in self.data.custom_fields: + custom_fields = self.data.custom_fields[doctype] + + # custom_fields can be a list or dict + if isinstance(custom_fields, dict): + custom_fields = [custom_fields] + + for custom_field_detail in custom_fields: + custom_field = frappe.get_doc('Custom Field', + dict(dt=doctype, fieldname=custom_field_detail.get('fieldname'))) + custom_field.delete() + def setup_roles(self): '''Enable roles that are restricted to this domain''' diff --git a/frappe/patches.txt b/frappe/patches.txt index 6b5bcd8c7b..a127ab73ca 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -196,4 +196,5 @@ frappe.patches.v8_5.patch_event_colors frappe.patches.v8_10.delete_static_web_page_from_global_search frappe.patches.v8_x.add_bgn_xaf_xof_currencies frappe.patches.v9_1.add_sms_sender_name_as_parameters -frappe.patches.v9_1.resave_domain_settings \ No newline at end of file +frappe.patches.v9_1.resave_domain_settings +frappe.patches.v9_1.revert_domain_settings \ No newline at end of file diff --git a/frappe/patches/v9_1/revert_domain_settings.py b/frappe/patches/v9_1/revert_domain_settings.py new file mode 100644 index 0000000000..a2202986fd --- /dev/null +++ b/frappe/patches/v9_1/revert_domain_settings.py @@ -0,0 +1,10 @@ +import frappe + +def execute(): + domain_settings = frappe.get_doc('Domain Settings') + active_domains = [d.domain for d in domain_settings.active_domains] + + for domain_name in ('Education', 'Healthcare', 'Hospitality'): + if domain_name not in active_domains: + domain = frappe.get_doc('Domain', domain_name) + domain.remove_domain() \ No newline at end of file From c354c54065b3fffa40e2bf7a68e9c5311162d36b Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 14 Nov 2017 13:39:53 +0530 Subject: [PATCH 05/10] [hot] revert domain_settings patch --- frappe/patches/v9_1/resave_domain_settings.py | 10 ++++++---- frappe/patches/v9_1/revert_domain_settings.py | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/frappe/patches/v9_1/resave_domain_settings.py b/frappe/patches/v9_1/resave_domain_settings.py index 1e70bf885c..63ad68751d 100644 --- a/frappe/patches/v9_1/resave_domain_settings.py +++ b/frappe/patches/v9_1/resave_domain_settings.py @@ -1,10 +1,12 @@ import frappe def execute(): - domains = ['Education', 'Healthcare', 'Hospitality'] + domain_settings = frappe.get_doc('Domain Settings') + active_domains = [d.domain for d in domain_settings.active_domains] try: - for d in domains: - domain = frappe.get_doc('Domain', d) - domain.setup_domain() + for d in ('Education', 'Healthcare', 'Hospitality'): + if d in active_domains and frappe.db.exists('Domain', d): + domain = frappe.get_doc('Domain', d) + domain.setup_domain() except frappe.LinkValidationError: pass diff --git a/frappe/patches/v9_1/revert_domain_settings.py b/frappe/patches/v9_1/revert_domain_settings.py index a2202986fd..1682651a51 100644 --- a/frappe/patches/v9_1/revert_domain_settings.py +++ b/frappe/patches/v9_1/revert_domain_settings.py @@ -5,6 +5,6 @@ def execute(): active_domains = [d.domain for d in domain_settings.active_domains] for domain_name in ('Education', 'Healthcare', 'Hospitality'): - if domain_name not in active_domains: + if frappe.db.exists('Domain', domain_name) and domain_name not in active_domains: domain = frappe.get_doc('Domain', domain_name) domain.remove_domain() \ No newline at end of file From dd0a237efe9f1af6f420f79308af5f0dd049817c Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Tue, 14 Nov 2017 13:43:00 +0530 Subject: [PATCH 06/10] [Fix] Title field not set in the quotation if record has been created using data import tool (#4486) --- frappe/model/document.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frappe/model/document.py b/frappe/model/document.py index 6d11a7607d..029ac1b969 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -795,9 +795,8 @@ class Document(BaseDocument): - `before_update_after_submit` for **Update after Submit** Will also update title_field if set""" - self.set_title_field() - self.reset_seen() + self.reset_seen() self._doc_before_save = None if not self.is_new() and getattr(self.meta, 'track_changes', False): self.get_doc_before_save() @@ -816,6 +815,8 @@ class Document(BaseDocument): elif self._action=="update_after_submit": self.run_method("before_update_after_submit") + self.set_title_field() + def run_post_save_methods(self): """Run standard methods after `INSERT` or `UPDATE`. Standard Methods are: From 0db18fdf91ad1901635b8f0495ebff665ba96560 Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Tue, 14 Nov 2017 13:43:33 +0530 Subject: [PATCH 07/10] [Fix] Letterhead appearing on PDF even when not selected (#4484) --- frappe/utils/print_format.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/utils/print_format.py b/frappe/utils/print_format.py index 17d6eb2fde..b9d064f50f 100644 --- a/frappe/utils/print_format.py +++ b/frappe/utils/print_format.py @@ -42,8 +42,8 @@ def read_multi_pdf(output): return filedata @frappe.whitelist() -def download_pdf(doctype, name, format=None, doc=None): - html = frappe.get_print(doctype, name, format, doc=doc) +def download_pdf(doctype, name, format=None, doc=None, no_letterhead=0): + html = frappe.get_print(doctype, name, format, doc=doc, no_letterhead=no_letterhead) frappe.local.response.filename = "{name}.pdf".format(name=name.replace(" ", "-").replace("/", "-")) frappe.local.response.filecontent = get_pdf(html) frappe.local.response.type = "download" From 122e3b4c7b2172ab9eb4ad7d913d38a75b2fac7f Mon Sep 17 00:00:00 2001 From: Manas Solanki Date: Tue, 14 Nov 2017 13:46:00 +0530 Subject: [PATCH 08/10] validate the link field in the report's filter (#4479) --- frappe/public/js/frappe/views/reports/query_report.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js index 54dda994f5..ab58a2af0e 100644 --- a/frappe/public/js/frappe/views/reports/query_report.js +++ b/frappe/public/js/frappe/views/reports/query_report.js @@ -328,7 +328,10 @@ frappe.views.QueryReport = Class.extend({ me.trigger_refresh(); } } - df.ignore_link_validation = true; + + // This is specifically done true earlier due to some reason. Please update if anyone finds that. + // Done false as the api can be used in the script reports which can break due to invalid links + df.ignore_link_validation = false; } }); From 21ee6ffed02f010a00a62ccdb6ed5f8574e89ca0 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Tue, 14 Nov 2017 13:46:24 +0530 Subject: [PATCH 09/10] [fix] temporarily freeze html2text to version 2016.9.19 (#4478) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bd767c849e..73da91e247 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,7 +23,7 @@ selenium -e git+https://github.com/frappe/python-pdfkit.git#egg=pdfkit babel ipython -html2text +html2text==2016.9.19 email_reply_parser click num2words==0.5.5 From cf12fff0b8ee87cb151be2d3138b8c5030ca716d Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 14 Nov 2017 14:21:36 +0600 Subject: [PATCH 10/10] bumped to version 9.2.12 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index f8bdb892e7..ee58ac2f83 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__ = '9.2.11' +__version__ = '9.2.12' __title__ = "Frappe Framework" local = Local()