From f7ad01cb64812b99f97866d9010aa216b5610a49 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Thu, 7 Oct 2021 19:38:42 +0530 Subject: [PATCH 1/7] fix: Update check all checkbox based on checked rows in List View --- frappe/public/js/frappe/list/list_view.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index 1cf4b4c6ac..56c47d0d8a 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -302,9 +302,20 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { refresh(refresh_header=false) { super.refresh().then(() => { this.render_header(refresh_header); + this.update_checkbox(); }); } + update_checkbox(target) { + let $check_all_checkbox = this.$checkbox_actions.find(".list-check-all"); + + if ($check_all_checkbox.prop("checked") && target && !target.prop("checked")) { + $check_all_checkbox.prop("checked", false); + } + + $check_all_checkbox.prop("checked", this.$checks.length === this.data.length); + } + setup_freeze_area() { this.$freeze = $( `
${__( @@ -1253,6 +1264,8 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { } this.$checkbox_cursor = $target; + + this.update_checkbox($target); }); } @@ -1398,6 +1411,7 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { this.$checkbox_actions.show(); this.$list_head_subject.hide(); } + this.update_checkbox(); this.toggle_actions_menu_button(this.$checks.length > 0); } From 3b4530ef5d93fa41be611569611281e16ada0476 Mon Sep 17 00:00:00 2001 From: Saqib Ansari Date: Wed, 20 Oct 2021 10:38:30 +0530 Subject: [PATCH 2/7] fix: prevent report error for AttachmentLimitReached exceptions --- frappe/exceptions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/exceptions.py b/frappe/exceptions.py index 31a94ac883..4b59f8f38f 100644 --- a/frappe/exceptions.py +++ b/frappe/exceptions.py @@ -99,8 +99,8 @@ class IncompatibleApp(ValidationError): pass class InvalidDates(ValidationError): pass class DataTooLongException(ValidationError): pass class FileAlreadyAttachedException(Exception): pass -class DocumentAlreadyRestored(Exception): pass -class AttachmentLimitReached(Exception): pass +class DocumentAlreadyRestored(ValidationError): pass +class AttachmentLimitReached(ValidationError): pass # OAuth exceptions class InvalidAuthorizationHeader(CSRFTokenError): pass class InvalidAuthorizationPrefix(CSRFTokenError): pass From a6c752458bee62570dff3d1f94ca2309b8e1442d Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Wed, 20 Oct 2021 11:13:06 +0530 Subject: [PATCH 3/7] refactor!: remove faker from requirements.txt --- dev-requirements.txt | 1 + frappe/__init__.py | 4 +--- requirements.txt | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) create mode 100644 dev-requirements.txt diff --git a/dev-requirements.txt b/dev-requirements.txt new file mode 100644 index 0000000000..ce9c5fbf5b --- /dev/null +++ b/dev-requirements.txt @@ -0,0 +1 @@ +Faker~=8.1.0 diff --git a/frappe/__init__.py b/frappe/__init__.py index 1b4429d55b..c8245b0bf0 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -30,9 +30,6 @@ from .utils.lazy_loader import lazy_import from frappe.query_builder import get_query_builder, patch_query_execute -# Lazy imports -faker = lazy_import('faker') - __version__ = '14.0.0-dev' __title__ = "Frappe Framework" @@ -1838,6 +1835,7 @@ def parse_json(val): return parse_json(val) def mock(type, size=1, locale='en'): + import faker results = [] fake = faker.Faker(locale) if type not in dir(fake): diff --git a/requirements.txt b/requirements.txt index 7a17d3794d..37b48bc943 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,6 @@ croniter~=1.0.11 cryptography~=3.4.7 dropbox~=11.7.0 email-reply-parser~=0.5.12 -Faker~=8.1.0 git-url-parse~=1.2.2 gitdb~=4.0.7 GitPython~=3.1.14 From 49b157e7e5f3945e5b4f5823cfce3e42c9a7fb93 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Wed, 20 Oct 2021 11:14:48 +0530 Subject: [PATCH 4/7] refactor!: remove ngrok from requirements.txt --- dev-requirements.txt | 1 + requirements.txt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-requirements.txt b/dev-requirements.txt index ce9c5fbf5b..fb4b9e3bb1 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1 +1,2 @@ Faker~=8.1.0 +pyngrok~=5.0.5 diff --git a/requirements.txt b/requirements.txt index 37b48bc943..6ed174b0ac 100644 --- a/requirements.txt +++ b/requirements.txt @@ -43,7 +43,6 @@ pyasn1~=0.4.8 pycryptodome~=3.10.1 PyJWT~=2.0.1 PyMySQL~=1.0.2 -pyngrok~=5.0.5 pyOpenSSL~=20.0.1 pyotp~=2.6.0 PyPDF2~=1.26.0 From a0262fd779a6bb5f862c715faa54d27e200a2f60 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Wed, 20 Oct 2021 11:18:04 +0530 Subject: [PATCH 5/7] refactor!: remove unittest-xml-reporting dependency --- dev-requirements.txt | 1 + requirements.txt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-requirements.txt b/dev-requirements.txt index fb4b9e3bb1..df3ae9484a 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,2 +1,3 @@ Faker~=8.1.0 pyngrok~=5.0.5 +unittest-xml-reporting~=3.0.4 diff --git a/requirements.txt b/requirements.txt index 6ed174b0ac..ae7ecaa59d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -67,7 +67,6 @@ six~=1.15.0 sqlparse~=0.4.1 stripe~=2.56.0 terminaltables~=3.1.0 -unittest-xml-reporting~=3.0.4 urllib3~=1.26.4 Werkzeug~=0.16.1 Whoosh~=2.7.4 From 121533cf13ee27030234832d6dfafbe7e14a0f3e Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Wed, 20 Oct 2021 11:32:19 +0530 Subject: [PATCH 6/7] refactor: remove chalk dependency --- frappe/build.py | 7 +++---- requirements.txt | 1 - 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/frappe/build.py b/frappe/build.py index 8b32b03d60..6b93b8b93a 100644 --- a/frappe/build.py +++ b/frappe/build.py @@ -16,7 +16,6 @@ from frappe.utils.minify import JavascriptMinify import click import psutil from urllib.parse import urlparse -from simple_chalk import green from semantic_version import Version from requests import head from requests.exceptions import HTTPError @@ -108,7 +107,7 @@ def fetch_assets(url, frappe_head): if not assets_archive: raise AssetsNotDownloadedError(f"Assets could not be retrived from {url}") - print(f"\n{green('✔')} Downloaded Frappe assets from {url}") + click.echo(click.style("✔", fg="green") + f" Downloaded Frappe assets from {url}") return assets_archive @@ -131,7 +130,7 @@ def setup_assets(assets_archive): directories_created.add(asset_directory) tar.makefile(file, dest) - print("{0} Restored {1}".format(green('✔'), show)) + click.echo(click.style("✔", fg="green") + f" Restored {show}") return directories_created @@ -379,7 +378,7 @@ def make_asset_dirs(hard_link=False): except Exception: print(fail_message, end="\r") - print(unstrip(f"{green('✔')} Application Assets Linked") + "\n") + click.echo(unstrip(click.style("✔", fg="green") + " Application Assets Linked") + "\n") def link_assets_dir(source, target, hard_link=False): diff --git a/requirements.txt b/requirements.txt index ae7ecaa59d..17f77efa5d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -62,7 +62,6 @@ rq~=1.8.0 rsa>=4.1 # not directly required, pinned by Snyk to avoid a vulnerability schedule~=1.1.0 semantic-version~=2.8.5 -simple-chalk~=0.1.0 six~=1.15.0 sqlparse~=0.4.1 stripe~=2.56.0 From 61a59240dd38b3475f1ea2a56ca0c1528b7a3a07 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Wed, 20 Oct 2021 12:27:57 +0530 Subject: [PATCH 7/7] ci: install dev dependencies for server tests --- .github/helper/install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/helper/install.sh b/.github/helper/install.sh index 6c81d6298a..454cc89694 100644 --- a/.github/helper/install.sh +++ b/.github/helper/install.sh @@ -50,6 +50,7 @@ if [ "$TYPE" == "server" ]; then sed -i 's/^socketio:/# socketio:/g' Procfile; f if [ "$TYPE" == "server" ]; then sed -i 's/^redis_socketio:/# redis_socketio:/g' Procfile; fi if [ "$TYPE" == "ui" ]; then bench setup requirements --node; fi +if [ "$TYPE" == "server" ]; then bench setup requirements --dev; fi # install node-sass which is required for website theme test cd ./apps/frappe || exit