From b20942396b3c08aca3ada70b385833486b284b2c Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Wed, 24 Jul 2024 11:59:48 +0530 Subject: [PATCH 01/23] fix(query_report): don't crash if `execution_time` isn't defined Signed-off-by: Akhil Narang --- frappe/public/js/frappe/views/reports/query_report.js | 2 +- 1 file changed, 1 insertion(+), 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 0284639e6a..1332a186aa 100644 --- a/frappe/public/js/frappe/views/reports/query_report.js +++ b/frappe/public/js/frappe/views/reports/query_report.js @@ -462,7 +462,7 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList { setup_progress_bar() { let seconds_elapsed = 0; - const execution_time = this.report_settings.execution_time || 0; + const execution_time = this.report_settings?.execution_time || 0; if (execution_time < 5) return; From 5acdc7870112a08dfa6fc60b62e34f599b83c0d4 Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Wed, 24 Jul 2024 12:07:17 +0530 Subject: [PATCH 02/23] fix(script_helpers): prevent TypeError when cur_frm is null Signed-off-by: Akhil Narang --- frappe/public/js/frappe/form/script_helpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/script_helpers.js b/frappe/public/js/frappe/form/script_helpers.js index 4f29a0a487..f47ce99ce6 100644 --- a/frappe/public/js/frappe/form/script_helpers.js +++ b/frappe/public/js/frappe/form/script_helpers.js @@ -33,7 +33,7 @@ window.refresh_field = function (n, docname, table_field) { }; window.set_field_options = function (n, txt) { - cur_frm.set_df_property(n, "options", txt); + cur_frm?.set_df_property(n, "options", txt); }; window.toggle_field = function (n, hidden) { From bf92887259d918c068f66b8c5b1014a555b74607 Mon Sep 17 00:00:00 2001 From: mahsem <137205921+mahsem@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:31:24 +0200 Subject: [PATCH 03/23] fix: translation in form.js (#26907) Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com> --- frappe/public/js/frappe/form/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/form.js b/frappe/public/js/frappe/form/form.js index bd74ee5bd1..458851e698 100644 --- a/frappe/public/js/frappe/form/form.js +++ b/frappe/public/js/frappe/form/form.js @@ -515,7 +515,7 @@ frappe.ui.form.Form = class FrappeForm { // feedback frappe.msgprint({ - message: __("{} Complete", [action.label]), + message: __("{} Complete", [__(action.label)]), alert: true, }); }); From b0bba0ad31726bccb1533d221d2a67a9a04f15c4 Mon Sep 17 00:00:00 2001 From: Raffael Meyer <14891507+barredterra@users.noreply.github.com> Date: Tue, 30 Jul 2024 19:44:06 +0200 Subject: [PATCH 04/23] fix: extract translatable strings from .vue files (#27251) --- babel_extractors.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/babel_extractors.csv b/babel_extractors.csv index ff8faafaff..7f2103c4d4 100644 --- a/babel_extractors.csv +++ b/babel_extractors.csv @@ -7,5 +7,6 @@ hooks.py,frappe.gettext.extractors.navbar.extract **.py,frappe.gettext.extractors.python.extract **.js,frappe.gettext.extractors.javascript.extract **.html,frappe.gettext.extractors.html_template.extract +**.vue,frappe.gettext.extractors.html_template.extract **/custom/*.json,frappe.gettext.extractors.customization.extract **/fixtures/custom_field.json,frappe.gettext.extractors.custom_field.extract \ No newline at end of file From f75da85d8394e08e4436bd087baee7481cf9844b Mon Sep 17 00:00:00 2001 From: Raffael Meyer <14891507+barredterra@users.noreply.github.com> Date: Tue, 30 Jul 2024 20:14:57 +0200 Subject: [PATCH 05/23] fix: remove context from translatable strings in Workspace (#27249) --- frappe/gettext/extractors/workspace.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/frappe/gettext/extractors/workspace.py b/frappe/gettext/extractors/workspace.py index 76ca108df4..4c58c373be 100644 --- a/frappe/gettext/extractors/workspace.py +++ b/frappe/gettext/extractors/workspace.py @@ -29,8 +29,8 @@ def extract(fileobj, *args, **kwargs): yield from ( ( None, - "pgettext", - (link.get("link_to") if link.get("link_type") == "DocType" else None, link.get("label")), + "_", + link.get("label"), [f"Label of a {link.get('type')} in the {workspace_name} Workspace"], ) for link in data.get("links", []) @@ -38,8 +38,8 @@ def extract(fileobj, *args, **kwargs): yield from ( ( None, - "pgettext", - (link.get("link_to") if link.get("link_type") == "DocType" else None, link.get("description")), + "_", + link.get("description"), [f"Description of a {link.get('type')} in the {workspace_name} Workspace"], ) for link in data.get("links", []) @@ -47,8 +47,8 @@ def extract(fileobj, *args, **kwargs): yield from ( ( None, - "pgettext", - (shortcut.get("link_to") if shortcut.get("type") == "DocType" else None, shortcut.get("label")), + "_", + shortcut.get("label"), [f"Label of a shortcut in the {workspace_name} Workspace"], ) for shortcut in data.get("shortcuts", []) @@ -56,8 +56,8 @@ def extract(fileobj, *args, **kwargs): yield from ( ( None, - "pgettext", - (shortcut.get("link_to") if shortcut.get("type") == "DocType" else None, shortcut.get("format")), + "_", + shortcut.get("format"), [f"Count format of shortcut in the {workspace_name} Workspace"], ) for shortcut in data.get("shortcuts", []) From 10e296a77980a0a7c43bb70c028a550146acafdd Mon Sep 17 00:00:00 2001 From: Frappe PR Bot Date: Tue, 30 Jul 2024 23:46:30 +0530 Subject: [PATCH 06/23] chore: update POT file (#27253) --- frappe/locale/main.pot | 837 ++++++++++++++++++++++++++++++++--------- 1 file changed, 662 insertions(+), 175 deletions(-) diff --git a/frappe/locale/main.pot b/frappe/locale/main.pot index 1ba70391ab..044b40a645 100644 --- a/frappe/locale/main.pot +++ b/frappe/locale/main.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Frappe Framework VERSION\n" "Report-Msgid-Bugs-To: developers@frappe.io\n" -"POT-Creation-Date: 2024-07-21 09:33+0000\n" -"PO-Revision-Date: 2024-07-21 09:33+0000\n" +"POT-Creation-Date: 2024-07-30 18:02+0000\n" +"PO-Revision-Date: 2024-07-30 18:02+0000\n" "Last-Translator: developers@frappe.io\n" "Language-Team: developers@frappe.io\n" "MIME-Version: 1.0\n" @@ -167,6 +167,10 @@ msgstr "" msgid "1 month ago" msgstr "" +#: public/js/print_format_builder/PrintFormat.vue:3 +msgid "1 of 2" +msgstr "" + #: public/js/frappe/data_import/data_exporter.js:227 msgid "1 record will be exported" msgstr "" @@ -979,7 +983,7 @@ msgstr "" #: public/js/frappe/form/grid_row.js:471 #: public/js/frappe/form/sidebar/assign_to.js:100 #: public/js/frappe/form/templates/set_sharing.html:68 -#: public/js/frappe/list/bulk_operations.js:407 +#: public/js/frappe/list/bulk_operations.js:437 #: public/js/frappe/views/dashboard/dashboard_view.js:440 #: public/js/frappe/views/reports/query_report.js:266 #: public/js/frappe/views/reports/query_report.js:294 @@ -1041,6 +1045,7 @@ msgstr "" #: public/js/frappe/views/reports/query_report.js:1684 #: public/js/frappe/views/reports/report_view.js:324 #: public/js/frappe/views/reports/report_view.js:349 +#: public/js/print_format_builder/Field.vue:112 msgid "Add Column" msgstr "" @@ -1131,7 +1136,7 @@ msgstr "" msgid "Add Subscribers" msgstr "" -#: public/js/frappe/list/bulk_operations.js:395 +#: public/js/frappe/list/bulk_operations.js:425 msgid "Add Tags" msgstr "" @@ -1181,6 +1186,7 @@ msgid "Add a comment" msgstr "" #: printing/page/print_format_builder/print_format_builder_layout.html:28 +#: public/js/form_builder/components/Tabs.vue:192 msgid "Add a new section" msgstr "" @@ -1204,10 +1210,42 @@ msgstr "" msgid "Add a {0} Chart" msgstr "" +#: public/js/form_builder/components/Section.vue:271 +#: public/js/print_format_builder/PrintFormatSection.vue:115 +msgid "Add column" +msgstr "" + +#: public/js/form_builder/components/AddFieldButton.vue:9 +#: public/js/form_builder/components/AddFieldButton.vue:48 +msgid "Add field" +msgstr "" + +#: public/js/form_builder/components/Sidebar.vue:49 +#: public/js/form_builder/components/Tabs.vue:153 +msgid "Add new tab" +msgstr "" + +#: public/js/print_format_builder/PrintFormatSection.vue:125 +msgid "Add page break" +msgstr "" + #: custom/doctype/client_script/client_script.js:16 msgid "Add script for Child Table" msgstr "" +#: public/js/print_format_builder/PrintFormatSection.vue:111 +msgid "Add section above" +msgstr "" + +#: public/js/form_builder/components/Section.vue:265 +msgid "Add section below" +msgstr "" + +#: public/js/form_builder/components/Sidebar.vue:52 +#: public/js/form_builder/components/Tabs.vue:157 +msgid "Add tab" +msgstr "" + #: public/js/frappe/utils/dashboard_utils.js:263 #: public/js/frappe/views/reports/query_report.js:252 msgid "Add to Dashboard" @@ -1445,7 +1483,7 @@ msgstr "" msgid "Aggregate Function Based On" msgstr "" -#: desk/doctype/dashboard_chart/dashboard_chart.py:399 +#: desk/doctype/dashboard_chart/dashboard_chart.py:409 msgid "Aggregate Function field is required to create a dashboard chart" msgstr "" @@ -2074,7 +2112,7 @@ msgstr "" msgid "Append To" msgstr "" -#: email/doctype/email_account/email_account.py:195 +#: email/doctype/email_account/email_account.py:196 msgid "Append To can be one of {0}" msgstr "" @@ -2115,6 +2153,10 @@ msgstr "" msgid "Applied On" msgstr "" +#: public/js/form_builder/components/Field.vue:103 +msgid "Apply" +msgstr "" + #: public/js/frappe/list/list_view.js:1942 msgctxt "Button in list view actions menu" msgid "Apply Assignment Rule" @@ -2217,7 +2259,7 @@ msgstr "" msgid "Are you sure you want to delete all rows?" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:899 +#: public/js/frappe/views/workspace/workspace.js:928 msgid "Are you sure you want to delete page {0}?" msgstr "" @@ -2225,6 +2267,21 @@ msgstr "" msgid "Are you sure you want to delete the attachment?" msgstr "" +#: public/js/form_builder/components/Section.vue:197 +msgctxt "Confirmation dialog message" +msgid "Are you sure you want to delete the column? All the fields in the column will be moved to the previous column." +msgstr "" + +#: public/js/form_builder/components/Section.vue:126 +msgctxt "Confirmation dialog message" +msgid "Are you sure you want to delete the section? All the columns along with fields in the section will be moved to the previous section." +msgstr "" + +#: public/js/form_builder/components/Tabs.vue:65 +msgctxt "Confirmation dialog message" +msgid "Are you sure you want to delete the tab? All the sections along with fields in the tab will be moved to the previous tab." +msgstr "" + #: public/js/frappe/web_form/web_form.js:185 msgid "Are you sure you want to discard the changes?" msgstr "" @@ -2462,6 +2519,7 @@ msgstr "" #: core/doctype/docfield/docfield.json #: custom/doctype/custom_field/custom_field.json #: custom/doctype/customize_form_field/customize_form_field.json +#: public/js/form_builder/components/controls/AttachControl.vue:15 #: public/js/frappe/form/controls/attach.js:5 #: website/doctype/web_form_field/web_form_field.json msgid "Attach" @@ -2494,6 +2552,10 @@ msgstr "" msgid "Attach Print" msgstr "" +#: public/js/frappe/file_uploader/WebLink.vue:10 +msgid "Attach a web link" +msgstr "" + #: website/doctype/website_slideshow/website_slideshow.js:8 msgid "Attach files / urls and add in table." msgstr "" @@ -2597,6 +2659,11 @@ msgstr "" msgid "Auth URL Data" msgstr "" +#. Label of the backend_app_flow (Check) field in DocType 'Email Account' +#: email/doctype/email_account/email_account.json +msgid "Authenticate as Service Principal" +msgstr "" + #. Label of the authentication_column (Section Break) field in DocType 'Email #. Account' #. Label of the authentication_credential_section (Section Break) field in @@ -2620,7 +2687,7 @@ msgstr "" msgid "Authentication Error: Reauthorize OAuth for Email Account {0}." msgstr "" -#: email/doctype/email_account/email_account.py:328 +#: email/doctype/email_account/email_account.py:329 msgid "Authentication failed while receiving emails from Email Account: {0}." msgstr "" @@ -2834,11 +2901,11 @@ msgstr "" msgid "Automatic" msgstr "" -#: email/doctype/email_account/email_account.py:766 +#: email/doctype/email_account/email_account.py:767 msgid "Automatic Linking can be activated only for one Email Account." msgstr "" -#: email/doctype/email_account/email_account.py:760 +#: email/doctype/email_account/email_account.py:761 msgid "Automatic Linking can be activated only if Incoming is enabled." msgstr "" @@ -2978,6 +3045,7 @@ msgstr "" msgid "BCC" msgstr "" +#: public/js/frappe/file_uploader/ImageCropper.vue:31 #: public/js/frappe/widgets/onboarding_widget.js:181 msgid "Back" msgstr "" @@ -3032,6 +3100,10 @@ msgstr "" msgid "Background Jobs Queue" msgstr "" +#: public/js/frappe/list/bulk_operations.js:87 +msgid "Background Print (required for >25 documents)" +msgstr "" + #. Label of the background_workers (Section Break) field in DocType 'System #. Settings' #. Label of the background_workers (Table) field in DocType 'System Health @@ -3421,6 +3493,7 @@ msgstr "" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #: desk/doctype/form_tour_step/form_tour_step.json +#: public/js/print_format_builder/PrintFormatControls.vue:154 msgid "Bottom" msgstr "" @@ -3428,11 +3501,13 @@ msgstr "" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' #: desk/doctype/form_tour_step/form_tour_step.json #: printing/doctype/print_format/print_format.json +#: public/js/print_format_builder/PrintFormatControls.vue:248 msgid "Bottom Center" msgstr "" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' #: printing/doctype/print_format/print_format.json +#: public/js/print_format_builder/PrintFormatControls.vue:247 msgid "Bottom Left" msgstr "" @@ -3440,6 +3515,7 @@ msgstr "" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' #: desk/doctype/form_tour_step/form_tour_step.json #: printing/doctype/print_format/print_format.json +#: public/js/print_format_builder/PrintFormatControls.vue:249 msgid "Bottom Right" msgstr "" @@ -3551,7 +3627,7 @@ msgstr "" msgid "Bulk Delete" msgstr "" -#: public/js/frappe/list/bulk_operations.js:291 +#: public/js/frappe/list/bulk_operations.js:321 msgid "Bulk Edit" msgstr "" @@ -3567,7 +3643,7 @@ msgstr "" msgid "Bulk Operation Successful" msgstr "" -#: public/js/frappe/list/bulk_operations.js:122 +#: public/js/frappe/list/bulk_operations.js:131 msgid "Bulk PDF Export" msgstr "" @@ -3805,6 +3881,7 @@ msgstr "" msgid "Callback Title" msgstr "" +#: public/js/frappe/file_uploader/FileUploader.vue:150 #: public/js/frappe/ui/capture.js:334 msgid "Camera" msgstr "" @@ -3812,7 +3889,7 @@ msgstr "" #. Label of the campaign (Link) field in DocType 'Newsletter' #. Label of the campaign (Data) field in DocType 'Web Page View' #: email/doctype/newsletter/newsletter.json -#: public/js/frappe/utils/utils.js:1723 +#: public/js/frappe/utils/utils.js:1724 #: website/doctype/web_page_view/web_page_view.json #: website/report/website_analytics/website_analytics.js:39 msgid "Campaign" @@ -3963,7 +4040,7 @@ msgstr "" msgid "Cannot cancel before submitting. See Transition {0}" msgstr "" -#: public/js/frappe/list/bulk_operations.js:264 +#: public/js/frappe/list/bulk_operations.js:294 msgid "Cannot cancel {0}." msgstr "" @@ -3991,7 +4068,7 @@ msgstr "" msgid "Cannot create a {0} against a child document: {1}" msgstr "" -#: desk/doctype/workspace/workspace.py:250 +#: desk/doctype/workspace/workspace.py:254 msgid "Cannot create private workspace of other users" msgstr "" @@ -4003,11 +4080,11 @@ msgstr "" msgid "Cannot delete or cancel because {0} {1} is linked with {2} {3} {4}" msgstr "" -#: desk/doctype/workspace/workspace.py:415 +#: desk/doctype/workspace/workspace.py:419 msgid "Cannot delete private workspace of other users" msgstr "" -#: desk/doctype/workspace/workspace.py:408 +#: desk/doctype/workspace/workspace.py:412 msgid "Cannot delete public workspace without Workspace Manager role" msgstr "" @@ -4023,6 +4100,13 @@ msgstr "" msgid "Cannot delete standard field {0}. You can hide it instead." msgstr "" +#: public/js/form_builder/components/Field.vue:38 +#: public/js/form_builder/components/Section.vue:117 +#: public/js/form_builder/components/Section.vue:190 +#: public/js/form_builder/components/Tabs.vue:56 +msgid "Cannot delete standard field. You can hide it if you want" +msgstr "" + #: custom/doctype/customize_form/customize_form.js:347 msgid "Cannot delete standard link. You can hide it if you want" msgstr "" @@ -4031,7 +4115,7 @@ msgstr "" msgid "Cannot delete system generated field {0}. You can hide it instead." msgstr "" -#: public/js/frappe/list/bulk_operations.js:185 +#: public/js/frappe/list/bulk_operations.js:215 msgid "Cannot delete {0}" msgstr "" @@ -4043,11 +4127,11 @@ msgstr "" msgid "Cannot edit Standard Dashboards" msgstr "" -#: email/doctype/notification/notification.py:122 +#: email/doctype/notification/notification.py:183 msgid "Cannot edit Standard Notification. To edit, please disable this and duplicate it" msgstr "" -#: desk/doctype/dashboard_chart/dashboard_chart.py:377 +#: desk/doctype/dashboard_chart/dashboard_chart.py:387 msgid "Cannot edit Standard charts" msgstr "" @@ -4112,7 +4196,7 @@ msgstr "" msgid "Cannot set 'Report' permission if 'Only If Creator' permission is set" msgstr "" -#: email/doctype/notification/notification.py:139 +#: email/doctype/notification/notification.py:200 msgid "Cannot set Notification with event {0} on Document Type {1}" msgstr "" @@ -4120,16 +4204,16 @@ msgstr "" msgid "Cannot share {0} with submit permission as the doctype {1} is not submittable" msgstr "" -#: public/js/frappe/list/bulk_operations.js:261 +#: public/js/frappe/list/bulk_operations.js:291 msgid "Cannot submit {0}." msgstr "" -#: desk/doctype/workspace/workspace.py:349 +#: desk/doctype/workspace/workspace.py:353 msgid "Cannot update private workspace of other users" msgstr "" #: desk/doctype/bulk_update/bulk_update.js:26 -#: public/js/frappe/list/bulk_operations.js:336 +#: public/js/frappe/list/bulk_operations.js:366 msgid "Cannot update {0}" msgstr "" @@ -4141,7 +4225,7 @@ msgstr "" msgid "Cannot use {0} in order/group by" msgstr "" -#: public/js/frappe/list/bulk_operations.js:267 +#: public/js/frappe/list/bulk_operations.js:297 msgid "Cannot {0} {1}." msgstr "" @@ -4228,11 +4312,20 @@ msgctxt "Coins" msgid "Change" msgstr "" +#: public/js/print_format_builder/LetterHeadEditor.vue:38 +msgid "Change Image" +msgstr "" + #. Label of the label (Data) field in DocType 'Customize Form' #: custom/doctype/customize_form/customize_form.json msgid "Change Label (via Custom Translation)" msgstr "" +#: public/js/print_format_builder/LetterHeadEditor.vue:45 +#: public/js/print_format_builder/LetterHeadEditor.vue:141 +msgid "Change Letter Head" +msgstr "" + #. Label of the change_password (Section Break) field in DocType 'User' #: core/doctype/user/user.json msgid "Change Password" @@ -4421,14 +4514,16 @@ msgstr "" msgid "Choose Existing Card or create New Card" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1399 +#: public/js/frappe/views/workspace/workspace.js:1428 msgid "Choose a block or continue typing" msgstr "" +#: public/js/form_builder/components/controls/DataControl.vue:18 #: public/js/frappe/form/controls/color.js:5 msgid "Choose a color" msgstr "" +#: public/js/form_builder/components/controls/DataControl.vue:21 #: public/js/frappe/form/controls/icon.js:5 msgid "Choose an icon" msgstr "" @@ -4516,6 +4611,10 @@ msgstr "" msgid "Click on Authorize Google Drive Access to authorize Google Drive Access." msgstr "" +#: public/js/frappe/file_uploader/FileUploader.vue:499 +msgid "Click on a file to select it." +msgstr "" + #: templates/emails/login_with_email_link.html:19 msgid "Click on the button to log in to {0}" msgstr "" @@ -4536,6 +4635,10 @@ msgstr "" msgid "Click on the link below to verify your request" msgstr "" +#: public/js/frappe/file_uploader/FileUploader.vue:200 +msgid "Click on the lock icon to toggle public/private" +msgstr "" + #: integrations/doctype/google_calendar/google_calendar.py:102 #: integrations/doctype/google_contacts/google_contacts.py:41 #: integrations/doctype/google_drive/google_drive.py:53 @@ -4651,6 +4754,10 @@ msgstr "" msgid "Close Condition" msgstr "" +#: public/js/form_builder/components/FieldProperties.vue:79 +msgid "Close properties" +msgstr "" + #. Option for the 'Status' (Select) field in DocType 'Activity Log' #. Option for the 'Status' (Select) field in DocType 'Communication' #. Option for the 'Status' (Select) field in DocType 'Event' @@ -4771,6 +4878,8 @@ msgstr "" #. Label of the column (Data) field in DocType 'Recorder Suggested Index' #: core/doctype/recorder_suggested_index/recorder_suggested_index.json #: printing/page/print_format_builder/print_format_builder_column_selector.html:7 +#: public/js/form_builder/components/Section.vue:270 +#: public/js/print_format_builder/ConfigureColumns.vue:8 msgid "Column" msgstr "" @@ -5100,6 +5209,10 @@ msgstr "" msgid "Configure Recorder" msgstr "" +#: public/js/print_format_builder/Field.vue:103 +msgid "Configure columns for {0}" +msgstr "" + #. Description of the 'Amended Documents' (Section Break) field in DocType #. 'Document Naming Settings' #: core/doctype/document_naming_settings/document_naming_settings.json @@ -5297,7 +5410,7 @@ msgstr "" #: core/doctype/comment/comment.json desk/doctype/note/note.json #: desk/doctype/workspace/workspace.json #: email/doctype/newsletter/newsletter.json -#: public/js/frappe/utils/utils.js:1738 +#: public/js/frappe/utils/utils.js:1739 #: website/doctype/blog_post/blog_post.json #: website/doctype/help_article/help_article.json #: website/doctype/web_page/web_page.json @@ -5510,7 +5623,7 @@ msgstr "" #: public/js/frappe/views/file/file_view.js:112 #: public/js/frappe/views/interaction.js:18 #: public/js/frappe/views/reports/query_report.js:1188 -#: public/js/frappe/views/workspace/workspace.js:1231 +#: public/js/frappe/views/workspace/workspace.js:1260 #: workflow/page/workflow_builder/workflow_builder.js:46 msgid "Create" msgstr "" @@ -5534,6 +5647,10 @@ msgstr "" msgid "Create Chart" msgstr "" +#: public/js/form_builder/components/controls/TableControl.vue:62 +msgid "Create Child Doctype" +msgstr "" + #. Label of the create_contact (Check) field in DocType 'Email Account' #: email/doctype/email_account/email_account.json msgid "Create Contacts from Incoming Emails" @@ -5544,7 +5661,7 @@ msgstr "" msgid "Create Custom Fields" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:939 +#: public/js/frappe/views/workspace/workspace.js:968 msgid "Create Duplicate" msgstr "" @@ -5553,6 +5670,11 @@ msgstr "" msgid "Create Entry" msgstr "" +#: public/js/print_format_builder/LetterHeadEditor.vue:59 +#: public/js/print_format_builder/LetterHeadEditor.vue:195 +msgid "Create Letter Head" +msgstr "" + #. Label of the create_log (Check) field in DocType 'Scheduled Job Type' #: core/doctype/scheduled_job_type/scheduled_job_type.json msgid "Create Log" @@ -5581,10 +5703,6 @@ msgstr "" msgid "Create User Email" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:479 -msgid "Create Workspace" -msgstr "" - #: printing/page/print_format_builder/print_format_builder_start.html:16 msgid "Create a New Format" msgstr "" @@ -5703,6 +5821,10 @@ msgstr "" msgid "Cron format is required for job types with Cron frequency." msgstr "" +#: public/js/frappe/file_uploader/ImageCropper.vue:34 +msgid "Crop" +msgstr "" + #: public/js/frappe/form/grid_row_form.js:42 msgid "Ctrl + Down" msgstr "" @@ -5915,6 +6037,7 @@ msgstr "" #: printing/page/print_format_builder/print_format_builder.js:190 #: printing/page/print_format_builder/print_format_builder.js:720 +#: public/js/print_format_builder/PrintFormatControls.vue:192 msgid "Custom HTML" msgstr "" @@ -6013,7 +6136,7 @@ msgstr "" msgid "Customization onboarding is all done!" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:525 +#: public/js/frappe/views/workspace/workspace.js:554 msgid "Customizations Discarded" msgstr "" @@ -6517,7 +6640,7 @@ msgstr "" #. Label of the default_incoming (Check) field in DocType 'Email Account' #: email/doctype/email_account/email_account.json -#: email/doctype/email_account/email_account.py:217 +#: email/doctype/email_account/email_account.py:218 msgid "Default Incoming" msgstr "" @@ -6537,7 +6660,7 @@ msgstr "" #. Label of the default_outgoing (Check) field in DocType 'Email Account' #: email/doctype/email_account/email_account.json -#: email/doctype/email_account/email_account.py:225 +#: email/doctype/email_account/email_account.py:226 msgid "Default Outgoing" msgstr "" @@ -6652,7 +6775,7 @@ msgstr "" msgid "Defaults" msgstr "" -#: email/doctype/email_account/email_account.py:236 +#: email/doctype/email_account/email_account.py:237 msgid "Defaults Updated" msgstr "" @@ -6682,7 +6805,7 @@ msgstr "" #: public/js/frappe/form/grid.js:63 public/js/frappe/form/toolbar.js:434 #: public/js/frappe/views/reports/report_view.js:1654 #: public/js/frappe/views/treeview.js:308 -#: public/js/frappe/views/workspace/workspace.js:837 +#: public/js/frappe/views/workspace/workspace.js:866 #: templates/discussions/reply_card.html:35 #: templates/discussions/reply_section.html:29 msgid "Delete" @@ -6701,6 +6824,11 @@ msgstr "" msgid "Delete All" msgstr "" +#: public/js/form_builder/components/Section.vue:196 +msgctxt "Title of confirmation dialog" +msgid "Delete Column" +msgstr "" + #: website/doctype/personal_data_deletion_request/personal_data_deletion_request.js:10 msgid "Delete Data" msgstr "" @@ -6709,7 +6837,17 @@ msgstr "" msgid "Delete Kanban Board" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:838 +#: public/js/form_builder/components/Section.vue:125 +msgctxt "Title of confirmation dialog" +msgid "Delete Section" +msgstr "" + +#: public/js/form_builder/components/Tabs.vue:64 +msgctxt "Title of confirmation dialog" +msgid "Delete Tab" +msgstr "" + +#: public/js/frappe/views/workspace/workspace.js:867 msgid "Delete Workspace" msgstr "" @@ -6717,10 +6855,40 @@ msgstr "" msgid "Delete and Generate New" msgstr "" +#: public/js/form_builder/components/Section.vue:203 +msgctxt "Button text" +msgid "Delete column" +msgstr "" + #: public/js/frappe/form/footer/form_timeline.js:721 msgid "Delete comment?" msgstr "" +#: public/js/form_builder/components/Section.vue:205 +msgctxt "Button text" +msgid "Delete entire column with fields" +msgstr "" + +#: public/js/form_builder/components/Section.vue:134 +msgctxt "Button text" +msgid "Delete entire section with fields" +msgstr "" + +#: public/js/form_builder/components/Tabs.vue:73 +msgctxt "Button text" +msgid "Delete entire tab with fields" +msgstr "" + +#: public/js/form_builder/components/Section.vue:132 +msgctxt "Button text" +msgid "Delete section" +msgstr "" + +#: public/js/form_builder/components/Tabs.vue:71 +msgctxt "Button text" +msgid "Delete tab" +msgstr "" + #: email/doctype/email_unsubscribe/email_unsubscribe.py:29 msgid "Delete this record to allow sending to this email address" msgstr "" @@ -6777,7 +6945,7 @@ msgstr "" msgid "Deleting {0}" msgstr "" -#: public/js/frappe/list/bulk_operations.js:172 +#: public/js/frappe/list/bulk_operations.js:202 msgid "Deleting {0} records..." msgstr "" @@ -6968,6 +7136,7 @@ msgstr "" #: custom/doctype/customize_form/customize_form.json #: desk/doctype/event/event.json #: desk/page/user_profile/user_profile_sidebar.html:45 +#: public/js/form_builder/components/Tabs.vue:92 #: public/js/form_builder/store.js:259 public/js/form_builder/utils.js:38 #: public/js/frappe/form/layout.js:137 public/js/frappe/views/treeview.js:271 msgid "Details" @@ -7117,14 +7286,14 @@ msgstr "" msgid "Disabled" msgstr "" -#: email/doctype/email_account/email_account.js:261 +#: email/doctype/email_account/email_account.js:265 msgid "Disabled Auto Reply" msgstr "" #: public/js/frappe/form/toolbar.js:316 #: public/js/frappe/views/communication.js:30 #: public/js/frappe/views/dashboard/dashboard_view.js:70 -#: public/js/frappe/views/workspace/workspace.js:516 +#: public/js/frappe/views/workspace/workspace.js:545 #: public/js/frappe/web_form/web_form.js:187 msgid "Discard" msgstr "" @@ -7189,6 +7358,10 @@ msgstr "" msgid "Display Depends On (JS)" msgstr "" +#: public/js/print_format_builder/PrintFormatControls.vue:210 +msgid "Divider" +msgstr "" + #. Label of the do_not_create_new_user (Check) field in DocType 'LDAP Settings' #: integrations/doctype/ldap_settings/ldap_settings.json msgid "Do Not Create New User " @@ -7418,7 +7591,7 @@ msgstr "" msgid "Doctype required" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1317 +#: public/js/frappe/views/workspace/workspace.js:1346 msgid "Doctype with same route already exist. Please choose different title." msgstr "" @@ -7432,6 +7605,7 @@ msgstr "" #: core/doctype/audit_trail/audit_trail.json core/doctype/doctype/doctype.json #: core/doctype/permission_inspector/permission_inspector.json #: desk/doctype/notification_subscribed_document/notification_subscribed_document.json +#: public/js/frappe/views/render_preview.js:42 msgid "Document" msgstr "" @@ -7710,7 +7884,7 @@ msgstr "" msgid "Document renaming from {0} to {1} has been queued" msgstr "" -#: desk/doctype/dashboard_chart/dashboard_chart.py:386 +#: desk/doctype/dashboard_chart/dashboard_chart.py:396 msgid "Document type is required to create a dashboard chart" msgstr "" @@ -7815,6 +7989,8 @@ msgstr "" #: public/js/frappe/form/form_tour.js:16 public/js/frappe/ui/messages.js:231 #: public/js/onboarding_tours/onboarding_tours.js:17 +#: public/js/print_format_builder/HTMLEditor.vue:5 +#: public/js/print_format_builder/LetterHeadEditor.vue:52 msgid "Done" msgstr "" @@ -7823,6 +7999,10 @@ msgstr "" msgid "Donut" msgstr "" +#: public/js/form_builder/components/EditableInput.vue:43 +msgid "Double click to edit label" +msgstr "" + #: core/doctype/file/file.js:5 #: email/doctype/auto_email_report/auto_email_report.js:8 #: public/js/frappe/form/grid.js:63 @@ -7851,7 +8031,7 @@ msgstr "" msgid "Download Link" msgstr "" -#: public/js/frappe/list/bulk_operations.js:125 +#: public/js/frappe/list/bulk_operations.js:134 msgid "Download PDF" msgstr "" @@ -7886,15 +8066,35 @@ msgstr "" #: public/js/frappe/views/workspace/blocks/header.js:46 #: public/js/frappe/views/workspace/blocks/paragraph.js:136 #: public/js/frappe/views/workspace/blocks/spacer.js:44 -#: public/js/frappe/views/workspace/workspace.js:579 +#: public/js/frappe/views/workspace/workspace.js:608 #: public/js/frappe/widgets/base_widget.js:33 msgid "Drag" msgstr "" +#: public/js/form_builder/components/Tabs.vue:189 +msgid "Drag & Drop a section here from another tab" +msgstr "" + +#: public/js/frappe/file_uploader/FileUploader.vue:14 +msgid "Drag and drop files here or upload from" +msgstr "" + +#: public/js/print_format_builder/ConfigureColumns.vue:76 +msgid "Drag columns to set order. Column width is set in percentage. The total width should not be more than 100. Columns marked in red will be removed." +msgstr "" + #: printing/page/print_format_builder/print_format_builder_layout.html:3 msgid "Drag elements from the sidebar to add. Drag them back to trash." msgstr "" +#: public/js/workflow_builder/WorkflowBuilder.vue:296 +msgid "Drag to add state" +msgstr "" + +#: public/js/frappe/file_uploader/FileUploader.vue:172 +msgid "Drop files here" +msgstr "" + #. Label of the dropbox_access_token (Password) field in DocType 'Dropbox #. Settings' #: integrations/doctype/dropbox_settings/dropbox_settings.json @@ -7940,8 +8140,8 @@ msgstr "" #: public/js/frappe/form/grid_row_form.js:42 #: public/js/frappe/form/toolbar.js:388 -#: public/js/frappe/views/workspace/workspace.js:822 -#: public/js/frappe/views/workspace/workspace.js:989 +#: public/js/frappe/views/workspace/workspace.js:851 +#: public/js/frappe/views/workspace/workspace.js:1018 msgid "Duplicate" msgstr "" @@ -7957,8 +8157,8 @@ msgstr "" msgid "Duplicate Name" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:561 -#: public/js/frappe/views/workspace/workspace.js:823 +#: public/js/frappe/views/workspace/workspace.js:590 +#: public/js/frappe/views/workspace/workspace.js:852 msgid "Duplicate Workspace" msgstr "" @@ -7966,7 +8166,11 @@ msgstr "" msgid "Duplicate current row" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1004 +#: public/js/form_builder/components/Field.vue:245 +msgid "Duplicate field" +msgstr "" + +#: public/js/frappe/views/workspace/workspace.js:1033 msgid "Duplicate of {0} named as {1} is created successfully" msgstr "" @@ -8059,8 +8263,7 @@ msgstr "" #: public/js/frappe/form/toolbar.js:681 #: public/js/frappe/views/reports/query_report.js:815 #: public/js/frappe/views/reports/query_report.js:1634 -#: public/js/frappe/views/workspace/workspace.js:460 -#: public/js/frappe/views/workspace/workspace.js:816 +#: public/js/frappe/views/workspace/workspace.js:845 #: public/js/frappe/widgets/base_widget.js:64 #: public/js/frappe/widgets/chart_widget.js:299 #: public/js/frappe/widgets/number_card_widget.js:331 @@ -8115,6 +8318,10 @@ msgstr "" msgid "Edit Filters" msgstr "" +#: public/js/print_format_builder/PrintFormat.vue:29 +msgid "Edit Footer" +msgstr "" + #: printing/doctype/print_format/print_format.js:28 msgid "Edit Format" msgstr "" @@ -8124,14 +8331,27 @@ msgid "Edit Full Form" msgstr "" #: printing/page/print_format_builder/print_format_builder_field.html:26 +#: public/js/print_format_builder/Field.vue:83 msgid "Edit HTML" msgstr "" +#: public/js/print_format_builder/PrintFormat.vue:9 +msgid "Edit Header" +msgstr "" + #: printing/page/print_format_builder/print_format_builder.js:602 #: printing/page/print_format_builder/print_format_builder_layout.html:8 msgid "Edit Heading" msgstr "" +#: public/js/print_format_builder/LetterHeadEditor.vue:52 +msgid "Edit Letter Head" +msgstr "" + +#: public/js/print_format_builder/PrintFormat.vue:35 +msgid "Edit Letter Head Footer" +msgstr "" + #: public/js/frappe/widgets/widget_dialog.js:42 msgid "Edit Links" msgstr "" @@ -8181,7 +8401,7 @@ msgstr "" msgid "Edit Values" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:817 +#: public/js/frappe/views/workspace/workspace.js:846 msgid "Edit Workspace" msgstr "" @@ -8189,6 +8409,10 @@ msgstr "" msgid "Edit mode" msgstr "" +#: public/js/form_builder/components/Field.vue:254 +msgid "Edit the {0} Doctype" +msgstr "" + #: printing/page/print_format_builder/print_format_builder.js:713 msgid "Edit to add content" msgstr "" @@ -8296,7 +8520,7 @@ msgctxt "Email Account" msgid "Email Account" msgstr "" -#: email/doctype/email_account/email_account.py:332 +#: email/doctype/email_account/email_account.py:333 msgid "Email Account Disabled." msgstr "" @@ -8540,6 +8764,10 @@ msgstr "" msgid "Embed code copied" msgstr "" +#: public/js/form_builder/components/Section.vue:285 +msgid "Empty column" +msgstr "" + #. Label of the enable (Check) field in DocType 'Google Calendar' #. Label of the enable (Check) field in DocType 'Google Contacts' #. Label of the enable (Check) field in DocType 'Google Drive' @@ -8601,7 +8829,7 @@ msgstr "" #. Label of the enable_incoming (Check) field in DocType 'Email Account' #: email/doctype/email_account/email_account.json -#: email/doctype/email_account/email_account.py:218 +#: email/doctype/email_account/email_account.py:219 msgid "Enable Incoming" msgstr "" @@ -8614,7 +8842,7 @@ msgstr "" #. Label of the enable_outgoing (Check) field in DocType 'Email Account' #: core/doctype/user_email/user_email.json #: email/doctype/email_account/email_account.json -#: email/doctype/email_account/email_account.py:226 +#: email/doctype/email_account/email_account.py:227 msgid "Enable Outgoing" msgstr "" @@ -8755,7 +8983,7 @@ msgstr "" msgid "Enabled Scheduler" msgstr "" -#: email/doctype/email_account/email_account.py:987 +#: email/doctype/email_account/email_account.py:995 msgid "Enabled email inbox for user {0}" msgstr "" @@ -8768,7 +8996,7 @@ msgstr "" msgid "Enables Calendar and Gantt views." msgstr "" -#: email/doctype/email_account/email_account.js:256 +#: email/doctype/email_account/email_account.js:260 msgid "Enabling auto reply on an incoming email account will send automated replies to all the synchronized emails. Do you wish to continue?" msgstr "" @@ -9040,9 +9268,9 @@ msgstr "" msgid "Error in Header/Footer Script" msgstr "" -#: email/doctype/notification/notification.py:443 -#: email/doctype/notification/notification.py:559 -#: email/doctype/notification/notification.py:565 +#: email/doctype/notification/notification.py:504 +#: email/doctype/notification/notification.py:620 +#: email/doctype/notification/notification.py:626 msgid "Error in Notification" msgstr "" @@ -9050,11 +9278,11 @@ msgstr "" msgid "Error in print format on line {0}: {1}" msgstr "" -#: email/doctype/email_account/email_account.py:664 +#: email/doctype/email_account/email_account.py:665 msgid "Error while connecting to email account {0}" msgstr "" -#: email/doctype/notification/notification.py:556 +#: email/doctype/notification/notification.py:617 msgid "Error while evaluating Notification {0}. Please fix your template." msgstr "" @@ -9491,6 +9719,7 @@ msgstr "" msgid "Failed to enable scheduler: {0}" msgstr "" +#: email/doctype/notification/notification.py:103 #: integrations/doctype/webhook/webhook.py:139 msgid "Failed to evaluate conditions: {}" msgstr "" @@ -9523,6 +9752,14 @@ msgstr "" msgid "Failed to optimize image: {0}" msgstr "" +#: email/doctype/notification/notification.py:120 +msgid "Failed to render message: {}" +msgstr "" + +#: email/doctype/notification/notification.py:138 +msgid "Failed to render subject: {}" +msgstr "" + #: email/doctype/email_queue/email_queue.py:294 msgid "Failed to send email with subject:" msgstr "" @@ -9587,6 +9824,8 @@ msgstr "" #: core/doctype/docfield/docfield.json #: custom/doctype/custom_field/custom_field.json #: custom/doctype/customize_form_field/customize_form_field.json +#: public/js/form_builder/components/controls/FetchFromControl.vue:29 +#: public/js/form_builder/components/controls/FetchFromControl.vue:34 msgid "Fetch From" msgstr "" @@ -9625,7 +9864,7 @@ msgstr "" #: desk/doctype/number_card/number_card.json #: desk/doctype/onboarding_step/onboarding_step.json #: desk/page/leaderboard/leaderboard.js:131 -#: public/js/frappe/list/bulk_operations.js:297 +#: public/js/frappe/list/bulk_operations.js:327 #: public/js/frappe/list/list_view_permission_restrictions.html:3 #: public/js/frappe/views/reports/query_report.js:236 #: public/js/frappe/views/reports/query_report.js:1723 @@ -9662,6 +9901,15 @@ msgstr "" msgid "Field Name" msgstr "" +#: public/js/print_format_builder/PrintFormatSection.vue:141 +msgid "Field Orientation (Left-Right)" +msgstr "" + +#: public/js/print_format_builder/PrintFormatSection.vue:148 +msgid "Field Orientation (Top-Down)" +msgstr "" + +#: public/js/print_format_builder/PrintFormatControls.vue:233 #: public/js/print_format_builder/utils.js:69 msgid "Field Template" msgstr "" @@ -9707,7 +9955,7 @@ msgstr "" msgid "Field {0} not found." msgstr "" -#: email/doctype/notification/notification.py:348 +#: email/doctype/notification/notification.py:409 msgid "Field {0} on document {1} is neither a Mobile number field nor a Customer or User link" msgstr "" @@ -9785,6 +10033,7 @@ msgstr "" #: desk/doctype/list_view_settings/list_view_settings.json #: public/js/frappe/list/list_settings.js:132 #: public/js/frappe/views/kanban/kanban_settings.js:111 +#: public/js/print_format_builder/PrintFormatControls.vue:83 #: website/doctype/personal_data_deletion_step/personal_data_deletion_step.json #: website/doctype/web_template/web_template.json msgid "Fields" @@ -9843,6 +10092,10 @@ msgctxt "File" msgid "File" msgstr "" +#: public/js/frappe/file_uploader/FileUploader.vue:459 +msgid "File \"{0}\" was skipped because of invalid file type" +msgstr "" + #: core/doctype/file/utils.py:128 msgid "File '{0}' not found" msgstr "" @@ -9940,7 +10193,7 @@ msgstr "" #: desk/doctype/number_card/number_card.js:205 #: desk/doctype/number_card/number_card.js:336 #: email/doctype/auto_email_report/auto_email_report.js:90 -#: public/js/frappe/list/base_list.js:890 +#: public/js/frappe/list/base_list.js:887 #: public/js/frappe/ui/filters/filter_list.js:134 #: website/doctype/web_form/web_form.js:197 msgid "Filter" @@ -10120,6 +10373,10 @@ msgstr "" msgid "First set the name and save the record." msgstr "" +#: public/js/workflow_builder/WorkflowBuilder.vue:304 +msgid "Fit" +msgstr "" + #. Label of the flag (Data) field in DocType 'Language' #: core/doctype/language/language.json msgid "Flag" @@ -10237,6 +10494,7 @@ msgstr "" #. Label of the font_size (Data) field in DocType 'Website Theme' #: printing/doctype/print_format/print_format.json #: printing/doctype/print_settings/print_settings.json +#: public/js/print_format_builder/PrintFormatControls.vue:45 #: website/doctype/website_theme/website_theme.json msgid "Font Size" msgstr "" @@ -10574,7 +10832,7 @@ msgstr "" msgid "Frappe Mail" msgstr "" -#: email/doctype/email_account/email_account.py:538 +#: email/doctype/email_account/email_account.py:539 msgid "Frappe Mail OAuth Error" msgstr "" @@ -10593,6 +10851,11 @@ msgstr "" msgid "Frappe page builder using components" msgstr "" +#: public/js/frappe/file_uploader/ImageCropper.vue:112 +msgctxt "Image Cropper" +msgid "Free" +msgstr "" + #. Label of the frequency (Select) field in DocType 'Auto Repeat' #. Label of the frequency (Select) field in DocType 'Scheduled Job Type' #. Label of the document_follow_frequency (Select) field in DocType 'User' @@ -10769,12 +11032,12 @@ msgstr "" msgid "Generate New Report" msgstr "" -#: public/js/frappe/ui/toolbar/awesome_bar.js:368 +#: public/js/frappe/ui/toolbar/awesome_bar.js:391 msgid "Generate Random Password" msgstr "" #: public/js/frappe/ui/toolbar/toolbar.js:172 -#: public/js/frappe/utils/utils.js:1772 +#: public/js/frappe/utils/utils.js:1773 msgid "Generate Tracking URL" msgstr "" @@ -10787,7 +11050,7 @@ msgstr "" msgid "Geolocation" msgstr "" -#: email/doctype/notification/notification.js:193 +#: email/doctype/notification/notification.js:205 msgid "Get Alerts for Today" msgstr "" @@ -11057,6 +11320,7 @@ msgstr "" #. Label of the google_drive_section (Section Break) field in DocType 'Google #. Drive' #: integrations/doctype/google_drive/google_drive.json +#: public/js/frappe/file_uploader/FileUploader.vue:164 msgid "Google Drive" msgstr "" @@ -11097,6 +11361,7 @@ msgstr "" #. Label of the font (Data) field in DocType 'Print Format' #. Label of the google_font (Data) field in DocType 'Website Theme' #: printing/doctype/print_format/print_format.json +#: public/js/print_format_builder/PrintFormatControls.vue:28 #: website/doctype/website_theme/website_theme.json msgid "Google Font" msgstr "" @@ -11159,6 +11424,10 @@ msgstr "" msgid "Green" msgstr "" +#: public/js/form_builder/components/controls/TableControl.vue:53 +msgid "Grid Empty State" +msgstr "" + #: public/js/frappe/ui/keyboard.js:126 msgid "Grid Shortcuts" msgstr "" @@ -11188,7 +11457,7 @@ msgstr "" msgid "Group By Type" msgstr "" -#: desk/doctype/dashboard_chart/dashboard_chart.py:397 +#: desk/doctype/dashboard_chart/dashboard_chart.py:407 msgid "Group By field is required to create a dashboard chart" msgstr "" @@ -11250,6 +11519,7 @@ msgstr "" #: printing/doctype/letter_head/letter_head.json #: printing/doctype/print_format/print_format.json #: printing/doctype/print_format/print_format.py:91 +#: public/js/print_format_builder/Field.vue:86 #: website/doctype/blog_post/blog_post.json #: website/doctype/web_form_field/web_form_field.json #: website/doctype/web_page/web_page.js:92 @@ -11474,7 +11744,7 @@ msgstr "" msgid "Helvetica Neue" msgstr "" -#: public/js/frappe/utils/utils.js:1769 +#: public/js/frappe/utils/utils.js:1770 msgid "Here's your tracking URL" msgstr "" @@ -11512,9 +11782,10 @@ msgstr "" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' #: printing/doctype/print_format/print_format.json -#: public/js/frappe/views/workspace/workspace.js:828 +#: public/js/frappe/views/workspace/workspace.js:857 #: public/js/frappe/widgets/base_widget.js:46 #: public/js/frappe/widgets/base_widget.js:178 +#: public/js/print_format_builder/PrintFormatControls.vue:243 #: templates/includes/login/login.js:82 msgid "Hide" msgstr "" @@ -11620,7 +11891,7 @@ msgstr "" msgid "Hide Weekends" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:829 +#: public/js/frappe/views/workspace/workspace.js:858 msgid "Hide Workspace" msgstr "" @@ -11665,6 +11936,7 @@ msgid "Hint: Include symbols, numbers and capital letters in the password" msgstr "" #. Label of the home_tab (Tab Break) field in DocType 'Website Settings' +#: public/js/frappe/file_uploader/FileBrowser.vue:38 #: public/js/frappe/views/file/file_view.js:67 #: public/js/frappe/views/file/file_view.js:88 #: public/js/frappe/views/pageview.js:153 templates/doc.html:19 @@ -11747,6 +12019,10 @@ msgctxt "Label of name column in report" msgid "ID" msgstr "" +#: public/js/print_format_builder/PrintFormatControls.vue:199 +msgid "ID (name)" +msgstr "" + #. Description of the 'Field Name' (Data) field in DocType 'Property Setter' #: custom/doctype/property_setter/property_setter.json msgid "ID (name) of the entity whose property is to be set" @@ -11797,9 +12073,9 @@ msgstr "" #: desk/doctype/workspace_link/workspace_link.json #: desk/doctype/workspace_shortcut/workspace_shortcut.json #: integrations/doctype/social_login_key/social_login_key.json -#: public/js/frappe/views/workspace/workspace.js:646 -#: public/js/frappe/views/workspace/workspace.js:974 -#: public/js/frappe/views/workspace/workspace.js:1219 +#: public/js/frappe/views/workspace/workspace.js:675 +#: public/js/frappe/views/workspace/workspace.js:1003 +#: public/js/frappe/views/workspace/workspace.js:1248 #: workflow/doctype/workflow_state/workflow_state.json msgid "Icon" msgstr "" @@ -12536,9 +12812,9 @@ msgstr "" msgid "Indicator Color" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:653 -#: public/js/frappe/views/workspace/workspace.js:981 -#: public/js/frappe/views/workspace/workspace.js:1225 +#: public/js/frappe/views/workspace/workspace.js:682 +#: public/js/frappe/views/workspace/workspace.js:1010 +#: public/js/frappe/views/workspace/workspace.js:1254 msgid "Indicator color" msgstr "" @@ -12870,7 +13146,7 @@ msgstr "" msgid "Invalid Override" msgstr "" -#: integrations/doctype/connected_app/connected_app.py:167 +#: integrations/doctype/connected_app/connected_app.py:191 msgid "Invalid Parameters." msgstr "" @@ -12900,8 +13176,10 @@ msgstr "" msgid "Invalid Transition" msgstr "" -#: core/doctype/file/file.py:218 public/js/frappe/widgets/widget_dialog.js:604 -#: utils/csvutils.py:223 utils/csvutils.py:244 +#: core/doctype/file/file.py:218 +#: public/js/frappe/file_uploader/FileUploader.vue:511 +#: public/js/frappe/widgets/widget_dialog.js:604 utils/csvutils.py:223 +#: utils/csvutils.py:244 msgid "Invalid URL" msgstr "" @@ -12950,7 +13228,7 @@ msgid "Invalid filter: {0}" msgstr "" #: desk/doctype/dashboard/dashboard.py:67 -#: desk/doctype/dashboard_chart/dashboard_chart.py:413 +#: desk/doctype/dashboard_chart/dashboard_chart.py:423 msgid "Invalid json added in the custom options: {0}" msgstr "" @@ -12974,7 +13252,7 @@ msgstr "" msgid "Invalid request arguments" msgstr "" -#: integrations/doctype/connected_app/connected_app.py:173 +#: integrations/doctype/connected_app/connected_app.py:197 msgid "Invalid state." msgstr "" @@ -13651,12 +13929,14 @@ msgstr "" #: desk/doctype/workspace_quick_list/workspace_quick_list.json #: desk/doctype/workspace_shortcut/workspace_shortcut.json #: printing/page/print_format_builder/print_format_builder.js:474 +#: public/js/form_builder/components/Field.vue:208 #: public/js/frappe/widgets/widget_dialog.js:187 #: public/js/frappe/widgets/widget_dialog.js:255 #: public/js/frappe/widgets/widget_dialog.js:304 #: public/js/frappe/widgets/widget_dialog.js:421 #: public/js/frappe/widgets/widget_dialog.js:645 #: public/js/frappe/widgets/widget_dialog.js:678 +#: public/js/print_format_builder/Field.vue:18 #: templates/form_grid/fields.html:37 #: website/doctype/top_bar_item/top_bar_item.json #: website/doctype/web_template_field/web_template_field.json @@ -13885,7 +14165,7 @@ msgid "Leave blank to repeat always" msgstr "" #: core/doctype/communication/mixins.py:207 -#: email/doctype/email_account/email_account.py:714 +#: email/doctype/email_account/email_account.py:715 msgid "Leave this conversation" msgstr "" @@ -13904,6 +14184,7 @@ msgid "Left" msgstr "" #: printing/page/print_format_builder/print_format_builder.js:483 +#: public/js/print_format_builder/PrintFormatControls.vue:155 msgctxt "alignment" msgid "Left" msgstr "" @@ -13988,7 +14269,8 @@ msgstr "" #: printing/doctype/letter_head/letter_head.json #: printing/page/print/print.js:127 public/js/frappe/form/print_utils.js:18 #: public/js/frappe/form/templates/print_layout.html:16 -#: public/js/frappe/list/bulk_operations.js:51 +#: public/js/frappe/list/bulk_operations.js:52 +#: public/js/print_format_builder/LetterHeadEditor.vue:144 msgid "Letter Head" msgstr "" @@ -14005,6 +14287,7 @@ msgstr "" #. Label of the letter_head_name (Data) field in DocType 'Letter Head' #: printing/doctype/letter_head/letter_head.json +#: public/js/print_format_builder/LetterHeadEditor.vue:198 msgid "Letter Head Name" msgstr "" @@ -14043,6 +14326,10 @@ msgstr "" msgid "Level Name" msgstr "" +#: public/js/frappe/file_uploader/FileUploader.vue:94 +msgid "Library" +msgstr "" + #. Label of the license (Markdown Editor) field in DocType 'Package' #: core/doctype/package/package.json www/attribution.html:36 msgid "License" @@ -14145,6 +14432,7 @@ msgstr "" #: desk/doctype/desktop_icon/desktop_icon.json #: desk/doctype/notification_log/notification_log.json #: desk/doctype/workspace_link/workspace_link.json +#: public/js/frappe/file_uploader/FileUploader.vue:128 #: website/doctype/web_form_field/web_form_field.json #: website/doctype/web_template_field/web_template_field.json msgid "Link" @@ -14386,10 +14674,14 @@ msgctxt "Form timeline" msgid "Load More Communications" msgstr "" +#: public/js/frappe/file_uploader/TreeNode.vue:45 +msgid "Load more" +msgstr "" + #: core/page/permission_manager/permission_manager.js:165 #: public/js/frappe/form/controls/multicheck.js:13 #: public/js/frappe/form/linked_with.js:13 -#: public/js/frappe/list/base_list.js:498 +#: public/js/frappe/list/base_list.js:495 #: public/js/frappe/list/list_view.js:332 public/js/frappe/ui/listing.html:16 #: public/js/frappe/views/reports/query_report.js:1017 msgid "Loading" @@ -14411,6 +14703,7 @@ msgstr "" msgid "Loading versions..." msgstr "" +#: public/js/frappe/file_uploader/TreeNode.vue:45 #: public/js/frappe/form/sidebar/share.js:51 #: public/js/frappe/list/list_sidebar.js:218 #: public/js/frappe/list/list_sidebar_group_by.js:125 @@ -14501,7 +14794,7 @@ msgstr "" msgid "Login Failed please try again" msgstr "" -#: email/doctype/email_account/email_account.py:140 +#: email/doctype/email_account/email_account.py:141 msgid "Login Id is required" msgstr "" @@ -14989,7 +15282,7 @@ msgstr "" #. Option for the 'Priority' (Select) field in DocType 'ToDo' #. Label of the medium (Data) field in DocType 'Web Page View' #: desk/doctype/todo/todo.json public/js/frappe/form/sidebar/assign_to.js:220 -#: public/js/frappe/utils/utils.js:1731 +#: public/js/frappe/utils/utils.js:1732 #: website/doctype/web_page_view/web_page_view.json #: website/report/website_analytics/website_analytics.js:40 msgid "Medium" @@ -15002,6 +15295,7 @@ msgid "Meeting" msgstr "" #. Label of the meets_condition (Data) field in DocType 'Webhook' +#: email/doctype/notification/notification.py:79 #: integrations/doctype/webhook/webhook.json msgid "Meets Condition?" msgstr "" @@ -15065,6 +15359,7 @@ msgstr "" #: email/doctype/email_queue/email_queue.json #: email/doctype/newsletter/newsletter.json #: email/doctype/notification/notification.json +#: email/doctype/notification/notification.py:81 #: public/js/frappe/ui/messages.js:175 #: public/js/frappe/views/communication.js:114 #: workflow/doctype/workflow_document_state/workflow_document_state.json @@ -15113,7 +15408,7 @@ msgstr "" msgid "Message clipped" msgstr "" -#: email/doctype/email_account/email_account.py:333 +#: email/doctype/email_account/email_account.py:334 msgid "Message from server: {0}" msgstr "" @@ -15556,6 +15851,10 @@ msgstr "" msgid "Move To Trash" msgstr "" +#: public/js/form_builder/components/Section.vue:295 +msgid "Move current and all subsequent sections to a new tab" +msgstr "" + #: public/js/frappe/form/form.js:176 msgid "Move cursor to above row" msgstr "" @@ -15572,6 +15871,14 @@ msgstr "" msgid "Move cursor to previous column" msgstr "" +#: public/js/form_builder/components/Section.vue:294 +msgid "Move sections to new tab" +msgstr "" + +#: public/js/form_builder/components/Field.vue:237 +msgid "Move the current field and the following fields to a new column" +msgstr "" + #: public/js/frappe/form/grid_row.js:165 msgid "Move to Row Number" msgstr "" @@ -15635,6 +15942,10 @@ msgstr "" msgid "My Account" msgstr "" +#: public/js/frappe/file_uploader/FileUploader.vue:57 +msgid "My Device" +msgstr "" + #. Label of a standard navbar item #. Type: Route #: hooks.py @@ -15811,11 +16122,11 @@ msgstr "" msgid "Navigation Settings" msgstr "" -#: desk/doctype/workspace/workspace.py:301 +#: desk/doctype/workspace/workspace.py:305 msgid "Need Workspace Manager role to edit private workspace of other users" msgstr "" -#: desk/doctype/workspace/workspace.py:345 +#: desk/doctype/workspace/workspace.py:349 msgid "Need Workspace Manager role to hide/unhide public workspaces" msgstr "" @@ -15975,7 +16286,7 @@ msgstr "" msgid "New Workflow Name" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1186 +#: public/js/frappe/views/workspace/workspace.js:1215 msgid "New Workspace" msgstr "" @@ -16164,6 +16475,7 @@ msgstr "" #. Settings' #. Option for the 'Standard' (Select) field in DocType 'Print Format' #: core/doctype/page/page.json core/doctype/report/report.json +#: email/doctype/notification/notification.py:100 #: integrations/doctype/ldap_settings/ldap_settings.json #: integrations/doctype/webhook/webhook.py:140 #: printing/doctype/print_format/print_format.json @@ -16200,6 +16512,7 @@ msgstr "" #: core/doctype/data_export/exporter.py:162 #: email/doctype/auto_email_report/auto_email_report.py:288 +#: public/js/form_builder/components/controls/TableControl.vue:64 #: public/js/frappe/data_import/import_preview.js:142 #: public/js/frappe/form/grid.js:63 #: public/js/frappe/form/multi_select_dialog.js:225 @@ -16254,13 +16567,20 @@ msgstr "" msgid "No LDAP User found for email: {0}" msgstr "" +#: public/js/form_builder/components/EditableInput.vue:11 +#: public/js/form_builder/components/EditableInput.vue:14 +#: public/js/form_builder/components/Field.vue:209 +#: public/js/form_builder/components/controls/FetchFromControl.vue:55 +#: public/js/print_format_builder/Field.vue:24 +#: public/js/workflow_builder/components/ActionNode.vue:53 +#: public/js/workflow_builder/components/StateNode.vue:47 #: public/js/workflow_builder/store.js:51 msgid "No Label" msgstr "" #: printing/page/print/print.js:700 printing/page/print/print.js:782 -#: public/js/frappe/list/bulk_operations.js:90 -#: public/js/frappe/list/bulk_operations.js:140 utils/weasyprint.py:52 +#: public/js/frappe/list/bulk_operations.js:98 +#: public/js/frappe/list/bulk_operations.js:170 utils/weasyprint.py:52 msgid "No Letterhead" msgstr "" @@ -16340,7 +16660,7 @@ msgstr "" msgid "No address added yet." msgstr "" -#: email/doctype/notification/notification.js:203 +#: email/doctype/notification/notification.js:215 msgid "No alerts for today" msgstr "" @@ -16360,7 +16680,7 @@ msgstr "" msgid "No changes made because old and new name are the same." msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1491 +#: public/js/frappe/views/workspace/workspace.js:1520 msgid "No changes made on the page" msgstr "" @@ -16500,6 +16820,10 @@ msgstr "" msgid "No records will be exported" msgstr "" +#: email/doctype/notification/notification.py:133 +msgid "No subject" +msgstr "" + #: www/printview.py:442 msgid "No template found at path: {0}" msgstr "" @@ -16681,7 +17005,7 @@ msgstr "" msgid "Not allowed for {0}: {1}" msgstr "" -#: email/doctype/notification/notification.py:440 +#: email/doctype/notification/notification.py:501 msgid "Not allowed to attach {0} document, please enable Allow Print For {0} in Print Settings" msgstr "" @@ -16863,15 +17187,15 @@ msgstr "" msgid "Notification sent to" msgstr "" -#: email/doctype/notification/notification.py:345 +#: email/doctype/notification/notification.py:406 msgid "Notification: customer {0} has no Mobile number set" msgstr "" -#: email/doctype/notification/notification.py:331 +#: email/doctype/notification/notification.py:392 msgid "Notification: document {0} has no {1} number set (field: {2})" msgstr "" -#: email/doctype/notification/notification.py:340 +#: email/doctype/notification/notification.py:401 msgid "Notification: user {0} has no Mobile number set" msgstr "" @@ -17079,7 +17403,7 @@ msgstr "" msgid "OAuth Scope" msgstr "" -#: email/doctype/email_account/email_account.js:211 +#: email/doctype/email_account/email_account.js:215 msgid "OAuth has been enabled but not authorised. Please use \"Authorise API Access\" button to do the same." msgstr "" @@ -17092,6 +17416,10 @@ msgstr "" msgid "OPTIONS" msgstr "" +#: public/js/form_builder/components/Tabs.vue:190 +msgid "OR" +msgstr "" + #. Option for the 'Two Factor Authentication method' (Select) field in DocType #. 'System Settings' #: core/doctype/system_settings/system_settings.json @@ -17271,7 +17599,7 @@ msgstr "" msgid "One of" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1326 +#: public/js/frappe/views/workspace/workspace.js:1355 msgid "One of the child page with name {0} already exist in {1} Section. Please update the name of the child page first before moving" msgstr "" @@ -17313,7 +17641,7 @@ msgstr "" msgid "Only Workspace Manager can edit public workspaces" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:550 +#: public/js/frappe/views/workspace/workspace.js:579 msgid "Only Workspace Manager can sort or edit this page" msgstr "" @@ -17443,6 +17771,10 @@ msgstr "" msgid "Open a module or tool" msgstr "" +#: public/js/print_format_builder/Preview.vue:17 +msgid "Open in a new tab" +msgstr "" + #: public/js/frappe/list/list_view.js:1251 msgctxt "Description of a list view shortcut" msgid "Open list item" @@ -17495,6 +17827,7 @@ msgstr "" #: core/doctype/file/file.js:24 #: core/report/database_storage_usage_by_tables/database_storage_usage_by_tables.js:8 +#: public/js/frappe/file_uploader/FilePreview.vue:27 msgid "Optimize" msgstr "" @@ -17809,6 +18142,7 @@ msgid "Page" msgstr "" #. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field' +#: public/js/print_format_builder/PrintFormatSection.vue:63 #: website/doctype/web_form_field/web_form_field.json msgid "Page Break" msgstr "" @@ -17829,10 +18163,14 @@ msgstr "" msgid "Page HTML" msgstr "" -#: public/js/frappe/list/bulk_operations.js:72 +#: public/js/frappe/list/bulk_operations.js:73 msgid "Page Height (in mm)" msgstr "" +#: public/js/print_format_builder/PrintFormatControls.vue:5 +msgid "Page Margins" +msgstr "" + #. Label of the page_name (Data) field in DocType 'Page' #: core/doctype/page/page.json msgid "Page Name" @@ -17840,6 +18178,7 @@ msgstr "" #. Label of the page_number (Select) field in DocType 'Print Format' #: printing/doctype/print_format/print_format.json +#: public/js/print_format_builder/PrintFormatControls.vue:63 msgid "Page Number" msgstr "" @@ -17848,7 +18187,7 @@ msgstr "" msgid "Page Route" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1513 +#: public/js/frappe/views/workspace/workspace.js:1542 msgid "Page Saved Successfully" msgstr "" @@ -17862,7 +18201,7 @@ msgstr "" msgid "Page Shortcuts" msgstr "" -#: public/js/frappe/list/bulk_operations.js:65 +#: public/js/frappe/list/bulk_operations.js:66 msgid "Page Size" msgstr "" @@ -17871,7 +18210,7 @@ msgstr "" msgid "Page Title" msgstr "" -#: public/js/frappe/list/bulk_operations.js:79 +#: public/js/frappe/list/bulk_operations.js:80 msgid "Page Width (in mm)" msgstr "" @@ -17880,7 +18219,7 @@ msgid "Page has expired!" msgstr "" #: printing/doctype/print_settings/print_settings.py:70 -#: public/js/frappe/list/bulk_operations.js:98 +#: public/js/frappe/list/bulk_operations.js:106 msgid "Page height and width cannot be zero" msgstr "" @@ -17893,7 +18232,7 @@ msgstr "" msgid "Page to show on the website\n" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1313 +#: public/js/frappe/views/workspace/workspace.js:1342 msgid "Page with title {0} already exist." msgstr "" @@ -17910,9 +18249,9 @@ msgid "Parameter" msgstr "" #: public/js/frappe/model/model.js:142 -#: public/js/frappe/views/workspace/workspace.js:620 -#: public/js/frappe/views/workspace/workspace.js:948 -#: public/js/frappe/views/workspace/workspace.js:1195 +#: public/js/frappe/views/workspace/workspace.js:649 +#: public/js/frappe/views/workspace/workspace.js:977 +#: public/js/frappe/views/workspace/workspace.js:1224 msgid "Parent" msgstr "" @@ -17970,7 +18309,7 @@ msgstr "" msgid "Parent Table" msgstr "" -#: desk/doctype/dashboard_chart/dashboard_chart.py:393 +#: desk/doctype/dashboard_chart/dashboard_chart.py:403 msgid "Parent document type is required to create a dashboard chart" msgstr "" @@ -18062,7 +18401,7 @@ msgstr "" msgid "Password for Base DN" msgstr "" -#: email/doctype/email_account/email_account.py:182 +#: email/doctype/email_account/email_account.py:183 msgid "Password is required or select Awaiting Password" msgstr "" @@ -18419,7 +18758,7 @@ msgstr "" msgid "Plant" msgstr "" -#: email/doctype/email_account/email_account.py:535 +#: email/doctype/email_account/email_account.py:536 msgid "Please Authorize OAuth for Email Account {0}" msgstr "" @@ -18546,7 +18885,8 @@ msgstr "" #: desk/doctype/notification_log/notification_log.js:45 #: email/doctype/auto_email_report/auto_email_report.js:17 #: printing/page/print/print.js:635 printing/page/print/print.js:665 -#: public/js/frappe/utils/utils.js:1426 +#: public/js/frappe/list/bulk_operations.js:161 +#: public/js/frappe/utils/utils.js:1427 msgid "Please enable pop-ups" msgstr "" @@ -18687,6 +19027,10 @@ msgstr "" msgid "Please select a country code for field {1}." msgstr "" +#: public/js/frappe/file_uploader/FileUploader.vue:487 +msgid "Please select a file first." +msgstr "" + #: utils/file_manager.py:50 msgid "Please select a file or url" msgstr "" @@ -18765,7 +19109,7 @@ msgstr "" msgid "Please setup a message first" msgstr "" -#: email/doctype/email_account/email_account.py:423 +#: email/doctype/email_account/email_account.py:424 msgid "Please setup default Email Account from Settings > Email Account" msgstr "" @@ -18781,11 +19125,11 @@ msgstr "" msgid "Please specify a valid parent DocType for {0}" msgstr "" -#: email/doctype/notification/notification.py:88 +#: email/doctype/notification/notification.py:149 msgid "Please specify which date field must be checked" msgstr "" -#: email/doctype/notification/notification.py:91 +#: email/doctype/notification/notification.py:152 msgid "Please specify which value field must be checked" msgstr "" @@ -19011,6 +19355,7 @@ msgstr "" #: desk/doctype/custom_html_block/custom_html_block.json #: email/doctype/newsletter/newsletter.js:14 #: email/doctype/newsletter/newsletter.js:42 +#: email/doctype/notification/notification.js:184 #: integrations/doctype/webhook/webhook.json #: printing/doctype/print_style/print_style.json #: public/js/frappe/form/controls/markdown_editor.js:17 @@ -19046,6 +19391,14 @@ msgstr "" msgid "Preview of generated names" msgstr "" +#: public/js/frappe/views/render_preview.js:19 +msgid "Preview on" +msgstr "" + +#: public/js/print_format_builder/Preview.vue:103 +msgid "Preview type" +msgstr "" + #: email/doctype/email_group/email_group.js:90 msgid "Preview:" msgstr "" @@ -19120,7 +19473,7 @@ msgstr "" #: printing/page/print/print.js:65 public/js/frappe/form/success_action.js:81 #: public/js/frappe/form/templates/print_layout.html:46 #: public/js/frappe/form/toolbar.js:332 public/js/frappe/form/toolbar.js:344 -#: public/js/frappe/list/bulk_operations.js:87 +#: public/js/frappe/list/bulk_operations.js:95 #: public/js/frappe/views/reports/query_report.js:1640 #: public/js/frappe/views/reports/report_view.js:1460 #: public/js/frappe/views/treeview.js:469 www/printview.html:18 @@ -19132,7 +19485,7 @@ msgctxt "Button in list view actions menu" msgid "Print" msgstr "" -#: public/js/frappe/list/bulk_operations.js:47 +#: public/js/frappe/list/bulk_operations.js:48 msgid "Print Documents" msgstr "" @@ -19144,7 +19497,7 @@ msgstr "" #: email/doctype/notification/notification.json #: printing/doctype/print_format/print_format.json #: printing/page/print/print.js:94 printing/page/print/print.js:819 -#: public/js/frappe/list/bulk_operations.js:58 +#: public/js/frappe/list/bulk_operations.js:59 #: website/doctype/web_form/web_form.json msgid "Print Format" msgstr "" @@ -19360,6 +19713,7 @@ msgstr "" #: desk/doctype/custom_html_block/custom_html_block.json #: desk/doctype/event/event.json desk/doctype/kanban_board/kanban_board.json #: desk/doctype/note/note_list.js:8 +#: public/js/frappe/file_uploader/FilePreview.vue:34 msgid "Private" msgstr "" @@ -19462,9 +19816,9 @@ msgstr "" #: desk/doctype/event/event.json desk/doctype/note/note.json #: desk/doctype/note/note_list.js:6 desk/doctype/workspace/workspace.json #: public/js/frappe/views/interaction.js:78 -#: public/js/frappe/views/workspace/workspace.js:627 -#: public/js/frappe/views/workspace/workspace.js:955 -#: public/js/frappe/views/workspace/workspace.js:1201 +#: public/js/frappe/views/workspace/workspace.js:656 +#: public/js/frappe/views/workspace/workspace.js:984 +#: public/js/frappe/views/workspace/workspace.js:1230 msgid "Public" msgstr "" @@ -19870,7 +20224,7 @@ msgstr "" msgid "Re-Run in Console" msgstr "" -#: email/doctype/email_account/email_account.py:720 +#: email/doctype/email_account/email_account.py:721 msgid "Re:" msgstr "" @@ -20191,6 +20545,7 @@ msgstr "" #. Label of the reference_doctype (Link) field in DocType 'Discussion Topic' #: core/doctype/communication/communication.js:143 #: core/report/transaction_log_report/transaction_log_report.py:88 +#: public/js/frappe/views/render_preview.js:34 #: website/doctype/discussion_topic/discussion_topic.json msgid "Reference Doctype" msgstr "" @@ -20345,6 +20700,7 @@ msgstr "" #: public/js/frappe/views/treeview.js:475 #: public/js/frappe/widgets/chart_widget.js:291 #: public/js/frappe/widgets/number_card_widget.js:324 +#: public/js/print_format_builder/Preview.vue:24 msgid "Refresh" msgstr "" @@ -20505,10 +20861,37 @@ msgstr "" msgid "Remove all customizations?" msgstr "" +#: public/js/form_builder/components/Section.vue:286 +msgid "Remove all fields in the column" +msgstr "" + +#: public/js/form_builder/components/Section.vue:278 #: public/js/frappe/utils/datatable.js:9 +#: public/js/print_format_builder/PrintFormatSection.vue:120 msgid "Remove column" msgstr "" +#: public/js/form_builder/components/Field.vue:260 +msgid "Remove field" +msgstr "" + +#: public/js/form_builder/components/Section.vue:279 +msgid "Remove last column" +msgstr "" + +#: public/js/print_format_builder/PrintFormatSection.vue:130 +msgid "Remove page break" +msgstr "" + +#: public/js/form_builder/components/Section.vue:266 +#: public/js/print_format_builder/PrintFormatSection.vue:135 +msgid "Remove section" +msgstr "" + +#: public/js/form_builder/components/Tabs.vue:140 +msgid "Remove tab" +msgstr "" + #: core/doctype/file/file.py:156 msgid "Removed {0}" msgstr "" @@ -20533,6 +20916,10 @@ msgstr "" msgid "Renamed files and replaced code in controllers, please check!" msgstr "" +#: public/js/print_format_builder/PrintFormatSection.vue:17 +msgid "Render labels to the left and values to the right in this section" +msgstr "" + #: core/doctype/communication/communication.js:43 desk/doctype/todo/todo.js:36 msgid "Reopen" msgstr "" @@ -20716,6 +21103,11 @@ msgstr "" msgid "Report Name, Report Field and Fucntion are required to create a number card" msgstr "" +#. Label of the report_ref_doctype (Link) field in DocType 'Workspace Link' +#: desk/doctype/workspace_link/workspace_link.json +msgid "Report Ref DocType" +msgstr "" + #. Label of the report_reference_doctype (Data) field in DocType 'Onboarding #. Step' #: desk/doctype/onboarding_step/onboarding_step.json @@ -20973,6 +21365,10 @@ msgstr "" msgid "Reset Permissions for {0}?" msgstr "" +#: public/js/form_builder/components/Field.vue:114 +msgid "Reset To Default" +msgstr "" + #: public/js/frappe/utils/datatable.js:8 msgid "Reset sorting" msgstr "" @@ -21070,8 +21466,8 @@ msgctxt "Title of message showing restrictions in list view" msgid "Restrictions" msgstr "" -#: public/js/frappe/ui/toolbar/awesome_bar.js:356 -#: public/js/frappe/ui/toolbar/awesome_bar.js:371 +#: public/js/frappe/ui/toolbar/awesome_bar.js:379 +#: public/js/frappe/ui/toolbar/awesome_bar.js:394 msgid "Result" msgstr "" @@ -21179,6 +21575,7 @@ msgid "Right" msgstr "" #: printing/page/print_format_builder/print_format_builder.js:484 +#: public/js/print_format_builder/PrintFormatControls.vue:156 msgctxt "alignment" msgid "Right" msgstr "" @@ -21604,7 +22001,7 @@ msgstr "" msgid "SMS was not sent. Please contact Administrator." msgstr "" -#: email/doctype/email_account/email_account.py:205 +#: email/doctype/email_account/email_account.py:206 msgid "SMTP Server is required" msgstr "" @@ -21714,7 +22111,7 @@ msgstr "" #: public/js/frappe/views/kanban/kanban_view.js:343 #: public/js/frappe/views/reports/query_report.js:1802 #: public/js/frappe/views/reports/report_view.js:1640 -#: public/js/frappe/views/workspace/workspace.js:501 +#: public/js/frappe/views/workspace/workspace.js:530 #: public/js/frappe/widgets/base_widget.js:142 #: public/js/frappe/widgets/quick_list_widget.js:119 #: public/js/print_format_builder/print_format_builder.bundle.js:15 @@ -21769,7 +22166,7 @@ msgstr "" #: public/js/frappe/list/list_settings.js:40 #: public/js/frappe/views/kanban/kanban_settings.js:47 -#: public/js/frappe/views/workspace/workspace.js:513 +#: public/js/frappe/views/workspace/workspace.js:542 msgid "Saving" msgstr "" @@ -22019,14 +22416,30 @@ msgstr "" msgid "Search Priorities" msgstr "" +#: public/js/frappe/file_uploader/FileBrowser.vue:132 +msgid "Search Results" +msgstr "" + #: www/search.py:14 msgid "Search Results for" msgstr "" +#: public/js/frappe/file_uploader/FileBrowser.vue:13 +msgid "Search by filename or extension" +msgstr "" + #: core/doctype/doctype/doctype.py:1436 msgid "Search field {0} is not valid" msgstr "" +#: public/js/print_format_builder/PrintFormatControls.vue:87 +msgid "Search fields" +msgstr "" + +#: public/js/form_builder/components/AddFieldButton.vue:19 +msgid "Search fieldtypes..." +msgstr "" + #: public/js/frappe/ui/toolbar/search.js:50 #: public/js/frappe/ui/toolbar/search.js:69 msgid "Search for anything" @@ -22045,6 +22458,10 @@ msgstr "" msgid "Search or type a command ({0})" msgstr "" +#: public/js/form_builder/components/SearchBox.vue:8 +msgid "Search properties..." +msgstr "" + #: templates/includes/search_box.html:8 msgid "Search results for" msgstr "" @@ -22060,6 +22477,7 @@ msgid "Searching ..." msgstr "" #. Option for the 'Type' (Select) field in DocType 'Web Template' +#: public/js/form_builder/components/Section.vue:263 #: website/doctype/web_template/web_template.json msgid "Section" msgstr "" @@ -22086,6 +22504,16 @@ msgstr "" msgid "Section ID" msgstr "" +#: public/js/form_builder/components/Section.vue:28 +#: public/js/print_format_builder/PrintFormatSection.vue:8 +msgid "Section Title" +msgstr "" + +#: public/js/form_builder/components/Section.vue:217 +#: public/js/form_builder/components/Section.vue:240 +msgid "Section must have at least one column" +msgstr "" + #. Label of the sb3 (Section Break) field in DocType 'User' #: core/doctype/user/user.json msgid "Security Settings" @@ -22204,6 +22632,7 @@ msgid "Select Date Range" msgstr "" #. Label of the doc_type (Link) field in DocType 'Web Form' +#: public/js/form_builder/components/controls/FetchFromControl.vue:28 #: public/js/frappe/doctype/index.js:171 website/doctype/web_form/web_form.json msgid "Select DocType" msgstr "" @@ -22231,6 +22660,7 @@ msgstr "" msgid "Select Document Types to set which User Permissions are used to limit access." msgstr "" +#: public/js/form_builder/components/controls/FetchFromControl.vue:33 #: public/js/frappe/doctype/index.js:200 public/js/frappe/form/toolbar.js:771 msgid "Select Field" msgstr "" @@ -22353,6 +22783,10 @@ msgstr "" msgid "Select a document to preview request data" msgstr "" +#: public/js/form_builder/components/Sidebar.vue:56 +msgid "Select a field to edit its properties." +msgstr "" + #: public/js/frappe/views/treeview.js:337 msgid "Select a group node first." msgstr "" @@ -22379,7 +22813,7 @@ msgstr "" msgid "Select an image of approx width 150px with a transparent background for best results." msgstr "" -#: public/js/frappe/list/bulk_operations.js:35 +#: public/js/frappe/list/bulk_operations.js:36 msgid "Select atleast 1 record for printing" msgstr "" @@ -22402,11 +22836,11 @@ msgstr "" msgid "Select or drag across time slots to create a new event." msgstr "" -#: public/js/frappe/list/bulk_operations.js:209 +#: public/js/frappe/list/bulk_operations.js:239 msgid "Select records for assignment" msgstr "" -#: public/js/frappe/list/bulk_operations.js:230 +#: public/js/frappe/list/bulk_operations.js:260 msgid "Select records for removing assignment" msgstr "" @@ -22423,6 +22857,7 @@ msgstr "" #: public/js/frappe/form/multi_select_dialog.js:81 #: public/js/frappe/form/multi_select_dialog.js:281 #: public/js/frappe/list/list_view_select.js:153 +#: public/js/print_format_builder/Preview.vue:90 msgid "Select {0}" msgstr "" @@ -22870,6 +23305,7 @@ msgstr "" #: desk/doctype/dashboard_chart/dashboard_chart.js:381 #: desk/doctype/number_card/number_card.js:280 +#: public/js/form_builder/components/Field.vue:80 #: website/doctype/web_form/web_form.js:269 msgid "Set Filters" msgstr "" @@ -23044,7 +23480,7 @@ msgstr "" #: integrations/workspace/integrations/integrations.json #: public/js/frappe/form/templates/print_layout.html:25 #: public/js/frappe/ui/toolbar/toolbar.js:289 -#: public/js/frappe/views/workspace/workspace.js:529 +#: public/js/frappe/views/workspace/workspace.js:558 #: website/doctype/web_form/web_form.json #: website/doctype/web_page/web_page.json msgid "Settings" @@ -23815,7 +24251,7 @@ msgstr "" #. Label of the source (Data) field in DocType 'Web Page View' #. Label of the source (Small Text) field in DocType 'Website Route Redirect' -#: public/js/frappe/ui/toolbar/about.js:8 public/js/frappe/utils/utils.js:1715 +#: public/js/frappe/ui/toolbar/about.js:8 public/js/frappe/utils/utils.js:1716 #: website/doctype/web_page_view/web_page_view.json #: website/doctype/website_route_redirect/website_route_redirect.json #: website/report/website_analytics/website_analytics.js:38 @@ -23834,6 +24270,7 @@ msgid "Source Text" msgstr "" #: public/js/frappe/views/workspace/blocks/spacer.js:23 +#: public/js/print_format_builder/PrintFormatControls.vue:204 msgid "Spacer" msgstr "" @@ -23865,6 +24302,11 @@ msgstr "" msgid "Sr" msgstr "" +#: public/js/print_format_builder/Field.vue:143 +#: public/js/print_format_builder/Field.vue:164 +msgid "Sr No." +msgstr "" + #. Label of the stack_html (HTML) field in DocType 'Recorder Query' #: core/doctype/recorder/recorder.js:82 #: core/doctype/recorder_query/recorder_query.json @@ -24034,6 +24476,10 @@ msgstr "" msgid "State" msgstr "" +#: public/js/workflow_builder/components/Properties.vue:24 +msgid "State Properties" +msgstr "" + #. Label of the state (Data) field in DocType 'Address' #: contacts/doctype/address/address.json msgid "State/Province" @@ -24260,6 +24706,7 @@ msgstr "" #: email/doctype/email_template/email_template.json #: email/doctype/newsletter/newsletter.json #: email/doctype/notification/notification.json +#: email/doctype/notification/notification.py:80 #: public/js/frappe/views/communication.js:107 #: public/js/frappe/views/inbox/inbox_view.js:63 msgid "Subject" @@ -24866,6 +25313,10 @@ msgstr "" msgid "Tab Break" msgstr "" +#: public/js/form_builder/components/Tabs.vue:135 +msgid "Tab Label" +msgstr "" + #. Option for the 'Type' (Select) field in DocType 'DocField' #. Label of the table (Data) field in DocType 'Recorder Suggested Index' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -24942,7 +25393,7 @@ msgid "Tag Link" msgstr "" #: model/meta.py:52 public/js/frappe/form/templates/form_sidebar.html:100 -#: public/js/frappe/list/bulk_operations.js:400 +#: public/js/frappe/list/bulk_operations.js:430 #: public/js/frappe/list/list_sidebar.html:50 #: public/js/frappe/list/list_sidebar.js:228 public/js/frappe/model/meta.js:204 #: public/js/frappe/model/model.js:133 @@ -25140,7 +25591,7 @@ msgid "" "" msgstr "" -#: email/doctype/notification/notification.py:131 +#: email/doctype/notification/notification.py:192 msgid "The Condition '{0}' is invalid" msgstr "" @@ -25830,7 +26281,7 @@ msgstr "" msgid "Time in seconds to retain QR code image on server. Min:240" msgstr "" -#: desk/doctype/dashboard_chart/dashboard_chart.py:402 +#: desk/doctype/dashboard_chart/dashboard_chart.py:412 msgid "Time series based on is required to create a dashboard chart" msgstr "" @@ -25944,9 +26395,9 @@ msgstr "" #: desk/doctype/system_health_report_errors/system_health_report_errors.json #: desk/doctype/workspace/workspace.json #: email/doctype/email_group/email_group.json -#: public/js/frappe/views/workspace/workspace.js:613 -#: public/js/frappe/views/workspace/workspace.js:942 -#: public/js/frappe/views/workspace/workspace.js:1189 +#: public/js/frappe/views/workspace/workspace.js:642 +#: public/js/frappe/views/workspace/workspace.js:971 +#: public/js/frappe/views/workspace/workspace.js:1218 #: website/doctype/blog_category/blog_category.json #: website/doctype/blog_post/blog_post.json #: website/doctype/blog_settings/blog_settings.json @@ -26212,6 +26663,7 @@ msgstr "" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #: desk/doctype/form_tour_step/form_tour_step.json +#: public/js/print_format_builder/PrintFormatControls.vue:153 msgid "Top" msgstr "" @@ -26229,6 +26681,7 @@ msgstr "" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' #: desk/doctype/form_tour_step/form_tour_step.json #: printing/doctype/print_format/print_format.json +#: public/js/print_format_builder/PrintFormatControls.vue:245 msgid "Top Center" msgstr "" @@ -26239,6 +26692,7 @@ msgstr "" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' #: printing/doctype/print_format/print_format.json +#: public/js/print_format_builder/PrintFormatControls.vue:244 msgid "Top Left" msgstr "" @@ -26254,6 +26708,7 @@ msgstr "" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' #: desk/doctype/form_tour_step/form_tour_step.json #: printing/doctype/print_format/print_format.json +#: public/js/print_format_builder/PrintFormatControls.vue:246 msgid "Top Right" msgstr "" @@ -26326,6 +26781,10 @@ msgstr "" msgid "Total number of emails to sync in initial sync process " msgstr "" +#: public/js/print_format_builder/ConfigureColumns.vue:12 +msgid "Total:" +msgstr "" + #: public/js/frappe/views/reports/report_view.js:1178 msgid "Totals" msgstr "" @@ -26392,7 +26851,7 @@ msgstr "" msgid "Track milestones for any document" msgstr "" -#: public/js/frappe/utils/utils.js:1766 +#: public/js/frappe/utils/utils.js:1767 msgid "Tracking URL generated and copied to clipboard" msgstr "" @@ -26412,6 +26871,10 @@ msgstr "" msgid "Transaction Log Report" msgstr "" +#: public/js/workflow_builder/components/Properties.vue:19 +msgid "Transition Properties" +msgstr "" + #. Label of the transition_rules (Section Break) field in DocType 'Workflow' #: workflow/doctype/workflow/workflow.json msgid "Transition Rules" @@ -26757,7 +27220,7 @@ msgstr "" msgid "Unhandled Emails" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:570 +#: public/js/frappe/views/workspace/workspace.js:599 msgid "Unhide Workspace" msgstr "" @@ -26879,7 +27342,7 @@ msgstr "" #: printing/page/print_format_builder/print_format_builder.js:670 #: printing/page/print_format_builder/print_format_builder.js:757 #: public/js/frappe/form/grid_row.js:404 -#: public/js/frappe/views/workspace/workspace.js:661 +#: public/js/frappe/views/workspace/workspace.js:690 msgid "Update" msgstr "" @@ -26889,7 +27352,7 @@ msgstr "" msgid "Update Amendment Naming" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:610 +#: public/js/frappe/views/workspace/workspace.js:639 msgid "Update Details" msgstr "" @@ -26945,7 +27408,7 @@ msgstr "" msgid "Update from Frappe Cloud" msgstr "" -#: public/js/frappe/list/bulk_operations.js:345 +#: public/js/frappe/list/bulk_operations.js:375 msgid "Update {0} records" msgstr "" @@ -26966,7 +27429,7 @@ msgstr "" msgid "Updated To A New Version 🎉" msgstr "" -#: public/js/frappe/list/bulk_operations.js:342 +#: public/js/frappe/list/bulk_operations.js:372 msgid "Updated successfully" msgstr "" @@ -27019,6 +27482,18 @@ msgstr "" msgid "Upload" msgstr "" +#: public/js/print_format_builder/LetterHeadEditor.vue:93 +msgid "Upload Image" +msgstr "" + +#: public/js/frappe/file_uploader/FileUploader.vue:193 +msgid "Upload file" +msgstr "" + +#: public/js/frappe/file_uploader/FileUploader.vue:196 +msgid "Upload {0} files" +msgstr "" + #. Label of the uploaded_to_dropbox (Check) field in DocType 'File' #: core/doctype/file/file.json msgid "Uploaded To Dropbox" @@ -27485,7 +27960,7 @@ msgstr "" msgid "User {0} does not have doctype access via role permission for document {1}" msgstr "" -#: desk/doctype/workspace/workspace.py:253 +#: desk/doctype/workspace/workspace.py:257 msgid "User {0} does not have the permission to create a Workspace." msgstr "" @@ -27630,8 +28105,8 @@ msgstr "" #: email/doctype/auto_email_report/auto_email_report.js:92 #: integrations/doctype/query_parameters/query_parameters.json #: integrations/doctype/webhook_header/webhook_header.json -#: public/js/frappe/list/bulk_operations.js:306 -#: public/js/frappe/list/bulk_operations.js:368 +#: public/js/frappe/list/bulk_operations.js:336 +#: public/js/frappe/list/bulk_operations.js:398 #: public/js/frappe/list/list_view_permission_restrictions.html:4 #: website/doctype/web_form/web_form.js:197 #: website/doctype/website_meta_tag/website_meta_tag.json @@ -27730,7 +28205,7 @@ msgid "Verdana" msgstr "" #: twofactor.py:352 -msgid "Verfication Code" +msgid "Verification Code" msgstr "" #: templates/emails/delete_data_confirmation.html:10 @@ -28024,7 +28499,7 @@ msgstr "" msgid "Web Page Block" msgstr "" -#: public/js/frappe/utils/utils.js:1707 +#: public/js/frappe/utils/utils.js:1708 msgid "Web Page URL" msgstr "" @@ -28417,6 +28892,7 @@ msgstr "" #: custom/doctype/customize_form_field/customize_form_field.json #: desk/doctype/dashboard_chart_link/dashboard_chart_link.json #: printing/page/print_format_builder/print_format_builder_column_selector.html:8 +#: public/js/print_format_builder/ConfigureColumns.vue:11 msgid "Width" msgstr "" @@ -28543,6 +29019,10 @@ msgstr "" msgid "Workflow Data" msgstr "" +#: public/js/workflow_builder/components/Properties.vue:42 +msgid "Workflow Details" +msgstr "" + #. Name of a DocType #: workflow/doctype/workflow_document_state/workflow_document_state.json msgid "Workflow Document State" @@ -28650,19 +29130,19 @@ msgstr "" msgid "Workspace Shortcut" msgstr "" -#: desk/doctype/workspace/workspace.py:285 +#: desk/doctype/workspace/workspace.py:289 msgid "Workspace not found" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1279 +#: public/js/frappe/views/workspace/workspace.js:1308 msgid "Workspace {0} Created Successfully" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:908 +#: public/js/frappe/views/workspace/workspace.js:937 msgid "Workspace {0} Deleted Successfully" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:686 +#: public/js/frappe/views/workspace/workspace.js:715 msgid "Workspace {0} Edited Successfully" msgstr "" @@ -28765,6 +29245,8 @@ msgstr "" #. Settings' #. Option for the 'Standard' (Select) field in DocType 'Print Format' #: core/doctype/page/page.json core/doctype/report/report.json +#: email/doctype/notification/notification.py:94 +#: email/doctype/notification/notification.py:100 #: integrations/doctype/ldap_settings/ldap_settings.json #: integrations/doctype/webhook/webhook.py:130 #: integrations/doctype/webhook/webhook.py:140 @@ -28868,7 +29350,7 @@ msgstr "" msgid "You are only allowed to update order, do not remove or add apps." msgstr "" -#: email/doctype/email_account/email_account.js:245 +#: email/doctype/email_account/email_account.js:249 msgid "You are selecting Sync Option as ALL, It will resync all read as well as unread message from server. This may also cause the duplication of Communication (emails)." msgstr "" @@ -28925,7 +29407,7 @@ msgstr "" msgid "You can only insert images in Markdown fields" msgstr "" -#: public/js/frappe/list/bulk_operations.js:41 +#: public/js/frappe/list/bulk_operations.js:42 msgid "You can only print upto {0} documents at a time" msgstr "" @@ -28975,7 +29457,7 @@ msgctxt "Form timeline" msgid "You cancelled this document {1}" msgstr "" -#: desk/doctype/dashboard_chart/dashboard_chart.py:406 +#: desk/doctype/dashboard_chart/dashboard_chart.py:416 msgid "You cannot create a dashboard chart from single DocTypes" msgstr "" @@ -29082,7 +29564,7 @@ msgstr "" msgid "You have hit the row size limit on database table: {0}" msgstr "" -#: public/js/frappe/list/bulk_operations.js:382 +#: public/js/frappe/list/bulk_operations.js:412 msgid "You have not entered a value. The field will be set to empty." msgstr "" @@ -29179,7 +29661,7 @@ msgstr "" msgid "You need to select indexes you want to add first." msgstr "" -#: email/doctype/email_account/email_account.py:153 +#: email/doctype/email_account/email_account.py:154 msgid "You need to set one IMAP folder for {0}" msgstr "" @@ -29200,7 +29682,7 @@ msgstr "" msgid "You seem good to go!" msgstr "" -#: public/js/frappe/list/bulk_operations.js:30 +#: public/js/frappe/list/bulk_operations.js:31 msgid "You selected Draft or Cancelled documents" msgstr "" @@ -29238,7 +29720,7 @@ msgstr "" msgid "Your Name" msgstr "" -#: public/js/frappe/list/bulk_operations.js:123 +#: public/js/frappe/list/bulk_operations.js:132 msgid "Your PDF is ready for download" msgstr "" @@ -29985,7 +30467,7 @@ msgstr "" msgid "via Google Meet" msgstr "" -#: email/doctype/notification/notification.py:220 +#: email/doctype/notification/notification.py:281 msgid "via Notification" msgstr "" @@ -30066,8 +30548,8 @@ msgstr "" msgid "{0} ({1}) - {2}%" msgstr "" -#: public/js/frappe/ui/toolbar/awesome_bar.js:348 -#: public/js/frappe/ui/toolbar/awesome_bar.js:351 +#: public/js/frappe/ui/toolbar/awesome_bar.js:371 +#: public/js/frappe/ui/toolbar/awesome_bar.js:374 msgid "{0} = {1}" msgstr "" @@ -30439,7 +30921,7 @@ msgstr "" msgid "{0} is like {1}" msgstr "" -#: email/doctype/email_account/email_account.py:186 +#: email/doctype/email_account/email_account.py:187 msgid "{0} is mandatory" msgstr "" @@ -30519,7 +31001,7 @@ msgstr "" msgid "{0} is one of {1}" msgstr "" -#: email/doctype/email_account/email_account.py:293 model/naming.py:217 +#: email/doctype/email_account/email_account.py:294 model/naming.py:217 #: printing/doctype/print_format/print_format.py:91 utils/csvutils.py:153 msgid "{0} is required" msgstr "" @@ -30890,7 +31372,7 @@ msgstr "" #: contacts/doctype/address/address.js:35 #: contacts/doctype/contact/contact.js:88 -#: public/js/frappe/views/workspace/workspace.js:170 +#: public/js/frappe/views/workspace/workspace.js:211 msgid "{0}: {1}" msgstr "" @@ -30964,8 +31446,8 @@ msgstr "" msgid "{} field cannot be empty." msgstr "" -#: email/doctype/email_account/email_account.py:216 -#: email/doctype/email_account/email_account.py:224 +#: email/doctype/email_account/email_account.py:217 +#: email/doctype/email_account/email_account.py:225 msgid "{} has been disabled. It can only be enabled if {} is checked." msgstr "" @@ -30985,3 +31467,8 @@ msgstr "" msgid "{} not found in PATH! This is required to take a backup." msgstr "" +#: public/js/frappe/file_uploader/FileBrowser.vue:5 +#: public/js/frappe/file_uploader/WebLink.vue:4 +msgid "← Back to upload files" +msgstr "" + From 6eaf381dcc5c5c328db8f956b67b9df5746e280c Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Tue, 30 Jul 2024 20:22:28 +0200 Subject: [PATCH 07/23] fix: make workspace buttons translatable Resolves https://github.com/frappe/frappe/pull/27221/files#r1696441166 --- frappe/public/js/frappe/views/workspace/workspace.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index ec1f179cbc..7953e69e0d 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -99,15 +99,13 @@ frappe.views.Workspace = class Workspace { - + `).appendTo(this.body); From 6da35eca4570125c16112948d44fc0f76179594d Mon Sep 17 00:00:00 2001 From: Raffael Meyer <14891507+barredterra@users.noreply.github.com> Date: Tue, 30 Jul 2024 21:06:12 +0200 Subject: [PATCH 08/23] fix: disable fuzzy matching while updating po files (#27257) --- frappe/gettext/translate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/gettext/translate.py b/frappe/gettext/translate.py index bf5b60f0b8..3e43e55f7a 100644 --- a/frappe/gettext/translate.py +++ b/frappe/gettext/translate.py @@ -218,7 +218,7 @@ def update_po(target_app: str | None = None, locale: str | None = None): pot_catalog = get_catalog(app) for locale in locales: po_catalog = get_catalog(app, locale) - po_catalog.update(pot_catalog) + po_catalog.update(pot_catalog, no_fuzzy_matching=True) po_path = write_catalog(app, po_catalog, locale) print(f"PO file modified at {po_path}") From 88ba015775249bbfb7e01af780daa8b6cd5e43e1 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Tue, 30 Jul 2024 21:33:13 +0200 Subject: [PATCH 09/23] fix: layout of checkboxes in print sidebar --- frappe/public/scss/desk/print_preview.scss | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/frappe/public/scss/desk/print_preview.scss b/frappe/public/scss/desk/print_preview.scss index 5d7f88585b..d345a8819a 100644 --- a/frappe/public/scss/desk/print_preview.scss +++ b/frappe/public/scss/desk/print_preview.scss @@ -45,8 +45,16 @@ .layout-side-section.print-preview-sidebar { padding-right: var(--padding-md); + .checkbox label { + align-items: unset; + } + + .input-area { + margin-top: 0.2rem; + } + .label-area { - white-space: nowrap; + white-space: unset; } } From 33a84b1c23f7de45b4b6d4e1328f06f28dccdd4f Mon Sep 17 00:00:00 2001 From: "Nihantra C. Patel" <141945075+Nihantra-Patel@users.noreply.github.com> Date: Wed, 31 Jul 2024 12:26:08 +0530 Subject: [PATCH 10/23] fix: Email Sent Twice (#27227) * fix: Email Sent Twice * fix: Email Sent Twice * fix: Email Sent Twice --- frappe/core/doctype/user/user.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index bc339432ec..225175e417 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -362,7 +362,11 @@ class User(Document): user=self.name, pwd=new_password, logout_all_sessions=self.logout_all_sessions ) - if not self.flags.no_welcome_mail and cint(self.send_welcome_email): + if ( + not self.flags.no_welcome_mail + and cint(self.send_welcome_email) + and not self.flags.email_sent + ): self.send_welcome_mail_to_user() self.flags.email_sent = 1 if frappe.session.user != "Guest": From 43cd2ce97cbfff5354b942a1ff92b9894e540c33 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 31 Jul 2024 16:27:59 +0530 Subject: [PATCH 11/23] fix: fetch from not working in quick entry form --- frappe/public/js/frappe/form/controls/link.js | 84 +++++++++++++++++-- 1 file changed, 77 insertions(+), 7 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index 62e5e4de67..c59d2edc7c 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -638,13 +638,18 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat if (value) { field_value = response[source_field]; } - frappe.model.set_value( - this.df.parent, - this.docname, - target_field, - field_value, - this.df.fieldtype - ); + + if (this.layout?.set_value) { + this.layout.set_value(target_field, field_value); + } else { + frappe.model.set_value( + this.df.parent, + this.docname, + target_field, + field_value, + this.df.fieldtype + ); + } } }; @@ -669,8 +674,73 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat } } + fetch_map_for_quick_entry() { + let me = this; + let fetch_map = {}; + function add_fetch(link_field, source_field, target_field, target_doctype) { + if (!target_doctype) target_doctype = "*"; + + if (!me.layout.fetch_dict) { + me.layout.fetch_dict = {}; + } + + // Target field kept as key because source field could be non-unique + me.layout.fetch_dict.setDefault(target_doctype, {}).setDefault(link_field, {})[ + target_field + ] = source_field; + } + + function setup_add_fetch(df) { + let is_read_only_field = + [ + "Data", + "Read Only", + "Text", + "Small Text", + "Currency", + "Check", + "Text Editor", + "Attach Image", + "Code", + "Link", + "Float", + "Int", + "Date", + "Select", + "Duration", + "Time", + ].includes(df.fieldtype) || + df.read_only == 1 || + df.is_virtual == 1; + + if (is_read_only_field && df.fetch_from && df.fetch_from.indexOf(".") != -1) { + var parts = df.fetch_from.split("."); + add_fetch(parts[0], parts[1], df.fieldname, df.parent); + } + } + + $.each(this.layout.fields, (i, field) => setup_add_fetch(field)); + + for (const key of ["*", this.df.parent]) { + if (!this.layout.fetch_dict) { + this.layout.fetch_dict = {}; + } + if (this.layout.fetch_dict[key] && this.layout.fetch_dict[key][this.df.fieldname]) { + Object.assign(fetch_map, this.layout.fetch_dict[key][this.df.fieldname]); + } + } + + return fetch_map; + } + get fetch_map() { const fetch_map = {}; + + // Create fetch_map from quick entry fields + if (!this.frm && this.layout && this.layout.fields) { + return this.fetch_map_for_quick_entry(); + } + if (!this.frm) return fetch_map; for (const key of ["*", this.df.parent]) { From b8e4f30e59b37fec58dd3872178d1b57ed611b6a Mon Sep 17 00:00:00 2001 From: s-aga-r Date: Wed, 31 Jul 2024 16:52:19 +0530 Subject: [PATCH 12/23] perf: use seperate endpoint to send newsletters (#27268) --- .../email/doctype/email_queue/email_queue.py | 20 ++++-- frappe/email/frappemail.py | 63 ++++++++----------- 2 files changed, 39 insertions(+), 44 deletions(-) diff --git a/frappe/email/doctype/email_queue/email_queue.py b/frappe/email/doctype/email_queue/email_queue.py index dbf4ba68ad..8f02a6e5f2 100644 --- a/frappe/email/doctype/email_queue/email_queue.py +++ b/frappe/email/doctype/email_queue/email_queue.py @@ -171,11 +171,18 @@ class EmailQueue(Document): method(self, self.sender, recipient.recipient, message) elif not frappe.flags.in_test or frappe.flags.testing_email: if ctx.email_account_doc.service == "Frappe Mail": - ctx.frappe_mail_client.send_raw( - sender=self.sender, - recipients=recipient.recipient, - message=message.decode("utf-8"), - ) + if self.reference_doctype == "Newsletter": + ctx.frappe_mail_client.send_newsletter( + sender=self.sender, + recipients=recipient.recipient, + message=message.decode("utf-8"), + ) + else: + ctx.frappe_mail_client.send_raw( + sender=self.sender, + recipients=recipient.recipient, + message=message.decode("utf-8"), + ) else: ctx.smtp_server.session.sendmail( from_addr=self.sender, @@ -780,7 +787,8 @@ class QueueBuilder: with suppress(Exception): q.send(smtp_server_instance=smtp_server_instance, frappe_mail_client=frappe_mail_client) - smtp_server_instance.quit() + if smtp_server_instance: + smtp_server_instance.quit() def as_dict(self, include_recipients=True): email_account = self.get_outgoing_email_account() diff --git a/frappe/email/frappemail.py b/frappe/email/frappemail.py index e9d792aae6..a4bcf9b5c2 100644 --- a/frappe/email/frappemail.py +++ b/frappe/email/frappemail.py @@ -1,5 +1,5 @@ from datetime import datetime -from typing import TYPE_CHECKING +from typing import Any from urllib.parse import urljoin import pytz @@ -9,9 +9,6 @@ from frappe import _ from frappe.frappeclient import FrappeClient, FrappeOAuth2Client from frappe.utils import convert_utc_to_system_timezone, get_datetime, get_datetime_str, get_system_timezone -if TYPE_CHECKING: - from requests import Response - class FrappeMail: """Class to interact with the Frappe Mail API.""" @@ -29,6 +26,9 @@ class FrappeMail: self.api_key = api_key self.api_secret = api_secret self.access_token = access_token + self.client = self.get_client( + self.site, self.mailbox, self.api_key, self.api_secret, self.access_token + ) @staticmethod def get_client( @@ -65,64 +65,51 @@ class FrappeMail: headers: dict[str, str] | None = None, timeout: int | tuple[int, int] = (60, 120), raise_exception: bool = True, - ) -> "Response": - """Makes a HTTP request to the Frappe Mail API.""" + ) -> Any | None: + """Makes a request to the Frappe Mail API.""" - url = urljoin(self.site, endpoint) - client = self.get_client(self.site, self.mailbox, self.api_key, self.api_secret, self.access_token) + url = urljoin(self.client.url, endpoint) headers = headers or {} - headers.update(client.headers) + headers.update(self.client.headers) - response = client.session.request( + response = self.client.session.request( method=method, url=url, params=params, data=data, json=json, headers=headers, timeout=timeout ) - if not response.ok and raise_exception: - error_msg = response.text - if response.status_code == 401: - if self.access_token: - error_msg = _("Authentication Error: Reauthorize OAuth for Email Account {0}.").format( - frappe.bold(self.mailbox) - ) - else: - error_msg = _("Authentication Error: Invalid API Key or Secret") - - frappe.throw(title=_("Frappe Mail"), msg=error_msg) - - return response + return self.client.post_process(response) def validate(self, for_outbound: bool = False, for_inbound: bool = False) -> None: """Validates the mailbox for inbound and outbound emails.""" - endpoint = "auth/validate" + endpoint = "/api/method/mail.api.auth.validate" data = {"mailbox": self.mailbox, "for_outbound": for_outbound, "for_inbound": for_inbound} - response = self.request("POST", endpoint=endpoint, data=data, raise_exception=False) + self.request("POST", endpoint=endpoint, data=data) - if not response.ok: - if error_msg := response.json().get("exception"): - if error_msg == "frappe.exceptions.AuthenticationError": - error_msg += ": Invalid API Key or Secret" - - frappe.throw(title="Frappe Mail", msg=error_msg) - - def send_raw(self, sender: str, recipients: str, message: str) -> None: + def send_raw(self, sender: str, recipients: str | list, message: str) -> None: """Sends an email using the Frappe Mail API.""" - endpoint = "outbound/send-raw" - json_data = {"from": sender, "to": recipients, "raw_message": message} - self.request("POST", endpoint=endpoint, json=json_data) + endpoint = "/api/method/mail.api.outbound.send_raw" + data = {"from_": sender, "to": recipients, "raw_message": message} + self.request("POST", endpoint=endpoint, data=data) + + def send_newsletter(self, sender: str, recipients: str | list, message: str) -> None: + """Sends an newsletter using the Frappe Mail API.""" + + endpoint = "/api/method/mail.api.outbound.send_newsletter" + data = {"from_": sender, "to": recipients, "raw_message": message} + self.request("POST", endpoint=endpoint, json=data) def pull_raw(self, limit: int = 50, last_synced_at: str | None = None) -> dict[str, list[str] | str]: """Pulls emails from the mailbox using the Frappe Mail API.""" - endpoint = "inbound/pull-raw" + endpoint = "/api/method/mail.api.inbound.pull_raw" if last_synced_at: last_synced_at = convert_to_utc(last_synced_at) data = {"mailbox": self.mailbox, "limit": limit, "last_synced_at": last_synced_at} headers = {"X-Site": frappe.utils.get_url()} - response = self.request("GET", endpoint=endpoint, data=data, headers=headers).json()["message"] + response = self.request("GET", endpoint=endpoint, data=data, headers=headers) last_synced_at = convert_utc_to_system_timezone(get_datetime(response["last_synced_at"])) return {"latest_messages": response["mails"], "last_synced_at": last_synced_at} From 5e94b05a7f6baa5580fe073cff81824bc1683de8 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 31 Jul 2024 17:25:54 +0530 Subject: [PATCH 13/23] fix: set fields value if this.frm exist --- frappe/public/js/frappe/form/controls/link.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index c59d2edc7c..e391706161 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -641,7 +641,7 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat if (this.layout?.set_value) { this.layout.set_value(target_field, field_value); - } else { + } else if (this.frm) { frappe.model.set_value( this.df.parent, this.docname, From cafa9fdcade68beae2b3235df1a7239406afd0c0 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Thu, 1 Aug 2024 17:01:40 +0530 Subject: [PATCH 14/23] fix: header block is not translatable --- frappe/public/js/frappe/views/workspace/blocks/header.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/workspace/blocks/header.js b/frappe/public/js/frappe/views/workspace/blocks/header.js index b5b42796d4..9da404c4c7 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/header.js +++ b/frappe/public/js/frappe/views/workspace/blocks/header.js @@ -104,7 +104,7 @@ export default class Header extends Block { this._data = this.normalizeData(data); if (data.text !== undefined) { - let text = this._data.text || ""; + let text = __(this._data.text) || ""; const contains_html_tag = /<[a-z][\s\S]*>/i.test(text); this._element.innerHTML = contains_html_tag ? text From c308279158ecc4437bd613c8e43adf9d746cbadf Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 2 Aug 2024 12:05:07 +0530 Subject: [PATCH 15/23] fix: translate header inner text if it is a simple text --- frappe/public/js/frappe/views/workspace/blocks/header.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/frappe/public/js/frappe/views/workspace/blocks/header.js b/frappe/public/js/frappe/views/workspace/blocks/header.js index 9da404c4c7..072b054bad 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/header.js +++ b/frappe/public/js/frappe/views/workspace/blocks/header.js @@ -106,6 +106,14 @@ export default class Header extends Block { if (data.text !== undefined) { let text = __(this._data.text) || ""; const contains_html_tag = /<[a-z][\s\S]*>/i.test(text); + + // apply translation to header text + let div = document.createElement("div"); + div.innerHTML = text; + let only_text = div.innerText; + only_text = frappe.utils.escape_html(only_text); + text = text.replace(only_text, __(only_text)); + this._element.innerHTML = contains_html_tag ? text : `${text}`; From a44c88b0848aa066a989df1dc2d89a160cf14b01 Mon Sep 17 00:00:00 2001 From: "Nihantra C. Patel" <141945075+Nihantra-Patel@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:32:15 +0530 Subject: [PATCH 16/23] fix: child table filter --- frappe/public/js/frappe/form/grid_row.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index 5c0a5cbe22..a12aab162b 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -840,10 +840,12 @@ export default class GridRow { delete this.grid.filter[df.fieldname]; } - this.grid.grid_sortable.option( - "disabled", - Object.keys(this.grid.filter).length !== 0 - ); + if (this.grid.grid_sortable) { + this.grid.grid_sortable.option( + "disabled", + Object.keys(this.grid.filter).length !== 0 + ); + } this.grid.prevent_build = true; this.grid.grid_pagination.go_to_page(1); From 84fd056439a132ccee07c93af69809a172db2d49 Mon Sep 17 00:00:00 2001 From: Osama Shaikh <31347530+0samashaikh@users.noreply.github.com> Date: Fri, 2 Aug 2024 16:18:36 +0530 Subject: [PATCH 17/23] fix: Allow track changes for Roles and Allowed Modules child tables in User DocType (#26841) * fix: Allow track changes for Roles and Allowed Modules child tables in User DocType * fix: lint * feat: config in docfield to show field in timeline * fix: enable 'Show on Timeline' only when hidden is checked --- frappe/core/doctype/docfield/docfield.json | 12 +++++++-- frappe/core/doctype/docfield/docfield.py | 1 + frappe/core/doctype/user/user.json | 8 +++--- .../version_timeline_content_builder.js | 25 ++++++++++++++----- 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/frappe/core/doctype/docfield/docfield.json b/frappe/core/doctype/docfield/docfield.json index 4943f7a94c..f2d0eee7a1 100644 --- a/frappe/core/doctype/docfield/docfield.json +++ b/frappe/core/doctype/docfield/docfield.json @@ -32,6 +32,7 @@ "fetch_if_empty", "visibility_section", "hidden", + "show_on_timeline", "bold", "allow_in_quick_entry", "translatable", @@ -578,13 +579,20 @@ "fieldname": "not_nullable", "fieldtype": "Check", "label": "Not Nullable" + }, + { + "default": "0", + "depends_on": "eval: doc.hidden", + "fieldname": "show_on_timeline", + "fieldtype": "Check", + "label": "Show on Timeline" } ], "idx": 1, "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2024-04-12 16:27:34.546314", + "modified": "2024-07-30 13:15:32.037892", "modified_by": "Administrator", "module": "Core", "name": "DocField", @@ -594,4 +602,4 @@ "sort_field": "creation", "sort_order": "ASC", "states": [] -} +} \ No newline at end of file diff --git a/frappe/core/doctype/docfield/docfield.py b/frappe/core/doctype/docfield/docfield.py index ed663c3bba..4dc397d5b5 100644 --- a/frappe/core/doctype/docfield/docfield.py +++ b/frappe/core/doctype/docfield/docfield.py @@ -112,6 +112,7 @@ class DocField(Document): search_index: DF.Check set_only_once: DF.Check show_dashboard: DF.Check + show_on_timeline: DF.Check sort_options: DF.Check translatable: DF.Check unique: DF.Check diff --git a/frappe/core/doctype/user/user.json b/frappe/core/doctype/user/user.json index 1cdf6c2397..4e326bbc25 100644 --- a/frappe/core/doctype/user/user.json +++ b/frappe/core/doctype/user/user.json @@ -237,7 +237,8 @@ "options": "Has Role", "permlevel": 1, "print_hide": 1, - "read_only": 1 + "read_only": 1, + "show_on_timeline": 1 }, { "collapsible": 1, @@ -428,7 +429,8 @@ "hidden": 1, "label": "Block Modules", "options": "Block Module", - "permlevel": 1 + "permlevel": 1, + "show_on_timeline": 1 }, { "fieldname": "home_settings", @@ -796,7 +798,7 @@ "link_fieldname": "user" } ], - "modified": "2024-04-12 23:25:04.628007", + "modified": "2024-07-15 18:40:18.842915", "modified_by": "Administrator", "module": "Core", "name": "User", diff --git a/frappe/public/js/frappe/form/footer/version_timeline_content_builder.js b/frappe/public/js/frappe/form/footer/version_timeline_content_builder.js index 03936d9a1f..43d55fe5da 100644 --- a/frappe/public/js/frappe/form/footer/version_timeline_content_builder.js +++ b/frappe/public/js/frappe/form/footer/version_timeline_content_builder.js @@ -83,13 +83,17 @@ function get_version_timeline_content(version_doc, frm) { } } else { const df = frappe.meta.get_docfield(frm.doctype, p[0], frm.docname); - if (df && !df.hidden) { + if (df && (!df.hidden || df.show_on_timeline)) { const field_display_status = frappe.perm.get_field_display_status( df, null, frm.perm ); - if (field_display_status === "Read" || field_display_status === "Write") { + if ( + field_display_status === "Read" || + field_display_status === "Write" || + (df.hidden && df.show_on_timeline) + ) { parts.push( __("{0} from {1} to {2}", [ __(df.label, null, df.parent), @@ -142,14 +146,18 @@ function get_version_timeline_content(version_doc, frm) { frm.docname ); - if (df && !df.hidden) { + if (df && (!df.hidden || df.show_on_timeline)) { var field_display_status = frappe.perm.get_field_display_status( df, null, frm.perm ); - if (field_display_status === "Read" || field_display_status === "Write") { + if ( + field_display_status === "Read" || + field_display_status === "Write" || + (df.hidden && df.show_on_timeline) + ) { parts.push( __("{0} from {1} to {2} in row #{3}", [ frappe.meta.get_label(frm.fields_dict[row[0]].grid.doctype, p[0]), @@ -197,14 +205,19 @@ function get_version_timeline_content(version_doc, frm) { if (data[key] && data[key].length) { let parts = (data[key] || []).map(function (p) { var df = frappe.meta.get_docfield(frm.doctype, p[0], frm.docname); - if (df && !df.hidden) { + + if (df && (!df.hidden || df.show_on_timeline)) { var field_display_status = frappe.perm.get_field_display_status( df, null, frm.perm ); - if (field_display_status === "Read" || field_display_status === "Write") { + if ( + field_display_status === "Read" || + field_display_status === "Write" || + (df.hidden && df.show_on_timeline) + ) { return __(frappe.meta.get_label(frm.doctype, p[0])); } } From e9e327104db7beb247d320e9f30e6e92e2b07e4b Mon Sep 17 00:00:00 2001 From: s-aga-r Date: Sat, 3 Aug 2024 09:35:15 +0530 Subject: [PATCH 18/23] fix: get value with ignore=True --- .../doctype/notification_settings/notification_settings.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/desk/doctype/notification_settings/notification_settings.py b/frappe/desk/doctype/notification_settings/notification_settings.py index 41a6991d6f..691c03588d 100644 --- a/frappe/desk/doctype/notification_settings/notification_settings.py +++ b/frappe/desk/doctype/notification_settings/notification_settings.py @@ -59,9 +59,10 @@ def is_email_notifications_enabled_for_type(user, notification_type): return False fieldname = "enable_email_" + frappe.scrub(notification_type) - enabled = frappe.db.get_value("Notification Settings", user, fieldname) + enabled = frappe.db.get_value("Notification Settings", user, fieldname, ignore=True) if enabled is None: return True + return enabled From 20224011b8ffdc72e6e01eb19f149bea2b367d64 Mon Sep 17 00:00:00 2001 From: s-aga-r Date: Sat, 3 Aug 2024 10:48:17 +0530 Subject: [PATCH 19/23] fix: default notification --- frappe/desk/doctype/notification_log/notification_log.json | 4 ++-- frappe/desk/doctype/notification_log/notification_log.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frappe/desk/doctype/notification_log/notification_log.json b/frappe/desk/doctype/notification_log/notification_log.json index 49b16266b4..c3b3c09d92 100644 --- a/frappe/desk/doctype/notification_log/notification_log.json +++ b/frappe/desk/doctype/notification_log/notification_log.json @@ -40,7 +40,7 @@ "in_list_view": 1, "in_standard_filter": 1, "label": "Type", - "options": "Mention\nEnergy Point\nAssignment\nShare\nAlert" + "options": "\nMention\nEnergy Point\nAssignment\nShare\nAlert" }, { "fieldname": "email_content", @@ -103,7 +103,7 @@ "hide_toolbar": 1, "in_create": 1, "links": [], - "modified": "2024-03-23 16:03:31.715461", + "modified": "2024-08-03 09:38:10.497711", "modified_by": "Administrator", "module": "Desk", "name": "Notification Log", diff --git a/frappe/desk/doctype/notification_log/notification_log.py b/frappe/desk/doctype/notification_log/notification_log.py index 8793559611..499e4e27cd 100644 --- a/frappe/desk/doctype/notification_log/notification_log.py +++ b/frappe/desk/doctype/notification_log/notification_log.py @@ -28,7 +28,7 @@ class NotificationLog(Document): link: DF.Data | None read: DF.Check subject: DF.Text | None - type: DF.Literal["Mention", "Energy Point", "Assignment", "Share", "Alert"] + type: DF.Literal["", "Mention", "Energy Point", "Assignment", "Share", "Alert"] # end: auto-generated types def after_insert(self): From ac4b67079278bb2edec2e1969fc25d6a2e444fd5 Mon Sep 17 00:00:00 2001 From: "El-Shafei H." Date: Sun, 4 Aug 2024 15:12:58 +0300 Subject: [PATCH 20/23] fix: add translation function to route label text (#27175) Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com> --- frappe/public/js/frappe/utils/utils.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frappe/public/js/frappe/utils/utils.js b/frappe/public/js/frappe/utils/utils.js index 7b6987aa05..ff534141af 100644 --- a/frappe/public/js/frappe/utils/utils.js +++ b/frappe/public/js/frappe/utils/utils.js @@ -918,18 +918,18 @@ Object.assign(frappe.utils, { let route = route_str.split("/"); if (route[2] === "Report" || route[0] === "query-report") { - return __("{0} Report", [route[3] || route[1]]); + return __("{0} Report", [__(route[3]) || __(route[1])]); } if (route[0] === "List") { - return __("{0} List", [route[1]]); + return __("{0} List", [__(route[1])]); } if (route[0] === "modules") { - return __("{0} Modules", [route[1]]); + return __("{0} Modules", [__(route[1])]); } if (route[0] === "dashboard") { - return __("{0} Dashboard", [route[1]]); + return __("{0} Dashboard", [__(route[1])]); } - return __(frappe.utils.to_title_case(route[0], true)); + return __(frappe.utils.to_title_case(__(route[0]), true)); }, report_column_total: function (values, column, type) { if (column.column.disable_total) { From c06a854ea8335354a1ae85e1704ad264a63c7436 Mon Sep 17 00:00:00 2001 From: Frappe PR Bot Date: Sun, 4 Aug 2024 21:09:39 +0530 Subject: [PATCH 21/23] chore: update POT file (#27300) --- frappe/locale/main.pot | 825 ++++++++++++----------------------------- 1 file changed, 241 insertions(+), 584 deletions(-) diff --git a/frappe/locale/main.pot b/frappe/locale/main.pot index 044b40a645..4836eaadcd 100644 --- a/frappe/locale/main.pot +++ b/frappe/locale/main.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Frappe Framework VERSION\n" "Report-Msgid-Bugs-To: developers@frappe.io\n" -"POT-Creation-Date: 2024-07-30 18:02+0000\n" -"PO-Revision-Date: 2024-07-30 18:02+0000\n" +"POT-Creation-Date: 2024-08-04 09:33+0000\n" +"PO-Revision-Date: 2024-08-04 09:33+0000\n" "Last-Translator: developers@frappe.io\n" "Language-Team: developers@frappe.io\n" "MIME-Version: 1.0\n" @@ -749,13 +749,9 @@ msgid "About Us" msgstr "" #. Name of a DocType -#: website/doctype/about_us_settings/about_us_settings.json -msgid "About Us Settings" -msgstr "" - #. Label of a Link in the Website Workspace +#: website/doctype/about_us_settings/about_us_settings.json #: website/workspace/website/website.json -msgctxt "About Us Settings" msgid "About Us Settings" msgstr "" @@ -788,13 +784,8 @@ msgid "Access Key Secret" msgstr "" #. Name of a DocType -#: core/doctype/access_log/access_log.json -msgid "Access Log" -msgstr "" - #. Label of a Link in the Users Workspace -#: core/workspace/users/users.json -msgctxt "Access Log" +#: core/doctype/access_log/access_log.json core/workspace/users/users.json msgid "Access Log" msgstr "" @@ -967,14 +958,10 @@ msgid "Activity" msgstr "" #. Name of a DocType -#: core/doctype/activity_log/activity_log.json -msgid "Activity Log" -msgstr "" - #. Label of a Link in the Build Workspace #. Label of a Link in the Users Workspace -#: core/workspace/build/build.json core/workspace/users/users.json -msgctxt "Activity Log" +#: core/doctype/activity_log/activity_log.json core/workspace/build/build.json +#: core/workspace/users/users.json msgid "Activity Log" msgstr "" @@ -1107,7 +1094,7 @@ msgstr "" msgid "Add Review" msgstr "" -#: core/doctype/user/user.py:772 +#: core/doctype/user/user.py:776 msgid "Add Roles" msgstr "" @@ -1394,11 +1381,11 @@ msgstr "" msgid "Administrator" msgstr "" -#: core/doctype/user/user.py:1176 +#: core/doctype/user/user.py:1180 msgid "Administrator Logged In" msgstr "" -#: core/doctype/user/user.py:1170 +#: core/doctype/user/user.py:1174 msgid "Administrator accessed {0} on {1} via IP Address {2}." msgstr "" @@ -1876,7 +1863,7 @@ msgstr "" msgid "Allowing DocType, DocType. Be careful!" msgstr "" -#: core/doctype/user/user.py:979 +#: core/doctype/user/user.py:983 msgid "Already Registered" msgstr "" @@ -2259,7 +2246,7 @@ msgstr "" msgid "Are you sure you want to delete all rows?" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:928 +#: public/js/frappe/views/workspace/workspace.js:926 msgid "Are you sure you want to delete page {0}?" msgstr "" @@ -2448,16 +2435,11 @@ msgid "Assignment Days" msgstr "" #. Name of a DocType -#. Label of the assignment_rule (Link) field in DocType 'ToDo' -#: automation/doctype/assignment_rule/assignment_rule.json -#: desk/doctype/todo/todo.json -msgid "Assignment Rule" -msgstr "" - #. Label of a Link in the Tools Workspace #. Label of a shortcut in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Assignment Rule" +#. Label of the assignment_rule (Link) field in DocType 'ToDo' +#: automation/doctype/assignment_rule/assignment_rule.json +#: automation/workspace/tools/tools.json desk/doctype/todo/todo.json msgid "Assignment Rule" msgstr "" @@ -2679,14 +2661,6 @@ msgstr "" msgid "Authentication Apps you can use are: " msgstr "" -#: email/frappemail.py:89 -msgid "Authentication Error: Invalid API Key or Secret" -msgstr "" - -#: email/frappemail.py:85 -msgid "Authentication Error: Reauthorize OAuth for Email Account {0}." -msgstr "" - #: email/doctype/email_account/email_account.py:329 msgid "Authentication failed while receiving emails from Email Account: {0}." msgstr "" @@ -2776,14 +2750,10 @@ msgstr "" msgid "Auto" msgstr "" -#. Name of a DocType -#: email/doctype/auto_email_report/auto_email_report.json -msgid "Auto Email Report" -msgstr "" - #. Label of a Link in the Tools Workspace +#. Name of a DocType #: automation/workspace/tools/tools.json -msgctxt "Auto Email Report" +#: email/doctype/auto_email_report/auto_email_report.json msgid "Auto Email Report" msgstr "" @@ -2795,14 +2765,9 @@ msgid "Auto Name" msgstr "" #. Name of a DocType -#: automation/doctype/auto_repeat/auto_repeat.json -#: public/js/frappe/utils/common.js:442 -msgid "Auto Repeat" -msgstr "" - #. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Auto Repeat" +#: automation/doctype/auto_repeat/auto_repeat.json +#: automation/workspace/tools/tools.json public/js/frappe/utils/common.js:442 msgid "Auto Repeat" msgstr "" @@ -3076,19 +3041,15 @@ msgstr "" msgid "Background Image" msgstr "" +#. Label of a Link in the Build Workspace #. Label of the background_jobs_section (Section Break) field in DocType #. 'System Health Report' +#: core/workspace/build/build.json #: desk/doctype/system_health_report/system_health_report.json #: public/js/frappe/ui/toolbar/toolbar.js:178 msgid "Background Jobs" msgstr "" -#. Label of a Link in the Build Workspace -#: core/workspace/build/build.json -msgctxt "RQ Job" -msgid "Background Jobs" -msgstr "" - #. Label of the background_jobs_check (Data) field in DocType 'System Health #. Report' #: desk/doctype/system_health_report/system_health_report.json @@ -3397,14 +3358,10 @@ msgstr "" #. Name of a DocType #. Label of the blog_category (Link) field in DocType 'Blog Post' +#. Label of a Link in the Website Workspace #: website/doctype/blog_category/blog_category.json #: website/doctype/blog_post/blog_post.json -msgid "Blog Category" -msgstr "" - -#. Label of a Link in the Website Workspace #: website/workspace/website/website.json -msgctxt "Blog Category" msgid "Blog Category" msgstr "" @@ -3419,14 +3376,10 @@ msgid "Blog Introduction" msgstr "" #. Name of a DocType -#: website/doctype/blog_post/blog_post.json -msgid "Blog Post" -msgstr "" - #. Label of a Link in the Website Workspace #. Label of a shortcut in the Website Workspace +#: website/doctype/blog_post/blog_post.json #: website/workspace/website/website.json -msgctxt "Blog Post" msgid "Blog Post" msgstr "" @@ -3443,17 +3396,12 @@ msgstr "" #. Name of a role #. Label of the blogger (Link) field in DocType 'Blog Post' #. Name of a DocType +#. Label of a Link in the Website Workspace +#. Label of a shortcut in the Website Workspace #: website/doctype/blog_category/blog_category.json #: website/doctype/blog_post/blog_post.json #: website/doctype/blog_settings/blog_settings.json -#: website/doctype/blogger/blogger.json -msgid "Blogger" -msgstr "" - -#. Label of a Link in the Website Workspace -#. Label of a shortcut in the Website Workspace -#: website/workspace/website/website.json -msgctxt "Blogger" +#: website/doctype/blogger/blogger.json website/workspace/website/website.json msgid "Blogger" msgstr "" @@ -3647,14 +3595,10 @@ msgstr "" msgid "Bulk PDF Export" msgstr "" -#. Name of a DocType -#: desk/doctype/bulk_update/bulk_update.json -msgid "Bulk Update" -msgstr "" - #. Label of a Link in the Tools Workspace +#. Name of a DocType #: automation/workspace/tools/tools.json -msgctxt "Bulk Update" +#: desk/doctype/bulk_update/bulk_update.json msgid "Bulk Update" msgstr "" @@ -3826,19 +3770,14 @@ msgstr "" msgid "Calculate" msgstr "" +#. Label of a Link in the Tools Workspace #. Option for the 'Select List View' (Select) field in DocType 'Form Tour' #. Option for the 'DocType View' (Select) field in DocType 'Workspace Shortcut' -#: desk/doctype/form_tour/form_tour.json +#: automation/workspace/tools/tools.json desk/doctype/form_tour/form_tour.json #: desk/doctype/workspace_shortcut/workspace_shortcut.json msgid "Calendar" msgstr "" -#. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Event" -msgid "Calendar" -msgstr "" - #. Label of the calendar_name (Data) field in DocType 'Google Calendar' #: integrations/doctype/google_calendar/google_calendar.json msgid "Calendar Name" @@ -4514,7 +4453,7 @@ msgstr "" msgid "Choose Existing Card or create New Card" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1428 +#: public/js/frappe/views/workspace/workspace.js:1426 msgid "Choose a block or continue typing" msgstr "" @@ -4712,9 +4651,12 @@ msgstr "" msgid "Client Information" msgstr "" +#. Label of a Link in the Build Workspace +#. Label of a shortcut in the Build Workspace #. Name of a DocType #. Label of the client_script (Code) field in DocType 'DocType Layout' #. Label of the client_script (Code) field in DocType 'Web Form' +#: core/workspace/build/build.json #: custom/doctype/client_script/client_script.json #: custom/doctype/doctype_layout/doctype_layout.json #: website/doctype/web_form/web_form.json @@ -4722,13 +4664,6 @@ msgstr "" msgid "Client Script" msgstr "" -#. Label of a Link in the Build Workspace -#. Label of a shortcut in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Client Script" -msgid "Client Script" -msgstr "" - #. Label of the client_secret (Password) field in DocType 'Connected App' #. Label of the client_secret (Password) field in DocType 'Google Settings' #. Label of the client_secret (Password) field in DocType 'Social Login Key' @@ -5055,7 +4990,6 @@ msgstr "" #. Label of a Link in the Build Workspace #: core/workspace/build/build.json -msgctxt "Communication" msgid "Communication Logs" msgstr "" @@ -5108,7 +5042,7 @@ msgstr "" msgid "Complete By" msgstr "" -#: core/doctype/user/user.py:432 templates/emails/new_user.html:10 +#: core/doctype/user/user.py:436 templates/emails/new_user.html:10 msgid "Complete Registration" msgstr "" @@ -5373,13 +5307,9 @@ msgid "Contact Us" msgstr "" #. Name of a DocType -#: website/doctype/contact_us_settings/contact_us_settings.json -msgid "Contact Us Settings" -msgstr "" - #. Label of a Link in the Website Workspace +#: website/doctype/contact_us_settings/contact_us_settings.json #: website/workspace/website/website.json -msgctxt "Contact Us Settings" msgid "Contact Us Settings" msgstr "" @@ -5623,7 +5553,7 @@ msgstr "" #: public/js/frappe/views/file/file_view.js:112 #: public/js/frappe/views/interaction.js:18 #: public/js/frappe/views/reports/query_report.js:1188 -#: public/js/frappe/views/workspace/workspace.js:1260 +#: public/js/frappe/views/workspace/workspace.js:1258 #: workflow/page/workflow_builder/workflow_builder.js:46 msgid "Create" msgstr "" @@ -5661,7 +5591,7 @@ msgstr "" msgid "Create Custom Fields" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:968 +#: public/js/frappe/views/workspace/workspace.js:966 msgid "Create Duplicate" msgstr "" @@ -5986,14 +5916,10 @@ msgstr "" msgid "Custom Documents" msgstr "" -#. Name of a DocType -#: custom/doctype/custom_field/custom_field.json -msgid "Custom Field" -msgstr "" - #. Label of a Link in the Build Workspace +#. Name of a DocType #: core/workspace/build/build.json -msgctxt "Custom Field" +#: custom/doctype/custom_field/custom_field.json msgid "Custom Field" msgstr "" @@ -6104,7 +6030,6 @@ msgstr "" #. Label of a Link in the Build Workspace #: core/workspace/build/build.json -msgctxt "Translation" msgid "Custom Translation" msgstr "" @@ -6136,7 +6061,7 @@ msgstr "" msgid "Customization onboarding is all done!" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:554 +#: public/js/frappe/views/workspace/workspace.js:552 msgid "Customizations Discarded" msgstr "" @@ -6168,18 +6093,13 @@ msgstr "" msgid "Customize Dashboard" msgstr "" -#. Name of a DocType -#: automation/doctype/auto_repeat/auto_repeat.js:33 -#: core/doctype/doctype/doctype.js:65 -#: custom/doctype/customize_form/customize_form.json -#: public/js/frappe/views/kanban/kanban_view.js:343 -msgid "Customize Form" -msgstr "" - #. Label of a Link in the Build Workspace #. Label of a shortcut in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Customize Form" +#. Name of a DocType +#: automation/doctype/auto_repeat/auto_repeat.js:33 +#: core/doctype/doctype/doctype.js:65 core/workspace/build/build.json +#: custom/doctype/customize_form/customize_form.json +#: public/js/frappe/views/kanban/kanban_view.js:343 msgid "Customize Form" msgstr "" @@ -6302,35 +6222,27 @@ msgid "Dark Theme" msgstr "" #. Label of the dashboard (Check) field in DocType 'Role' +#. Label of a Link in the Build Workspace #. Name of a DocType #. Option for the 'Select List View' (Select) field in DocType 'Form Tour' #. Option for the 'Type' (Select) field in DocType 'Workspace Shortcut' #. Option for the 'DocType View' (Select) field in DocType 'Workspace Shortcut' #: core/doctype/role/role.json core/page/dashboard_view/dashboard_view.js:10 -#: desk/doctype/dashboard/dashboard.json desk/doctype/form_tour/form_tour.json +#: core/workspace/build/build.json desk/doctype/dashboard/dashboard.json +#: desk/doctype/form_tour/form_tour.json #: desk/doctype/workspace_shortcut/workspace_shortcut.json #: public/js/frappe/ui/toolbar/search_utils.js:562 msgid "Dashboard" msgstr "" #. Label of a Link in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Dashboard" -msgid "Dashboard" -msgstr "" - #. Name of a DocType +#: core/workspace/build/build.json #: desk/doctype/dashboard_chart/dashboard_chart.json #: desk/doctype/dashboard_chart_source/dashboard_chart_source.js:8 msgid "Dashboard Chart" msgstr "" -#. Label of a Link in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Dashboard Chart" -msgid "Dashboard Chart" -msgstr "" - #. Name of a DocType #: desk/doctype/dashboard_chart_field/dashboard_chart_field.json msgid "Dashboard Chart Field" @@ -6805,7 +6717,7 @@ msgstr "" #: public/js/frappe/form/grid.js:63 public/js/frappe/form/toolbar.js:434 #: public/js/frappe/views/reports/report_view.js:1654 #: public/js/frappe/views/treeview.js:308 -#: public/js/frappe/views/workspace/workspace.js:866 +#: public/js/frappe/views/workspace/workspace.js:864 #: templates/discussions/reply_card.html:35 #: templates/discussions/reply_section.html:29 msgid "Delete" @@ -6847,7 +6759,7 @@ msgctxt "Title of confirmation dialog" msgid "Delete Tab" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:867 +#: public/js/frappe/views/workspace/workspace.js:865 msgid "Delete Workspace" msgstr "" @@ -6928,7 +6840,6 @@ msgstr "" #. Label of a Link in the Tools Workspace #: automation/workspace/tools/tools.json -msgctxt "Deleted Document" msgid "Deleted Documents" msgstr "" @@ -7293,7 +7204,7 @@ msgstr "" #: public/js/frappe/form/toolbar.js:316 #: public/js/frappe/views/communication.js:30 #: public/js/frappe/views/dashboard/dashboard_view.js:70 -#: public/js/frappe/views/workspace/workspace.js:545 +#: public/js/frappe/views/workspace/workspace.js:543 #: public/js/frappe/web_form/web_form.js:187 msgid "Discard" msgstr "" @@ -7436,6 +7347,8 @@ msgstr "" #. Group in Module Def's connections #. Label of the ref_doctype (Link) field in DocType 'Permission Inspector' #. Label of the ref_doctype (Link) field in DocType 'Version' +#. Label of a Link in the Build Workspace +#. Label of a shortcut in the Build Workspace #. Label of the dt (Link) field in DocType 'Client Script' #. Label of the dt (Link) field in DocType 'Custom Field' #. Option for the 'Applied On' (Select) field in DocType 'Property Setter' @@ -7452,6 +7365,7 @@ msgstr "" #: core/doctype/permission_inspector/permission_inspector.json #: core/doctype/version/version.json #: core/report/permitted_documents_for_user/permitted_documents_for_user.js:15 +#: core/workspace/build/build.json #: custom/doctype/client_script/client_script.json #: custom/doctype/custom_field/custom_field.json #: custom/doctype/property_setter/property_setter.json @@ -7465,13 +7379,6 @@ msgstr "" msgid "DocType" msgstr "" -#. Label of a Link in the Build Workspace -#. Label of a shortcut in the Build Workspace -#: core/workspace/build/build.json -msgctxt "DocType" -msgid "DocType" -msgstr "" - #: core/doctype/doctype/doctype.py:1546 msgid "DocType {0} provided for the field {1} must have atleast one Link field" msgstr "" @@ -7591,7 +7498,7 @@ msgstr "" msgid "Doctype required" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1346 +#: public/js/frappe/views/workspace/workspace.js:1344 msgid "Doctype with same route already exist. Please choose different title." msgstr "" @@ -8066,7 +7973,7 @@ msgstr "" #: public/js/frappe/views/workspace/blocks/header.js:46 #: public/js/frappe/views/workspace/blocks/paragraph.js:136 #: public/js/frappe/views/workspace/blocks/spacer.js:44 -#: public/js/frappe/views/workspace/workspace.js:608 +#: public/js/frappe/views/workspace/workspace.js:606 #: public/js/frappe/widgets/base_widget.js:33 msgid "Drag" msgstr "" @@ -8108,13 +8015,9 @@ msgid "Dropbox Refresh Token" msgstr "" #. Name of a DocType -#: integrations/doctype/dropbox_settings/dropbox_settings.json -msgid "Dropbox Settings" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: integrations/doctype/dropbox_settings/dropbox_settings.json #: integrations/workspace/integrations/integrations.json -msgctxt "Dropbox Settings" msgid "Dropbox Settings" msgstr "" @@ -8140,8 +8043,8 @@ msgstr "" #: public/js/frappe/form/grid_row_form.js:42 #: public/js/frappe/form/toolbar.js:388 -#: public/js/frappe/views/workspace/workspace.js:851 -#: public/js/frappe/views/workspace/workspace.js:1018 +#: public/js/frappe/views/workspace/workspace.js:849 +#: public/js/frappe/views/workspace/workspace.js:1016 msgid "Duplicate" msgstr "" @@ -8157,8 +8060,8 @@ msgstr "" msgid "Duplicate Name" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:590 -#: public/js/frappe/views/workspace/workspace.js:852 +#: public/js/frappe/views/workspace/workspace.js:588 +#: public/js/frappe/views/workspace/workspace.js:850 msgid "Duplicate Workspace" msgstr "" @@ -8170,7 +8073,7 @@ msgstr "" msgid "Duplicate field" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1033 +#: public/js/frappe/views/workspace/workspace.js:1031 msgid "Duplicate of {0} named as {1} is created successfully" msgstr "" @@ -8263,7 +8166,8 @@ msgstr "" #: public/js/frappe/form/toolbar.js:681 #: public/js/frappe/views/reports/query_report.js:815 #: public/js/frappe/views/reports/query_report.js:1634 -#: public/js/frappe/views/workspace/workspace.js:845 +#: public/js/frappe/views/workspace/workspace.js:95 +#: public/js/frappe/views/workspace/workspace.js:843 #: public/js/frappe/widgets/base_widget.js:64 #: public/js/frappe/widgets/chart_widget.js:299 #: public/js/frappe/widgets/number_card_widget.js:331 @@ -8401,7 +8305,7 @@ msgstr "" msgid "Edit Values" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:846 +#: public/js/frappe/views/workspace/workspace.js:844 msgid "Edit Workspace" msgstr "" @@ -8498,12 +8402,14 @@ msgstr "" msgid "Email" msgstr "" +#. Label of a Link in the Tools Workspace #. Label of the email_account (Link) field in DocType 'Communication' #. Label of the email_account (Link) field in DocType 'User Email' #. Name of a DocType #. Label of the email_account (Data) field in DocType 'Email Flag Queue' #. Label of the email_account (Link) field in DocType 'Email Queue' #. Label of the email_account (Link) field in DocType 'Unhandled Email' +#: automation/workspace/tools/tools.json #: core/doctype/communication/communication.js:199 #: core/doctype/communication/communication.json #: core/doctype/user_email/user_email.json @@ -8514,12 +8420,6 @@ msgstr "" msgid "Email Account" msgstr "" -#. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Email Account" -msgid "Email Account" -msgstr "" - #: email/doctype/email_account/email_account.py:333 msgid "Email Account Disabled." msgstr "" @@ -8529,7 +8429,7 @@ msgstr "" msgid "Email Account Name" msgstr "" -#: core/doctype/user/user.py:705 +#: core/doctype/user/user.py:709 msgid "Email Account added multiple times" msgstr "" @@ -8558,14 +8458,10 @@ msgstr "" msgid "Email Addresses" msgstr "" -#. Name of a DocType -#: email/doctype/email_domain/email_domain.json -msgid "Email Domain" -msgstr "" - #. Label of a Link in the Tools Workspace +#. Name of a DocType #: automation/workspace/tools/tools.json -msgctxt "Email Domain" +#: email/doctype/email_domain/email_domain.json msgid "Email Domain" msgstr "" @@ -8580,21 +8476,17 @@ msgstr "" msgid "Email Footer Address" msgstr "" +#. Label of a Link in the Tools Workspace #. Name of a DocType #. Label of the email_group (Link) field in DocType 'Email Group Member' #. Label of the email_group (Link) field in DocType 'Newsletter Email Group' +#: automation/workspace/tools/tools.json #: email/doctype/email_group/email_group.json #: email/doctype/email_group_member/email_group_member.json #: email/doctype/newsletter_email_group/newsletter_email_group.json msgid "Email Group" msgstr "" -#. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Email Group" -msgid "Email Group" -msgstr "" - #. Name of a DocType #: email/doctype/email_group_member/email_group_member.json msgid "Email Group Member" @@ -8699,20 +8591,16 @@ msgstr "" msgid "Email Sync Option" msgstr "" +#. Label of a Link in the Tools Workspace #. Label of the email_template (Link) field in DocType 'Communication' #. Name of a DocType +#: automation/workspace/tools/tools.json #: core/doctype/communication/communication.json #: email/doctype/email_template/email_template.json #: public/js/frappe/views/communication.js:95 msgid "Email Template" msgstr "" -#. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Email Template" -msgid "Email Template" -msgstr "" - #. Label of the enable_email_threads_on_assigned_document (Check) field in #. DocType 'Notification Settings' #: desk/doctype/notification_settings/notification_settings.json @@ -9231,7 +9119,6 @@ msgstr "" #. Label of a Link in the Build Workspace #: core/workspace/build/build.json -msgctxt "Error Log" msgid "Error Logs" msgstr "" @@ -9537,13 +9424,9 @@ msgstr "" msgid "Export Customizations" msgstr "" -#: public/js/frappe/data_import/data_exporter.js:14 -msgid "Export Data" -msgstr "" - #. Label of a Link in the Tools Workspace #: automation/workspace/tools/tools.json -msgctxt "Data Export" +#: public/js/frappe/data_import/data_exporter.js:14 msgid "Export Data" msgstr "" @@ -9760,7 +9643,7 @@ msgstr "" msgid "Failed to render subject: {}" msgstr "" -#: email/doctype/email_queue/email_queue.py:294 +#: email/doctype/email_queue/email_queue.py:301 msgid "Failed to send email with subject:" msgstr "" @@ -10080,15 +9963,11 @@ msgstr "" msgid "Fieldtype cannot be changed from {0} to {1} in row {2}" msgstr "" +#. Label of a shortcut in the Tools Workspace #. Name of a DocType #. Option for the 'Select List View' (Select) field in DocType 'Form Tour' -#: core/doctype/file/file.json desk/doctype/form_tour/form_tour.json -msgid "File" -msgstr "" - -#. Label of a shortcut in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "File" +#: automation/workspace/tools/tools.json core/doctype/file/file.json +#: desk/doctype/form_tour/form_tour.json msgid "File" msgstr "" @@ -10176,14 +10055,10 @@ msgstr "" msgid "File {0} does not exist" msgstr "" -#. Label of the files_tab (Tab Break) field in DocType 'System Settings' -#: core/doctype/system_settings/system_settings.json -msgid "Files" -msgstr "" - #. Label of a Link in the Tools Workspace +#. Label of the files_tab (Tab Break) field in DocType 'System Settings' #: automation/workspace/tools/tools.json -msgctxt "File" +#: core/doctype/system_settings/system_settings.json msgid "Files" msgstr "" @@ -10828,7 +10703,7 @@ msgid "Frappe Light" msgstr "" #. Option for the 'Service' (Select) field in DocType 'Email Account' -#: email/doctype/email_account/email_account.json email/frappemail.py:91 +#: email/doctype/email_account/email_account.json msgid "Frappe Mail" msgstr "" @@ -11233,14 +11108,10 @@ msgstr "" #. Label of the google_calendar (Link) field in DocType 'Event' #. Name of a DocType #. Label of the sb_00 (Section Break) field in DocType 'Google Calendar' +#. Label of a Link in the Integrations Workspace #: desk/doctype/event/event.json #: integrations/doctype/google_calendar/google_calendar.json -msgid "Google Calendar" -msgstr "" - -#. Label of a Link in the Integrations Workspace #: integrations/workspace/integrations/integrations.json -msgctxt "Google Calendar" msgid "Google Calendar" msgstr "" @@ -11292,14 +11163,10 @@ msgstr "" #. Label of the google_contacts (Link) field in DocType 'Contact' #. Name of a DocType #. Label of the sb_00 (Section Break) field in DocType 'Google Contacts' +#. Label of a Link in the Integrations Workspace #: contacts/doctype/contact/contact.json #: integrations/doctype/google_contacts/google_contacts.json -msgid "Google Contacts" -msgstr "" - -#. Label of a Link in the Integrations Workspace #: integrations/workspace/integrations/integrations.json -msgctxt "Google Contacts" msgid "Google Contacts" msgstr "" @@ -11319,14 +11186,10 @@ msgstr "" #. Name of a DocType #. Label of the google_drive_section (Section Break) field in DocType 'Google #. Drive' -#: integrations/doctype/google_drive/google_drive.json -#: public/js/frappe/file_uploader/FileUploader.vue:164 -msgid "Google Drive" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: integrations/doctype/google_drive/google_drive.json #: integrations/workspace/integrations/integrations.json -msgctxt "Google Drive" +#: public/js/frappe/file_uploader/FileUploader.vue:164 msgid "Google Drive" msgstr "" @@ -11377,13 +11240,9 @@ msgid "Google Services" msgstr "" #. Name of a DocType -#: integrations/doctype/google_settings/google_settings.json -msgid "Google Settings" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: integrations/doctype/google_settings/google_settings.json #: integrations/workspace/integrations/integrations.json -msgctxt "Google Settings" msgid "Google Settings" msgstr "" @@ -11683,13 +11542,9 @@ msgid "Help" msgstr "" #. Name of a DocType -#: website/doctype/help_article/help_article.json -msgid "Help Article" -msgstr "" - #. Label of a Link in the Website Workspace +#: website/doctype/help_article/help_article.json #: website/workspace/website/website.json -msgctxt "Help Article" msgid "Help Article" msgstr "" @@ -11699,13 +11554,9 @@ msgid "Help Articles" msgstr "" #. Name of a DocType -#: website/doctype/help_category/help_category.json -msgid "Help Category" -msgstr "" - #. Label of a Link in the Website Workspace +#: website/doctype/help_category/help_category.json #: website/workspace/website/website.json -msgctxt "Help Category" msgid "Help Category" msgstr "" @@ -11782,7 +11633,7 @@ msgstr "" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' #: printing/doctype/print_format/print_format.json -#: public/js/frappe/views/workspace/workspace.js:857 +#: public/js/frappe/views/workspace/workspace.js:855 #: public/js/frappe/widgets/base_widget.js:46 #: public/js/frappe/widgets/base_widget.js:178 #: public/js/print_format_builder/PrintFormatControls.vue:243 @@ -11891,7 +11742,7 @@ msgstr "" msgid "Hide Weekends" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:858 +#: public/js/frappe/views/workspace/workspace.js:856 msgid "Hide Workspace" msgstr "" @@ -12073,9 +11924,9 @@ msgstr "" #: desk/doctype/workspace_link/workspace_link.json #: desk/doctype/workspace_shortcut/workspace_shortcut.json #: integrations/doctype/social_login_key/social_login_key.json -#: public/js/frappe/views/workspace/workspace.js:675 -#: public/js/frappe/views/workspace/workspace.js:1003 -#: public/js/frappe/views/workspace/workspace.js:1248 +#: public/js/frappe/views/workspace/workspace.js:673 +#: public/js/frappe/views/workspace/workspace.js:1001 +#: public/js/frappe/views/workspace/workspace.js:1246 #: workflow/doctype/workflow_state/workflow_state.json msgid "Icon" msgstr "" @@ -12432,7 +12283,7 @@ msgstr "" msgid "Impersonate as {0}" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:233 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:246 msgid "Impersonated by {0}" msgstr "" @@ -12465,7 +12316,6 @@ msgstr "" #. Label of a Link in the Tools Workspace #. Label of a shortcut in the Tools Workspace #: automation/workspace/tools/tools.json -msgctxt "Data Import" msgid "Import Data" msgstr "" @@ -12812,9 +12662,9 @@ msgstr "" msgid "Indicator Color" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:682 -#: public/js/frappe/views/workspace/workspace.js:1010 -#: public/js/frappe/views/workspace/workspace.js:1254 +#: public/js/frappe/views/workspace/workspace.js:680 +#: public/js/frappe/views/workspace/workspace.js:1008 +#: public/js/frappe/views/workspace/workspace.js:1252 msgid "Indicator color" msgstr "" @@ -13150,7 +13000,7 @@ msgstr "" msgid "Invalid Parameters." msgstr "" -#: core/doctype/user/user.py:1191 www/update-password.html:121 +#: core/doctype/user/user.py:1195 www/update-password.html:121 #: www/update-password.html:142 www/update-password.html:144 #: www/update-password.html:245 msgid "Invalid Password" @@ -13850,13 +13700,9 @@ msgid "LDAP Server Url" msgstr "" #. Name of a DocType -#: integrations/doctype/ldap_settings/ldap_settings.json -msgid "LDAP Settings" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: integrations/doctype/ldap_settings/ldap_settings.json #: integrations/workspace/integrations/integrations.json -msgctxt "LDAP Settings" msgid "LDAP Settings" msgstr "" @@ -15507,13 +15353,9 @@ msgid "Middle Name" msgstr "" #. Name of a DocType -#: automation/doctype/milestone/milestone.json -msgid "Milestone" -msgstr "" - #. Label of a Link in the Tools Workspace +#: automation/doctype/milestone/milestone.json #: automation/workspace/tools/tools.json -msgctxt "Milestone" msgid "Milestone" msgstr "" @@ -15658,13 +15500,8 @@ msgid "Module (for export)" msgstr "" #. Name of a DocType -#: core/doctype/module_def/module_def.json -msgid "Module Def" -msgstr "" - #. Label of a Link in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Module Def" +#: core/doctype/module_def/module_def.json core/workspace/build/build.json msgid "Module Def" msgstr "" @@ -15680,26 +15517,18 @@ msgstr "" msgid "Module Name" msgstr "" -#. Name of a DocType -#: desk/doctype/module_onboarding/module_onboarding.json -msgid "Module Onboarding" -msgstr "" - #. Label of a Link in the Build Workspace +#. Name of a DocType #: core/workspace/build/build.json -msgctxt "Module Onboarding" +#: desk/doctype/module_onboarding/module_onboarding.json msgid "Module Onboarding" msgstr "" #. Name of a DocType #. Label of the module_profile (Link) field in DocType 'User' -#: core/doctype/module_profile/module_profile.json core/doctype/user/user.json -msgid "Module Profile" -msgstr "" - #. Label of a Link in the Users Workspace +#: core/doctype/module_profile/module_profile.json core/doctype/user/user.json #: core/workspace/users/users.json -msgctxt "Module Profile" msgid "Module Profile" msgstr "" @@ -16075,13 +15904,9 @@ msgid "Navbar Item" msgstr "" #. Name of a DocType -#: core/doctype/navbar_settings/navbar_settings.json -msgid "Navbar Settings" -msgstr "" - #. Label of a Link in the Build Workspace +#: core/doctype/navbar_settings/navbar_settings.json #: core/workspace/build/build.json -msgctxt "Navbar Settings" msgid "Navbar Settings" msgstr "" @@ -16153,6 +15978,7 @@ msgstr "" #: email/doctype/notification/notification.json #: public/js/frappe/form/success_action.js:77 #: public/js/frappe/views/treeview.js:450 +#: public/js/frappe/views/workspace/workspace.js:95 #: social/doctype/energy_point_rule/energy_point_rule.json #: website/doctype/web_form/templates/web_list.html:15 www/list.html:19 msgid "New" @@ -16286,7 +16112,7 @@ msgstr "" msgid "New Workflow Name" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1215 +#: public/js/frappe/views/workspace/workspace.js:1213 msgid "New Workspace" msgstr "" @@ -16344,23 +16170,18 @@ msgstr "" msgid "New {} releases for the following apps are available" msgstr "" -#: core/doctype/user/user.py:768 +#: core/doctype/user/user.py:772 msgid "Newly created user {0} has no roles enabled." msgstr "" #. Label of a Card Break in the Tools Workspace +#. Label of a Link in the Tools Workspace #. Name of a DocType #: automation/workspace/tools/tools.json #: email/doctype/newsletter/newsletter.json msgid "Newsletter" msgstr "" -#. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Newsletter" -msgid "Newsletter" -msgstr "" - #. Name of a DocType #: email/doctype/newsletter_attachment/newsletter_attachment.json msgid "Newsletter Attachment" @@ -16632,7 +16453,7 @@ msgstr "" msgid "No Results found" msgstr "" -#: core/doctype/user/user.py:769 +#: core/doctype/user/user.py:773 msgid "No Roles Specified" msgstr "" @@ -16680,7 +16501,7 @@ msgstr "" msgid "No changes made because old and new name are the same." msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1520 +#: public/js/frappe/views/workspace/workspace.js:1518 msgid "No changes made on the page" msgstr "" @@ -16886,7 +16707,7 @@ msgstr "" msgid "Normalized Query" msgstr "" -#: core/doctype/user/user.py:974 templates/includes/login/login.js:257 +#: core/doctype/user/user.py:978 templates/includes/login/login.js:257 #: utils/oauth.py:265 msgid "Not Allowed" msgstr "" @@ -17050,15 +16871,10 @@ msgstr "" msgid "Not permitted to view {0}" msgstr "" +#. Label of a Link in the Tools Workspace #. Name of a DocType #: automation/doctype/auto_repeat/auto_repeat.py:396 -#: desk/doctype/note/note.json -msgid "Note" -msgstr "" - -#. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Note" +#: automation/workspace/tools/tools.json desk/doctype/note/note.json msgid "Note" msgstr "" @@ -17137,12 +16953,14 @@ msgid "Nothing to update" msgstr "" #. Label of the notification (Section Break) field in DocType 'Auto Repeat' +#. Label of a Link in the Tools Workspace #. Option for the 'Communication Type' (Select) field in DocType #. 'Communication' #. Name of a DocType #. Label of the notification_section (Section Break) field in DocType 'S3 #. Backup Settings' #: automation/doctype/auto_repeat/auto_repeat.json +#: automation/workspace/tools/tools.json #: core/doctype/communication/communication.json #: core/doctype/communication/mixins.py:142 #: email/doctype/notification/notification.json @@ -17150,12 +16968,6 @@ msgstr "" msgid "Notification" msgstr "" -#. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Notification" -msgid "Notification" -msgstr "" - #. Name of a DocType #: desk/doctype/notification_log/notification_log.json msgid "Notification Log" @@ -17166,18 +16978,14 @@ msgstr "" msgid "Notification Recipient" msgstr "" +#. Label of a Link in the Tools Workspace #. Name of a DocType +#: automation/workspace/tools/tools.json #: desk/doctype/notification_settings/notification_settings.json #: public/js/frappe/ui/notifications/notifications.js:37 msgid "Notification Settings" msgstr "" -#. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Notification Settings" -msgid "Notification Settings" -msgstr "" - #. Name of a DocType #: desk/doctype/notification_subscribed_document/notification_subscribed_document.json msgid "Notification Subscribed Document" @@ -17363,13 +17171,9 @@ msgid "OAuth Bearer Token" msgstr "" #. Name of a DocType -#: integrations/doctype/oauth_client/oauth_client.json -msgid "OAuth Client" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: integrations/doctype/oauth_client/oauth_client.json #: integrations/workspace/integrations/integrations.json -msgctxt "OAuth Client" msgid "OAuth Client" msgstr "" @@ -17388,13 +17192,9 @@ msgid "OAuth Error" msgstr "" #. Name of a DocType -#: integrations/doctype/oauth_provider_settings/oauth_provider_settings.json -msgid "OAuth Provider Settings" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: integrations/doctype/oauth_provider_settings/oauth_provider_settings.json #: integrations/workspace/integrations/integrations.json -msgctxt "OAuth Provider Settings" msgid "OAuth Provider Settings" msgstr "" @@ -17599,7 +17399,7 @@ msgstr "" msgid "One of" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1355 +#: public/js/frappe/views/workspace/workspace.js:1353 msgid "One of the child page with name {0} already exist in {1} Section. Please update the name of the child page first before moving" msgstr "" @@ -17641,7 +17441,7 @@ msgstr "" msgid "Only Workspace Manager can edit public workspaces" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:579 +#: public/js/frappe/views/workspace/workspace.js:577 msgid "Only Workspace Manager can sort or edit this page" msgstr "" @@ -18082,25 +17882,17 @@ msgstr "" #. Label of the package (Link) field in DocType 'Module Def' #. Name of a DocType #. Label of the package (Link) field in DocType 'Package Release' -#: core/doctype/module_def/module_def.json core/doctype/package/package.json -#: core/doctype/package_release/package_release.json www/attribution.html:34 -msgid "Package" -msgstr "" - #. Label of a Link in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Package" +#: core/doctype/module_def/module_def.json core/doctype/package/package.json +#: core/doctype/package_release/package_release.json +#: core/workspace/build/build.json www/attribution.html:34 msgid "Package" msgstr "" #. Name of a DocType -#: core/doctype/package_import/package_import.json -msgid "Package Import" -msgstr "" - #. Label of a Link in the Build Workspace +#: core/doctype/package_import/package_import.json #: core/workspace/build/build.json -msgctxt "Package Import" msgid "Package Import" msgstr "" @@ -18187,7 +17979,7 @@ msgstr "" msgid "Page Route" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1542 +#: public/js/frappe/views/workspace/workspace.js:1540 msgid "Page Saved Successfully" msgstr "" @@ -18232,7 +18024,7 @@ msgstr "" msgid "Page to show on the website\n" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1342 +#: public/js/frappe/views/workspace/workspace.js:1340 msgid "Page with title {0} already exist." msgstr "" @@ -18249,9 +18041,9 @@ msgid "Parameter" msgstr "" #: public/js/frappe/model/model.js:142 -#: public/js/frappe/views/workspace/workspace.js:649 -#: public/js/frappe/views/workspace/workspace.js:977 -#: public/js/frappe/views/workspace/workspace.js:1224 +#: public/js/frappe/views/workspace/workspace.js:647 +#: public/js/frappe/views/workspace/workspace.js:975 +#: public/js/frappe/views/workspace/workspace.js:1222 msgid "Parent" msgstr "" @@ -18375,11 +18167,11 @@ msgstr "" msgid "Password" msgstr "" -#: core/doctype/user/user.py:1037 +#: core/doctype/user/user.py:1041 msgid "Password Email Sent" msgstr "" -#: core/doctype/user/user.py:412 +#: core/doctype/user/user.py:416 msgid "Password Reset" msgstr "" @@ -18413,7 +18205,7 @@ msgstr "" msgid "Password not found for {0} {1} {2}" msgstr "" -#: core/doctype/user/user.py:1036 +#: core/doctype/user/user.py:1040 msgid "Password reset instructions have been sent to {}'s email" msgstr "" @@ -18425,7 +18217,7 @@ msgstr "" msgid "Password size exceeded the maximum allowed size" msgstr "" -#: core/doctype/user/user.py:832 +#: core/doctype/user/user.py:836 msgid "Password size exceeded the maximum allowed size." msgstr "" @@ -18790,7 +18582,7 @@ msgstr "" msgid "Please add a valid comment." msgstr "" -#: core/doctype/user/user.py:1019 +#: core/doctype/user/user.py:1023 msgid "Please ask your administrator to verify your sign-up" msgstr "" @@ -18822,7 +18614,7 @@ msgstr "" msgid "Please check the value of \"Fetch From\" set for field {0}" msgstr "" -#: core/doctype/user/user.py:1017 +#: core/doctype/user/user.py:1021 msgid "Please check your email for verification" msgstr "" @@ -19113,7 +18905,7 @@ msgstr "" msgid "Please setup default Email Account from Settings > Email Account" msgstr "" -#: core/doctype/user/user.py:377 +#: core/doctype/user/user.py:381 msgid "Please setup default outgoing Email Account from Settings > Email Account" msgstr "" @@ -19216,13 +19008,9 @@ msgid "Portal Menu Item" msgstr "" #. Name of a DocType -#: website/doctype/portal_settings/portal_settings.json -msgid "Portal Settings" -msgstr "" - #. Label of a Link in the Website Workspace +#: website/doctype/portal_settings/portal_settings.json #: website/workspace/website/website.json -msgctxt "Portal Settings" msgid "Portal Settings" msgstr "" @@ -19490,11 +19278,12 @@ msgid "Print Documents" msgstr "" #. Label of the print_format (Link) field in DocType 'Auto Repeat' +#. Label of a Link in the Build Workspace #. Label of the print_format (Link) field in DocType 'Notification' #. Name of a DocType #. Label of the print_format (Link) field in DocType 'Web Form' #: automation/doctype/auto_repeat/auto_repeat.json -#: email/doctype/notification/notification.json +#: core/workspace/build/build.json email/doctype/notification/notification.json #: printing/doctype/print_format/print_format.json #: printing/page/print/print.js:94 printing/page/print/print.js:819 #: public/js/frappe/list/bulk_operations.js:59 @@ -19502,12 +19291,6 @@ msgstr "" msgid "Print Format" msgstr "" -#. Label of a Link in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Print Format" -msgid "Print Format" -msgstr "" - #. Label of a Link in the Tools Workspace #. Label of a shortcut in the Build Workspace #. Label of the print_format_builder (Check) field in DocType 'Print Format' @@ -19558,15 +19341,11 @@ msgstr "" msgid "Print Formats allow you can define looks for documents when printed or converted to PDF. You can also create a custom Print Format using drag-and-drop tools." msgstr "" +#. Label of a Link in the Tools Workspace #. Name of a DocType #. Label of the print_heading (Data) field in DocType 'Print Heading' -#: printing/doctype/print_heading/print_heading.json -msgid "Print Heading" -msgstr "" - -#. Label of a Link in the Tools Workspace #: automation/workspace/tools/tools.json -msgctxt "Print Heading" +#: printing/doctype/print_heading/print_heading.json msgid "Print Heading" msgstr "" @@ -19603,8 +19382,10 @@ msgstr "" msgid "Print Server" msgstr "" +#. Label of a Link in the Tools Workspace #. Label of the column_break_25 (Section Break) field in DocType 'Notification' #. Name of a DocType +#: automation/workspace/tools/tools.json #: email/doctype/notification/notification.json #: printing/doctype/print_settings/print_settings.json #: printing/doctype/print_style/print_style.js:6 @@ -19613,12 +19394,6 @@ msgstr "" msgid "Print Settings" msgstr "" -#. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "Print Settings" -msgid "Print Settings" -msgstr "" - #. Label of the print_style_section (Section Break) field in DocType 'Print #. Settings' #. Label of the print_style (Link) field in DocType 'Print Settings' @@ -19741,7 +19516,7 @@ msgstr "" msgid "Processing" msgstr "" -#: email/doctype/email_queue/email_queue.py:447 +#: email/doctype/email_queue/email_queue.py:454 msgid "Processing..." msgstr "" @@ -19816,9 +19591,9 @@ msgstr "" #: desk/doctype/event/event.json desk/doctype/note/note.json #: desk/doctype/note/note_list.js:6 desk/doctype/workspace/workspace.json #: public/js/frappe/views/interaction.js:78 -#: public/js/frappe/views/workspace/workspace.js:656 -#: public/js/frappe/views/workspace/workspace.js:984 -#: public/js/frappe/views/workspace/workspace.js:1230 +#: public/js/frappe/views/workspace/workspace.js:654 +#: public/js/frappe/views/workspace/workspace.js:982 +#: public/js/frappe/views/workspace/workspace.js:1228 msgid "Public" msgstr "" @@ -19927,13 +19702,9 @@ msgid "Purple" msgstr "" #. Name of a DocType -#: integrations/doctype/push_notification_settings/push_notification_settings.json -msgid "Push Notification Settings" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: integrations/doctype/push_notification_settings/push_notification_settings.json #: integrations/workspace/integrations/integrations.json -msgctxt "Push Notification Settings" msgid "Push Notification Settings" msgstr "" @@ -20736,7 +20507,7 @@ msgstr "" msgid "Refreshing..." msgstr "" -#: core/doctype/user/user.py:981 +#: core/doctype/user/user.py:985 msgid "Registered but disabled" msgstr "" @@ -21001,6 +20772,8 @@ msgstr "" #. Page and Report' #. Label of the report (Link) field in DocType 'Role Permission for Page and #. Report' +#. Label of a Link in the Build Workspace +#. Label of a shortcut in the Build Workspace #. Option for the 'Chart Type' (Select) field in DocType 'Dashboard Chart' #. Option for the 'Select List View' (Select) field in DocType 'Form Tour' #. Option for the 'Type' (Select) field in DocType 'Number Card' @@ -21013,6 +20786,7 @@ msgstr "" #: core/doctype/custom_role/custom_role.json core/doctype/docperm/docperm.json #: core/doctype/report/report.json #: core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.json +#: core/workspace/build/build.json #: desk/doctype/dashboard_chart/dashboard_chart.json #: desk/doctype/form_tour/form_tour.json #: desk/doctype/number_card/number_card.json @@ -21024,13 +20798,6 @@ msgstr "" msgid "Report" msgstr "" -#. Label of a Link in the Build Workspace -#. Label of a shortcut in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Report" -msgid "Report" -msgstr "" - #. Option for the 'Report Type' (Select) field in DocType 'Report' #. Option for the 'DocType View' (Select) field in DocType 'Workspace Shortcut' #: core/doctype/report/report.json @@ -21601,6 +21368,8 @@ msgstr "" #. Label of the role (Link) field in DocType 'Has Role' #. Name of a DocType #. Label of the role (Link) field in DocType 'User Type' +#. Label of a Link in the Users Workspace +#. Label of a shortcut in the Users Workspace #. Label of the role (Link) field in DocType 'Onboarding Permission' #. Label of the role (Link) field in DocType 'ToDo' #. Label of the role (Link) field in DocType 'OAuth Client Role' @@ -21614,6 +21383,7 @@ msgstr "" #: core/doctype/user_type/user_type.py:109 #: core/page/permission_manager/permission_manager.js:212 #: core/page/permission_manager/permission_manager.js:450 +#: core/workspace/users/users.json #: desk/doctype/onboarding_permission/onboarding_permission.json #: desk/doctype/todo/todo.json #: integrations/doctype/oauth_client_role/oauth_client_role.json @@ -21623,13 +21393,6 @@ msgstr "" msgid "Role" msgstr "" -#. Label of a Link in the Users Workspace -#. Label of a shortcut in the Users Workspace -#: core/workspace/users/users.json -msgctxt "Role" -msgid "Role" -msgstr "" - #: core/doctype/role/role.js:8 msgid "Role 'All' will be given to all system + website users." msgstr "" @@ -21645,13 +21408,9 @@ msgid "Role Name" msgstr "" #. Name of a DocType -#: core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.json -msgid "Role Permission for Page and Report" -msgstr "" - #. Label of a Link in the Users Workspace +#: core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.json #: core/workspace/users/users.json -msgctxt "Role Permission for Page and Report" msgid "Role Permission for Page and Report" msgstr "" @@ -21676,14 +21435,10 @@ msgstr "" #. Name of a DocType #. Label of the role_profile_name (Link) field in DocType 'User' #. Label of the role_profile (Link) field in DocType 'User Role Profile' +#. Label of a Link in the Users Workspace #: core/doctype/role_profile/role_profile.json core/doctype/user/user.json #: core/doctype/user_role_profile/user_role_profile.json -msgid "Role Profile" -msgstr "" - -#. Label of a Link in the Users Workspace #: core/workspace/users/users.json -msgctxt "Role Profile" msgid "Role Profile" msgstr "" @@ -21937,13 +21692,9 @@ msgid "Run scheduled jobs only if checked" msgstr "" #. Name of a DocType -#: integrations/doctype/s3_backup_settings/s3_backup_settings.json -msgid "S3 Backup Settings" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: integrations/doctype/s3_backup_settings/s3_backup_settings.json #: integrations/workspace/integrations/integrations.json -msgctxt "S3 Backup Settings" msgid "S3 Backup Settings" msgstr "" @@ -21983,13 +21734,9 @@ msgid "SMS Parameter" msgstr "" #. Name of a DocType -#: core/doctype/sms_settings/sms_settings.json -msgid "SMS Settings" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: core/doctype/sms_settings/sms_settings.json #: integrations/workspace/integrations/integrations.json -msgctxt "SMS Settings" msgid "SMS Settings" msgstr "" @@ -22111,7 +21858,7 @@ msgstr "" #: public/js/frappe/views/kanban/kanban_view.js:343 #: public/js/frappe/views/reports/query_report.js:1802 #: public/js/frappe/views/reports/report_view.js:1640 -#: public/js/frappe/views/workspace/workspace.js:530 +#: public/js/frappe/views/workspace/workspace.js:528 #: public/js/frappe/widgets/base_widget.js:142 #: public/js/frappe/widgets/quick_list_widget.js:119 #: public/js/print_format_builder/print_format_builder.bundle.js:15 @@ -22166,7 +21913,7 @@ msgstr "" #: public/js/frappe/list/list_settings.js:40 #: public/js/frappe/views/kanban/kanban_settings.js:47 -#: public/js/frappe/views/workspace/workspace.js:542 +#: public/js/frappe/views/workspace/workspace.js:540 msgid "Saving" msgstr "" @@ -22237,22 +21984,17 @@ msgid "Scheduled Job Log" msgstr "" #. Name of a DocType +#. Label of a Link in the Build Workspace #. Label of the scheduled_job_type (Link) field in DocType 'System Health #. Report Failing Jobs' #: core/doctype/scheduled_job_type/scheduled_job_type.json +#: core/workspace/build/build.json #: desk/doctype/system_health_report_failing_jobs/system_health_report_failing_jobs.json msgid "Scheduled Job Type" msgstr "" #. Label of a Link in the Build Workspace #: core/workspace/build/build.json -msgctxt "Scheduled Job Type" -msgid "Scheduled Job Type" -msgstr "" - -#. Label of a Link in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Scheduled Job Log" msgid "Scheduled Jobs Logs" msgstr "" @@ -23202,15 +22944,11 @@ msgstr "" #. Label of the server_script (Link) field in DocType 'Scheduled Job Type' #. Name of a DocType -#: core/doctype/scheduled_job_type/scheduled_job_type.json -#: core/doctype/server_script/server_script.json -msgid "Server Script" -msgstr "" - #. Label of a Link in the Build Workspace #. Label of a shortcut in the Build Workspace +#: core/doctype/scheduled_job_type/scheduled_job_type.json +#: core/doctype/server_script/server_script.json #: core/workspace/build/build.json -msgctxt "Server Script" msgid "Server Script" msgstr "" @@ -23480,7 +23218,7 @@ msgstr "" #: integrations/workspace/integrations/integrations.json #: public/js/frappe/form/templates/print_layout.html:25 #: public/js/frappe/ui/toolbar/toolbar.js:289 -#: public/js/frappe/views/workspace/workspace.js:558 +#: public/js/frappe/views/workspace/workspace.js:556 #: website/doctype/web_form/web_form.json #: website/doctype/web_page/web_page.json msgid "Settings" @@ -23886,6 +23624,11 @@ msgstr "" msgid "Show more details" msgstr "" +#. Label of the show_on_timeline (Check) field in DocType 'DocField' +#: core/doctype/docfield/docfield.json +msgid "Show on Timeline" +msgstr "" + #. Description of the 'Stats Time Interval' (Select) field in DocType 'Number #. Card' #: desk/doctype/number_card/number_card.json @@ -23936,7 +23679,7 @@ msgstr "" msgid "Sign Up and Confirmation" msgstr "" -#: core/doctype/user/user.py:974 +#: core/doctype/user/user.py:978 msgid "Sign Up is disabled" msgstr "" @@ -24080,13 +23823,9 @@ msgid "Slack Webhook Error" msgstr "" #. Name of a DocType -#: integrations/doctype/slack_webhook_url/slack_webhook_url.json -msgid "Slack Webhook URL" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: integrations/doctype/slack_webhook_url/slack_webhook_url.json #: integrations/workspace/integrations/integrations.json -msgctxt "Slack Webhook URL" msgid "Slack Webhook URL" msgstr "" @@ -24152,13 +23891,9 @@ msgid "Social Link Type" msgstr "" #. Name of a DocType -#: integrations/doctype/social_login_key/social_login_key.json -msgid "Social Login Key" -msgstr "" - #. Label of a Link in the Integrations Workspace +#: integrations/doctype/social_login_key/social_login_key.json #: integrations/workspace/integrations/integrations.json -msgctxt "Social Login Key" msgid "Social Login Key" msgstr "" @@ -24958,7 +24693,7 @@ msgstr "" msgid "Suggested Indexes" msgstr "" -#: core/doctype/user/user.py:689 +#: core/doctype/user/user.py:693 msgid "Suggested Username: {0}" msgstr "" @@ -25283,13 +25018,9 @@ msgid "System Page" msgstr "" #. Name of a DocType -#: core/doctype/system_settings/system_settings.json -msgid "System Settings" -msgstr "" - #. Label of a shortcut in the Build Workspace +#: core/doctype/system_settings/system_settings.json #: core/workspace/build/build.json -msgctxt "System Settings" msgid "System Settings" msgstr "" @@ -25485,7 +25216,7 @@ msgstr "" msgid "Templates" msgstr "" -#: core/doctype/user/user.py:985 +#: core/doctype/user/user.py:989 msgid "Temporarily Disabled" msgstr "" @@ -25745,11 +25476,11 @@ msgid "" "" msgstr "" -#: core/doctype/user/user.py:945 +#: core/doctype/user/user.py:949 msgid "The reset password link has been expired" msgstr "" -#: core/doctype/user/user.py:947 +#: core/doctype/user/user.py:951 msgid "The reset password link has either been used before or is invalid" msgstr "" @@ -26181,7 +25912,7 @@ msgstr "" msgid "This will terminate the job immediately and might be dangerous, are you sure? " msgstr "" -#: core/doctype/user/user.py:1205 +#: core/doctype/user/user.py:1209 msgid "Throttled" msgstr "" @@ -26395,9 +26126,9 @@ msgstr "" #: desk/doctype/system_health_report_errors/system_health_report_errors.json #: desk/doctype/workspace/workspace.json #: email/doctype/email_group/email_group.json -#: public/js/frappe/views/workspace/workspace.js:642 -#: public/js/frappe/views/workspace/workspace.js:971 -#: public/js/frappe/views/workspace/workspace.js:1218 +#: public/js/frappe/views/workspace/workspace.js:640 +#: public/js/frappe/views/workspace/workspace.js:969 +#: public/js/frappe/views/workspace/workspace.js:1216 #: website/doctype/blog_category/blog_category.json #: website/doctype/blog_post/blog_post.json #: website/doctype/blog_settings/blog_settings.json @@ -26451,13 +26182,8 @@ msgstr "" msgid "To Date Field" msgstr "" -#: desk/doctype/todo/todo_list.js:6 -msgid "To Do" -msgstr "" - #. Label of a Link in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "ToDo" +#: automation/workspace/tools/tools.json desk/doctype/todo/todo_list.js:6 msgid "To Do" msgstr "" @@ -26568,15 +26294,11 @@ msgstr "" msgid "To version" msgstr "" +#. Label of a shortcut in the Tools Workspace #. Name of a DocType #. Name of a report -#: desk/doctype/todo/todo.json desk/report/todo/todo.json -msgid "ToDo" -msgstr "" - -#. Label of a shortcut in the Tools Workspace -#: automation/workspace/tools/tools.json -msgctxt "ToDo" +#: automation/workspace/tools/tools.json desk/doctype/todo/todo.json +#: desk/report/todo/todo.json msgid "ToDo" msgstr "" @@ -26651,7 +26373,7 @@ msgstr "" msgid "Too many changes to database in single action." msgstr "" -#: core/doctype/user/user.py:986 +#: core/doctype/user/user.py:990 msgid "Too many users signed up recently, so the registration is disabled. Please try back in an hour" msgstr "" @@ -27220,7 +26942,7 @@ msgstr "" msgid "Unhandled Emails" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:599 +#: public/js/frappe/views/workspace/workspace.js:597 msgid "Unhide Workspace" msgstr "" @@ -27342,7 +27064,7 @@ msgstr "" #: printing/page/print_format_builder/print_format_builder.js:670 #: printing/page/print_format_builder/print_format_builder.js:757 #: public/js/frappe/form/grid_row.js:404 -#: public/js/frappe/views/workspace/workspace.js:690 +#: public/js/frappe/views/workspace/workspace.js:688 msgid "Update" msgstr "" @@ -27352,7 +27074,7 @@ msgstr "" msgid "Update Amendment Naming" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:639 +#: public/js/frappe/views/workspace/workspace.js:637 msgid "Update Details" msgstr "" @@ -27447,7 +27169,7 @@ msgctxt "Freeze message while updating a document" msgid "Updating" msgstr "" -#: email/doctype/email_queue/email_queue.py:446 +#: email/doctype/email_queue/email_queue.py:453 msgid "Updating Email Queue Statuses. The emails will be picked up in the next scheduled run." msgstr "" @@ -27620,6 +27342,8 @@ msgstr "" #. Name of a DocType #. Label of the user (Link) field in DocType 'User Group Member' #. Label of the user (Link) field in DocType 'User Permission' +#. Label of a Link in the Users Workspace +#. Label of a shortcut in the Users Workspace #. Label of the user (Link) field in DocType 'Dashboard Settings' #. Label of the user (Link) field in DocType 'Note Seen By' #. Label of the user (Link) field in DocType 'Notification Settings' @@ -27646,6 +27370,7 @@ msgstr "" #: core/doctype/user_group_member/user_group_member.json #: core/doctype/user_permission/user_permission.json #: core/report/permitted_documents_for_user/permitted_documents_for_user.js:8 +#: core/workspace/users/users.json #: desk/doctype/dashboard_settings/dashboard_settings.json #: desk/doctype/note_seen_by/note_seen_by.json #: desk/doctype/notification_settings/notification_settings.json @@ -27667,13 +27392,6 @@ msgstr "" msgid "User" msgstr "" -#. Label of a Link in the Users Workspace -#. Label of a shortcut in the Users Workspace -#: core/workspace/users/users.json -msgctxt "User" -msgid "User" -msgstr "" - #. Label of the user (Link) field in DocType 'Access Log' #: core/doctype/access_log/access_log.json msgid "User " @@ -27811,7 +27529,9 @@ msgstr "" msgid "User Permission" msgstr "" +#. Label of a Link in the Users Workspace #: core/page/permission_manager/permission_manager_help.html:30 +#: core/workspace/users/users.json #: public/js/frappe/views/reports/query_report.js:1789 #: public/js/frappe/views/reports/report_view.js:1666 msgid "User Permissions" @@ -27822,12 +27542,6 @@ msgctxt "Button in list view menu" msgid "User Permissions" msgstr "" -#. Label of a Link in the Users Workspace -#: core/workspace/users/users.json -msgctxt "User Permission" -msgid "User Permissions" -msgstr "" - #: core/page/permission_manager/permission_manager_help.html:32 msgid "User Permissions are used to limit users to specific records." msgstr "" @@ -27872,14 +27586,9 @@ msgstr "" #. Label of the user_type (Link) field in DocType 'User' #. Name of a DocType -#: core/doctype/user/user.json core/doctype/user_type/user_type.json -#: core/doctype/user_type/user_type.py:82 -msgid "User Type" -msgstr "" - #. Label of a shortcut in the Users Workspace -#: core/workspace/users/users.json -msgctxt "User Type" +#: core/doctype/user/user.json core/doctype/user_type/user_type.json +#: core/doctype/user_type/user_type.py:82 core/workspace/users/users.json msgid "User Type" msgstr "" @@ -27940,7 +27649,7 @@ msgstr "" msgid "User with email: {0} does not exist in the system. Please ask 'System Administrator' to create the user for you." msgstr "" -#: core/doctype/user/user.py:491 +#: core/doctype/user/user.py:495 msgid "User {0} cannot be deleted" msgstr "" @@ -27948,7 +27657,7 @@ msgstr "" msgid "User {0} cannot be disabled" msgstr "" -#: core/doctype/user/user.py:571 +#: core/doctype/user/user.py:575 msgid "User {0} cannot be renamed" msgstr "" @@ -27969,7 +27678,7 @@ msgstr "" msgid "User {0} has requested for data deletion" msgstr "" -#: core/doctype/user/user.py:1334 +#: core/doctype/user/user.py:1338 msgid "User {0} impersonated as {1}" msgstr "" @@ -27997,7 +27706,7 @@ msgstr "" msgid "Username" msgstr "" -#: core/doctype/user/user.py:656 +#: core/doctype/user/user.py:660 msgid "Username {0} already exists" msgstr "" @@ -28456,14 +28165,10 @@ msgid "Weak" msgstr "" #. Name of a DocType -#: website/doctype/web_form/web_form.json -msgid "Web Form" -msgstr "" - #. Label of a Link in the Website Workspace #. Label of a shortcut in the Website Workspace +#: website/doctype/web_form/web_form.json #: website/workspace/website/website.json -msgctxt "Web Form" msgid "Web Form" msgstr "" @@ -28483,14 +28188,10 @@ msgid "Web Form List Column" msgstr "" #. Name of a DocType -#: website/doctype/web_page/web_page.json -msgid "Web Page" -msgstr "" - #. Label of a Link in the Website Workspace #. Label of a shortcut in the Website Workspace +#: website/doctype/web_page/web_page.json #: website/workspace/website/website.json -msgctxt "Web Page" msgid "Web Page" msgstr "" @@ -28541,14 +28242,10 @@ msgstr "" #. Name of a DocType #. Label of the webhook (Link) field in DocType 'Webhook Request Log' +#. Label of a Link in the Integrations Workspace #: integrations/doctype/webhook/webhook.json #: integrations/doctype/webhook_request_log/webhook_request_log.json -msgid "Webhook" -msgstr "" - -#. Label of a Link in the Integrations Workspace #: integrations/workspace/integrations/integrations.json -msgctxt "Webhook" msgid "Webhook" msgstr "" @@ -28639,13 +28336,9 @@ msgid "Website Meta Tag" msgstr "" #. Name of a DocType -#: website/doctype/website_route_meta/website_route_meta.json -msgid "Website Route Meta" -msgstr "" - #. Label of a Link in the Website Workspace +#: website/doctype/website_route_meta/website_route_meta.json #: website/workspace/website/website.json -msgctxt "Website Route Meta" msgid "Website Route Meta" msgstr "" @@ -28655,13 +28348,9 @@ msgid "Website Route Redirect" msgstr "" #. Name of a DocType -#: website/doctype/website_script/website_script.json -msgid "Website Script" -msgstr "" - #. Label of a Link in the Website Workspace +#: website/doctype/website_script/website_script.json #: website/workspace/website/website.json -msgctxt "Website Script" msgid "Website Script" msgstr "" @@ -28675,29 +28364,21 @@ msgid "Website Search Field must be a valid fieldname" msgstr "" #. Name of a DocType -#: website/doctype/website_settings/website_settings.json -msgid "Website Settings" -msgstr "" - #. Label of a Link in the Website Workspace #. Label of a shortcut in the Website Workspace +#: website/doctype/website_settings/website_settings.json #: website/workspace/website/website.json -msgctxt "Website Settings" msgid "Website Settings" msgstr "" #. Label of the website_sidebar (Link) field in DocType 'Web Form' #. Label of the website_sidebar (Link) field in DocType 'Web Page' #. Name of a DocType +#. Label of a Link in the Website Workspace #: website/doctype/web_form/web_form.json #: website/doctype/web_page/web_page.json #: website/doctype/website_sidebar/website_sidebar.json -msgid "Website Sidebar" -msgstr "" - -#. Label of a Link in the Website Workspace #: website/workspace/website/website.json -msgctxt "Website Sidebar" msgid "Website Sidebar" msgstr "" @@ -28707,13 +28388,9 @@ msgid "Website Sidebar Item" msgstr "" #. Name of a DocType -#: website/doctype/website_slideshow/website_slideshow.json -msgid "Website Slideshow" -msgstr "" - #. Label of a Link in the Website Workspace +#: website/doctype/website_slideshow/website_slideshow.json #: website/workspace/website/website.json -msgctxt "Website Slideshow" msgid "Website Slideshow" msgstr "" @@ -28724,14 +28401,10 @@ msgstr "" #. Label of the website_theme (Link) field in DocType 'Website Settings' #. Name of a DocType +#. Label of a Link in the Website Workspace #: website/doctype/website_settings/website_settings.json #: website/doctype/website_theme/website_theme.json -msgid "Website Theme" -msgstr "" - -#. Label of a Link in the Website Workspace #: website/workspace/website/website.json -msgctxt "Website Theme" msgid "Website Theme" msgstr "" @@ -28840,11 +28513,11 @@ msgstr "" msgid "Welcome Workspace" msgstr "" -#: core/doctype/user/user.py:369 +#: core/doctype/user/user.py:373 msgid "Welcome email sent" msgstr "" -#: core/doctype/user/user.py:430 +#: core/doctype/user/user.py:434 msgid "Welcome to {0}" msgstr "" @@ -28952,20 +28625,16 @@ msgstr "" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #. Option for the 'Comment Type' (Select) field in DocType 'Communication' #. Group in DocType's connections +#. Label of a Link in the Build Workspace #. Name of a DocType #: core/doctype/comment/comment.json #: core/doctype/communication/communication.json -#: core/doctype/doctype/doctype.json public/js/workflow_builder/store.js:129 +#: core/doctype/doctype/doctype.json core/workspace/build/build.json +#: public/js/workflow_builder/store.js:129 #: workflow/doctype/workflow/workflow.json msgid "Workflow" msgstr "" -#. Label of a Link in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Workflow" -msgid "Workflow" -msgstr "" - #. Name of a DocType #: workflow/doctype/workflow_action/workflow_action.json #: workflow/doctype/workflow_action/workflow_action.py:438 @@ -29077,19 +28746,15 @@ msgid "Workflows allow you to define custom rules for the approval process of a msgstr "" #. Label of the workspace_section (Section Break) field in DocType 'User' +#. Label of a Link in the Build Workspace #. Name of a DocType -#: core/doctype/user/user.json desk/doctype/workspace/workspace.json +#: core/doctype/user/user.json core/workspace/build/build.json +#: desk/doctype/workspace/workspace.json #: public/js/frappe/ui/toolbar/search_utils.js:557 #: public/js/frappe/views/workspace/workspace.js:10 msgid "Workspace" msgstr "" -#. Label of a Link in the Build Workspace -#: core/workspace/build/build.json -msgctxt "Workspace" -msgid "Workspace" -msgstr "" - #: public/js/frappe/router.js:179 msgid "Workspace {0} does not exist" msgstr "" @@ -29134,15 +28799,15 @@ msgstr "" msgid "Workspace not found" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:1308 +#: public/js/frappe/views/workspace/workspace.js:1306 msgid "Workspace {0} Created Successfully" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:937 +#: public/js/frappe/views/workspace/workspace.js:935 msgid "Workspace {0} Deleted Successfully" msgstr "" -#: public/js/frappe/views/workspace/workspace.js:715 +#: public/js/frappe/views/workspace/workspace.js:713 msgid "Workspace {0} Edited Successfully" msgstr "" @@ -29469,19 +29134,19 @@ msgstr "" msgid "You cannot unset 'Read Only' for field {0}" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:121 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:125 msgid "You changed the value of {0}" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:110 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:114 msgid "You changed the value of {0} {1}" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:183 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:191 msgid "You changed the values for {0}" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:172 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:180 msgid "You changed the values for {0} {1}" msgstr "" @@ -29828,7 +29493,7 @@ msgstr "" msgid "`job_id` paramater is required for deduplication." msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:219 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:232 msgid "added rows for {0}" msgstr "" @@ -30308,7 +29973,7 @@ msgstr "" msgid "red" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:221 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:234 msgid "removed rows for {0}" msgstr "" @@ -30730,19 +30395,19 @@ msgstr "" msgid "{0} cannot be hidden and mandatory without any default value" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:124 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:128 msgid "{0} changed the value of {1}" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:115 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:119 msgid "{0} changed the value of {1} {2}" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:186 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:194 msgid "{0} changed the values for {1}" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:177 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:185 msgid "{0} changed the values for {1} {2}" msgstr "" @@ -30815,11 +30480,11 @@ msgstr "" msgid "{0} format could not be determined from the values in this column. Defaulting to {1}." msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:97 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:101 msgid "{0} from {1} to {2}" msgstr "" -#: public/js/frappe/form/footer/version_timeline_content_builder.js:157 +#: public/js/frappe/form/footer/version_timeline_content_builder.js:165 msgid "{0} from {1} to {2} in row #{3}" msgstr "" @@ -31018,7 +30683,7 @@ msgstr "" msgid "{0} items selected" msgstr "" -#: core/doctype/user/user.py:1343 +#: core/doctype/user/user.py:1347 msgid "{0} just impersonated as you. They gave this reason: {1}" msgstr "" @@ -31372,7 +31037,7 @@ msgstr "" #: contacts/doctype/address/address.js:35 #: contacts/doctype/contact/contact.js:88 -#: public/js/frappe/views/workspace/workspace.js:211 +#: public/js/frappe/views/workspace/workspace.js:209 msgid "{0}: {1}" msgstr "" @@ -31410,7 +31075,6 @@ msgstr "" #. Count format of shortcut in the Website Workspace #: website/workspace/website/website.json -msgctxt "Blogger" msgid "{} Active" msgstr "" @@ -31428,13 +31092,6 @@ msgstr "" #. Count format of shortcut in the Website Workspace #: website/workspace/website/website.json -msgctxt "Blog Post" -msgid "{} Published" -msgstr "" - -#. Count format of shortcut in the Website Workspace -#: website/workspace/website/website.json -msgctxt "Web Page" msgid "{} Published" msgstr "" From ff0bec5838a33a307ee3637869893f5300823efb Mon Sep 17 00:00:00 2001 From: Corentin Forler Date: Mon, 5 Aug 2024 14:28:19 +0200 Subject: [PATCH 22/23] perf(utils): Lazy load flags img in frappe.utils.flag --- frappe/public/js/frappe/utils/utils.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frappe/public/js/frappe/utils/utils.js b/frappe/public/js/frappe/utils/utils.js index ff534141af..c3df8e1987 100644 --- a/frappe/public/js/frappe/utils/utils.js +++ b/frappe/public/js/frappe/utils/utils.js @@ -1213,9 +1213,7 @@ Object.assign(frappe.utils, { }, flag(country_code) { - return ``; + return ``; }, make_chart(wrapper, custom_options = {}) { From 1c35f2216f63111e92c6c3a3ec044f9b146f854d Mon Sep 17 00:00:00 2001 From: Sumit Bhanushali Date: Mon, 5 Aug 2024 18:01:30 +0530 Subject: [PATCH 23/23] fix(XLSX): remove unsupported characters from sheet title --- frappe/utils/xlsxutils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frappe/utils/xlsxutils.py b/frappe/utils/xlsxutils.py index 9442a4c367..53b44bd5ca 100644 --- a/frappe/utils/xlsxutils.py +++ b/frappe/utils/xlsxutils.py @@ -8,6 +8,7 @@ import xlrd from openpyxl import load_workbook from openpyxl.styles import Font from openpyxl.utils import get_column_letter +from openpyxl.workbook.child import INVALID_TITLE_REGEX import frappe from frappe.utils.html_utils import unescape_html @@ -21,7 +22,8 @@ def make_xlsx(data, sheet_name, wb=None, column_widths=None): if wb is None: wb = openpyxl.Workbook(write_only=True) - ws = wb.create_sheet(sheet_name, 0) + sheet_name_sanitized = INVALID_TITLE_REGEX.sub(" ", sheet_name) + ws = wb.create_sheet(sheet_name_sanitized, 0) for i, column_width in enumerate(column_widths): if column_width: