From 268c851f858a8aec020c4454dbf654d402242298 Mon Sep 17 00:00:00 2001 From: "avazquez@ctgalega.com" Date: Wed, 8 Nov 2023 00:29:46 +0100 Subject: [PATCH 01/12] fix: description for columns property in docfield --- frappe/core/doctype/docfield/docfield.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/core/doctype/docfield/docfield.json b/frappe/core/doctype/docfield/docfield.json index 6b8469bd48..065e00c6aa 100644 --- a/frappe/core/doctype/docfield/docfield.json +++ b/frappe/core/doctype/docfield/docfield.json @@ -416,7 +416,7 @@ "width": "50px" }, { - "description": "Number of columns for a field in a List View or a Grid (Total Columns should be less than 11)", + "description": "Number of columns for a field in a Grid (Total Columns should be less than 11)", "fieldname": "columns", "fieldtype": "Int", "label": "Columns" From 9baf5e6de481e24fbbf0ad93c76d61e59ea93317 Mon Sep 17 00:00:00 2001 From: "avazquez@ctgalega.com" Date: Wed, 8 Nov 2023 00:38:16 +0100 Subject: [PATCH 02/12] fix: typo accuracy --- frappe/core/doctype/docfield/docfield.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/core/doctype/docfield/docfield.json b/frappe/core/doctype/docfield/docfield.json index 065e00c6aa..42e8d21e34 100644 --- a/frappe/core/doctype/docfield/docfield.json +++ b/frappe/core/doctype/docfield/docfield.json @@ -416,7 +416,7 @@ "width": "50px" }, { - "description": "Number of columns for a field in a Grid (Total Columns should be less than 11)", + "description": "Number of columns for a field in a grid (total columns should be less than 11)", "fieldname": "columns", "fieldtype": "Int", "label": "Columns" From df026366dfbce7e19a44d4d75334ef89d336a8e6 Mon Sep 17 00:00:00 2001 From: Thomas Fojan Date: Wed, 8 Nov 2023 21:23:25 +0100 Subject: [PATCH 03/12] fix: incorrect date range when relinking files --- frappe/core/doctype/file/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/core/doctype/file/utils.py b/frappe/core/doctype/file/utils.py index 3bb69e72ac..9795c73d9e 100644 --- a/frappe/core/doctype/file/utils.py +++ b/frappe/core/doctype/file/utils.py @@ -376,7 +376,7 @@ def relink_files(doc, fieldname, temp_doc_name): "attached_to_field": fieldname, "creation": ( "between", - [now_datetime() - add_to_date(date=now_datetime(), minutes=-60), now_datetime()], + [add_to_date(date=now_datetime(), minutes=-60), now_datetime()], ), }, ) From dd86c48306216d60d0893e9cadebdcbae2247dc4 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 9 Nov 2023 20:10:14 +0530 Subject: [PATCH 04/12] fix: Ignore `None` returned by RQ job Even though type signature suggests that it always returns job object it sometimes doesn't if you read the code. --- frappe/core/doctype/rq_job/rq_job.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frappe/core/doctype/rq_job/rq_job.py b/frappe/core/doctype/rq_job/rq_job.py index b6a6f99b57..453a375a5a 100644 --- a/frappe/core/doctype/rq_job/rq_job.py +++ b/frappe/core/doctype/rq_job/rq_job.py @@ -87,7 +87,9 @@ class RQJob(Document): matched_job_ids = RQJob.get_matching_job_ids(args)[start : start + page_length] conn = get_redis_conn() - jobs = [serialize_job(job) for job in Job.fetch_many(job_ids=matched_job_ids, connection=conn)] + jobs = [ + serialize_job(job) for job in Job.fetch_many(job_ids=matched_job_ids, connection=conn) if job + ] return sorted(jobs, key=lambda j: j.modified, reverse=order_desc) From 659cbcb88f4c9d180bad3cd782a99434369e7b20 Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Sat, 11 Nov 2023 11:29:12 +0530 Subject: [PATCH 05/12] refactor(scheduler): drop unused parameter (#23174) Signed-off-by: Akhil Narang --- frappe/tests/test_scheduler.py | 2 +- frappe/utils/scheduler.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frappe/tests/test_scheduler.py b/frappe/tests/test_scheduler.py index f66b7da5ed..73e8d12d64 100644 --- a/frappe/tests/test_scheduler.py +++ b/frappe/tests/test_scheduler.py @@ -40,7 +40,7 @@ class TestScheduler(TestCase): def test_enqueue_jobs(self): frappe.db.sql("update `tabScheduled Job Type` set last_execution = '2010-01-01 00:00:00'") - enqueued_jobs = enqueue_events(site=frappe.local.site) + enqueued_jobs = enqueue_events() self.assertIn("frappe.desk.notifications.clear_notifications", enqueued_jobs) self.assertIn("frappe.utils.change_log.check_for_update", enqueued_jobs) diff --git a/frappe/utils/scheduler.py b/frappe/utils/scheduler.py index 51adf3374b..6c9d36cb5c 100755 --- a/frappe/utils/scheduler.py +++ b/frappe/utils/scheduler.py @@ -73,7 +73,7 @@ def enqueue_events_for_site(site: str) -> None: if is_scheduler_inactive(): return - enqueue_events(site=site) + enqueue_events() frappe.logger("scheduler").debug(f"Queued events for site {site}") except Exception as e: @@ -85,7 +85,7 @@ def enqueue_events_for_site(site: str) -> None: frappe.destroy() -def enqueue_events(site: str) -> list[str] | None: +def enqueue_events() -> list[str] | None: if schedule_jobs_based_on_activity(): enqueued_jobs = [] for job_type in frappe.get_all("Scheduled Job Type", filters={"stopped": 0}, fields="*"): From c69b0435276392895d95039981e4d16ca3b8019f Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Sat, 11 Nov 2023 13:38:39 +0530 Subject: [PATCH 06/12] fix: send correct username in userinfo (#23177) --- frappe/utils/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/utils/__init__.py b/frappe/utils/__init__.py index cbacdc416c..48b492a3f4 100644 --- a/frappe/utils/__init__.py +++ b/frappe/utils/__init__.py @@ -1101,9 +1101,9 @@ def add_user_info(user: str | list[str] | set[str], user_info: dict[str, _UserIn for info in missing_info: user_info.setdefault(info.name, frappe._dict()).update( - fullname=info.full_name or user, + fullname=info.full_name or info.name, image=info.user_image, - name=user, + name=info.name, email=info.email, time_zone=info.time_zone, ) From c91a25e3b3da48401a5f40e36d734b0fd933ebce Mon Sep 17 00:00:00 2001 From: Dany Robert Date: Sun, 12 Nov 2023 20:15:49 +0530 Subject: [PATCH 07/12] fix: workspace loading issue (#23179) * fix: workspace loading issue * style: format js --------- Co-authored-by: Ankush Menat --- frappe/public/js/frappe/views/workspace/workspace.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index b627d11fdd..bf677683c9 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -346,7 +346,7 @@ frappe.views.Workspace = class Workspace { ) { default_page = { name: localStorage.current_page, - public: localStorage.is_current_page_public == "true", + public: localStorage.is_current_page_public != "false", }; } else if (Object.keys(this.all_pages).length !== 0) { default_page = { name: this.all_pages[0].title, public: this.all_pages[0].public }; From 392fee66a2f9f6da07480e493a6c683d7a761e48 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Mon, 13 Nov 2023 11:25:13 +0530 Subject: [PATCH 08/12] ci: Auto format vue files with prettier --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7443bde6a8..5561068486 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -35,7 +35,7 @@ repos: rev: v2.7.1 hooks: - id: prettier - types_or: [javascript] + types_or: [javascript, vue] # Ignore any files that might contain jinja / bundles exclude: | (?x)^( From b4bc871aab74f2c49ab894a2b4b4062dd5f8c040 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Mon, 13 Nov 2023 11:26:00 +0530 Subject: [PATCH 09/12] style: Auto format vue file with prettier - Ran pre-commit run --all-files --- .../js/form_builder/components/SearchBox.vue | 2 +- .../js/form_builder/components/Tabs.vue | 8 +- .../components/controls/ButtonControl.vue | 6 +- .../components/controls/CheckControl.vue | 5 +- .../components/controls/DataControl.vue | 7 +- .../components/controls/SelectControl.vue | 25 +- .../components/controls/TextControl.vue | 2 +- .../js/frappe/build_events/BuildError.vue | 13 +- .../js/frappe/build_events/BuildSuccess.vue | 12 +- .../js/frappe/file_uploader/FileBrowser.vue | 67 ++- .../js/frappe/file_uploader/FilePreview.vue | 54 ++- .../js/frappe/file_uploader/FileUploader.vue | 448 +++++++++++------- .../js/frappe/file_uploader/ImageCropper.vue | 33 +- .../js/frappe/file_uploader/ProgressRing.vue | 9 +- .../js/frappe/file_uploader/WebLink.vue | 8 +- .../print_format_builder/ConfigureColumns.vue | 12 +- .../public/js/print_format_builder/Field.vue | 45 +- .../js/print_format_builder/HTMLEditor.vue | 9 +- .../print_format_builder/LetterHeadEditor.vue | 168 +++---- .../js/print_format_builder/Preview.vue | 16 +- .../js/print_format_builder/PrintFormat.vue | 10 +- .../PrintFormatBuilder.vue | 6 +- .../PrintFormatControls.vue | 68 +-- .../PrintFormatSection.vue | 54 +-- .../components/ActionNode.vue | 20 +- .../components/ConnectionLine.vue | 6 +- 26 files changed, 574 insertions(+), 539 deletions(-) diff --git a/frappe/public/js/form_builder/components/SearchBox.vue b/frappe/public/js/form_builder/components/SearchBox.vue index bae326058d..050037a6b0 100644 --- a/frappe/public/js/form_builder/components/SearchBox.vue +++ b/frappe/public/js/form_builder/components/SearchBox.vue @@ -6,7 +6,7 @@ class="search-input form-control" type="text" :placeholder="__('Search properties...')" - @input="event => $emit('update:modelValue', event.target.value)" + @input="(event) => $emit('update:modelValue', event.target.value)" />
diff --git a/frappe/public/js/form_builder/components/Tabs.vue b/frappe/public/js/form_builder/components/Tabs.vue index 6f2ace4d13..ef8674f4c4 100644 --- a/frappe/public/js/form_builder/components/Tabs.vue +++ b/frappe/public/js/form_builder/components/Tabs.vue @@ -13,7 +13,7 @@ const store = useStore(); const { Backspace } = useMagicKeys(); whenever(Backspace, (value) => { if (value && selected.value && store.not_using_input) { - remove_tab(store.current_tab, '', true); + remove_tab(store.current_tab, "", true); } }); @@ -45,12 +45,10 @@ function add_new_section() { function is_tab_empty(tab) { // check if sections have columns and it contains fields - return !tab.sections.some((section) => - section.columns.some((column) => column.fields.length) - ); + return !tab.sections.some((section) => section.columns.some((column) => column.fields.length)); } -function remove_tab(tab, event, force=false) { +function remove_tab(tab, event, force = false) { // is remove_tab_btn is not visible then return if (!event?.currentTarget?.offsetParent && !force) return; diff --git a/frappe/public/js/form_builder/components/controls/ButtonControl.vue b/frappe/public/js/form_builder/components/controls/ButtonControl.vue index 46fc97052c..6642d5dc49 100644 --- a/frappe/public/js/form_builder/components/controls/ButtonControl.vue +++ b/frappe/public/js/form_builder/components/controls/ButtonControl.vue @@ -4,10 +4,7 @@ const props = defineProps(["df", "value"]);