From 4db18698d51f67840c6383d4eb177a7c3edd9898 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Wed, 17 Oct 2018 15:46:25 +0530 Subject: [PATCH 1/5] [Fix] Report Addresses And Contacts not working --- .../report/addresses_and_contacts/addresses_and_contacts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py b/frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py index 9dffcdfcd5..edb69b831d 100644 --- a/frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py +++ b/frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py @@ -91,7 +91,7 @@ def get_party_details(party_type, party_list, doctype, party_details): records = frappe.get_list(doctype, filters=filters, fields=fields, as_list=True) for d in records: - details = party_details.get(d[0]) + details = party_details.get(d[0]) or {} details.setdefault(frappe.scrub(doctype), []).append(d[1:]) return party_details From 97ec70b83ec50955ae9319a2bd983e7e9921f9d7 Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Thu, 18 Oct 2018 12:29:46 +0530 Subject: [PATCH 2/5] [Fix] Setup wizard timeout error (#6270) --- frappe/desk/page/setup_wizard/setup_wizard.py | 12 +++++++++--- frappe/translate.py | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/frappe/desk/page/setup_wizard/setup_wizard.py b/frappe/desk/page/setup_wizard/setup_wizard.py index eef203ab04..b7014c74b1 100755 --- a/frappe/desk/page/setup_wizard/setup_wizard.py +++ b/frappe/desk/page/setup_wizard/setup_wizard.py @@ -54,9 +54,12 @@ def setup_complete(args): and clears cache. If wizard breaks, calls `setup_wizard_exception` hook""" # Setup complete: do not throw an exception, let the user continue to desk - if cint(frappe.db.get_single_value('System Settings', 'setup_complete')): + if (frappe.cache().hget("setup_wizard", "in_setup") or + cint(frappe.db.get_single_value('System Settings', 'setup_complete'))): return + frappe.cache().hset("setup_wizard", "in_setup", True) + args = parse_args(args) stages = get_setup_stages(args) @@ -70,17 +73,19 @@ def setup_complete(args): for task in stage.get('tasks'): current_task = task task.get('fn')(task.get('args')) - except Exception: handle_setup_exception(args) return {'status': 'fail', 'fail': current_task.get('fail_msg')} else: run_setup_success(args) return {'status': 'ok'} + finally: + frappe.cache().hdel("setup_wizard", "in_setup") def update_global_settings(args): - if args.language and args.language != "english": + if args.language and args.language != "English": set_default_language(get_language_code(args.lang)) + frappe.db.commit() frappe.clear_cache() update_system_settings(args) @@ -236,6 +241,7 @@ def load_messages(language): javascript files""" frappe.clear_cache() set_default_language(get_language_code(language)) + frappe.db.commit() m = get_dict("page", "setup-wizard") for path in frappe.get_hooks("setup_wizard_requires"): diff --git a/frappe/translate.py b/frappe/translate.py index 11172d0a3c..7ab09f4136 100644 --- a/frappe/translate.py +++ b/frappe/translate.py @@ -72,7 +72,8 @@ def get_lang_code(lang): def set_default_language(lang): """Set Global default language""" - frappe.db.set_default("lang", lang) + if frappe.db.get_default("lang") != lang: + frappe.db.set_default("lang", lang) frappe.local.lang = lang def get_all_languages(): From 2bc7d159f07d146bb1aab65acf0f797a5e9ccd4a Mon Sep 17 00:00:00 2001 From: Ameya Shenoy Date: Thu, 18 Oct 2018 12:29:24 +0000 Subject: [PATCH 3/5] fix(travis): python package version management - urllib3 to 1.23 - bleach to 2.1.4 --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ea4de43fdc..8d8a564667 100644 --- a/requirements.txt +++ b/requirements.txt @@ -27,7 +27,7 @@ email_reply_parser click num2words==0.5.5 watchdog==0.8.0 -bleach +bleach==2.1.4 bleach-whitelist Pillow beautifulsoup4 @@ -49,3 +49,4 @@ pypng premailer croniter googlemaps +urllib3==1.23 From be8f37dc5bbfc17a2801a68f49dbce3145f815b2 Mon Sep 17 00:00:00 2001 From: Ameya Shenoy Date: Wed, 17 Oct 2018 21:20:10 +0000 Subject: [PATCH 4/5] fix(update message): multiple fixes - added GitPython as a dependency - use git describe to find the branch version - prevent version popup for prereleases - check for update weekly instead of daily - fixed bug in check for update which used to compare minor version even if there was a mismatch in comparing major versions Signed-off-by: Ameya Shenoy --- frappe/hooks.py | 4 ++-- frappe/utils/change_log.py | 12 ++++++++++-- requirements.txt | 1 + 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/frappe/hooks.py b/frappe/hooks.py index 4a76ee075b..2c984992d0 100755 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -154,7 +154,6 @@ scheduler_events = { "frappe.email.doctype.auto_email_report.auto_email_report.send_daily", "frappe.core.doctype.feedback_request.feedback_request.delete_feedback_request", "frappe.core.doctype.activity_log.activity_log.clear_authentication_logs", - "frappe.utils.change_log.check_for_update" ], "daily_long": [ "frappe.integrations.doctype.dropbox_settings.dropbox_settings.take_backups_daily", @@ -162,7 +161,8 @@ scheduler_events = { ], "weekly_long": [ "frappe.integrations.doctype.dropbox_settings.dropbox_settings.take_backups_weekly", - "frappe.integrations.doctype.s3_backup_settings.s3_backup_settings.take_backups_weekly" + "frappe.integrations.doctype.s3_backup_settings.s3_backup_settings.take_backups_weekly", + "frappe.utils.change_log.check_for_update" ], "monthly": [ "frappe.email.doctype.auto_email_report.auto_email_report.send_monthly" diff --git a/frappe/utils/change_log.py b/frappe/utils/change_log.py index 085365c366..150342d406 100644 --- a/frappe/utils/change_log.py +++ b/frappe/utils/change_log.py @@ -9,6 +9,7 @@ import frappe from frappe.utils import cstr import requests from frappe import _ +import git def get_change_log(user=None): if not user: user = frappe.session.user @@ -101,7 +102,12 @@ def get_versions(): } if versions[app]['branch'] != 'master': - branch_version = app_hooks.get('{0}_version'.format(versions[app]['branch'])) + try: + app_repo = git.Repo(os.path.join('..', 'apps', '{}'.format(app))) + branch_version = '-'.join(app_repo.git.describe().split('-')[:2]) + branch_version = [branch_version.strip('v')] + except: + branch_version = app_hooks.get('{0}_version'.format(versions[app]['branch'])) if branch_version: versions[app]['branch_version'] = branch_version[0] + ' ({0})'.format(get_app_last_commit_ref(app)) @@ -137,7 +143,7 @@ def check_for_update(): github_version, org_name = app_details # Get local instance's current version or the app - instance_version = Version(apps[app]['version']) + instance_version = Version(apps[app]['branch_version'].split(' ')[0]) # Compare and popup update message for update_type in updates: if github_version.__dict__[update_type] > instance_version.__dict__[update_type]: @@ -149,6 +155,7 @@ def check_for_update(): title = apps[app]['title'], )) break + if github_version.__dict__[update_type] < instance_version.__dict__[update_type]: break add_message_to_redis(updates) @@ -196,6 +203,7 @@ def show_update_popup(): return updates = json.loads(update_info) + current_versions = get_versions() # Check if user is int the set of users to send update message to update_message = "" diff --git a/requirements.txt b/requirements.txt index 8d8a564667..77c443a939 100644 --- a/requirements.txt +++ b/requirements.txt @@ -50,3 +50,4 @@ premailer croniter googlemaps urllib3==1.23 +GitPython==2.1.11 From d4a062fdbdb939a76607933abdb02e483ac72bcd Mon Sep 17 00:00:00 2001 From: Ameya Shenoy Date: Fri, 19 Oct 2018 12:38:36 +0000 Subject: [PATCH 5/5] bumped to version 10.1.54 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 996458ec6f..af607414e5 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.53' +__version__ = '10.1.54' __title__ = "Frappe Framework" local = Local()