From e630c53083f5c784e1b6abb4913ee6e66f5ed5ed Mon Sep 17 00:00:00 2001 From: prssanna Date: Mon, 1 Mar 2021 10:44:25 +0530 Subject: [PATCH 01/17] fix: reduce datatable spacing --- frappe/public/scss/desk/frappe_datatable.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/scss/desk/frappe_datatable.scss b/frappe/public/scss/desk/frappe_datatable.scss index 89e4f6c0f1..3519bab743 100644 --- a/frappe/public/scss/desk/frappe_datatable.scss +++ b/frappe/public/scss/desk/frappe_datatable.scss @@ -7,7 +7,7 @@ --dt-text-color: var(--text-light); --dt-text-light: var(--bg-color); --dt-spacer-1: 0.25rem; - --dt-spacer-2: 0.5rem; + --dt-spacer-2: var(--padding-xs); --dt-spacer-3: 1rem; --dt-border-radius: var(--border-radius); --dt-cell-bg: var(--fg-color); From b1a04ed453cd40d7374d2f8b72d482bf4460ca12 Mon Sep 17 00:00:00 2001 From: prssanna Date: Mon, 1 Mar 2021 10:57:30 +0530 Subject: [PATCH 02/17] fix: reference doctype for saved report --- frappe/public/js/frappe/list/list_view_select.js | 7 ++++--- frappe/public/js/frappe/views/reports/report_view.js | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/frappe/public/js/frappe/list/list_view_select.js b/frappe/public/js/frappe/list/list_view_select.js index 58753b7550..826158ff3f 100644 --- a/frappe/public/js/frappe/list/list_view_select.js +++ b/frappe/public/js/frappe/list/list_view_select.js @@ -156,10 +156,11 @@ frappe.views.ListViewSelect = class ListViewSelect { items.map(item => { if (item.name.toLowerCase() == page_name.toLowerCase()) { placeholder = item.name; + } else { + html += `
  • ${ + item.name + }
  • `; } - html += `
  • ${ - item.name - }
  • `; }); } diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index e2e0080e6f..b29b6b87e6 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -1203,11 +1203,11 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { // Rerender the reports dropdown, // so that this report is included in the dropdown as well. frappe.boot.user.all_reports[r.message] = { - ref_doctype: "Item", + ref_doctype: this.doctype, report_type: "Report Builder", title: r.message, }; - this.list_sidebar.setup_reports(); + frappe.set_route('List', this.doctype, 'Report', r.message); return; } From 7865f60cf3ff5fd21a0d0118b363a697f47ae594 Mon Sep 17 00:00:00 2001 From: prssanna Date: Mon, 1 Mar 2021 15:06:21 +0530 Subject: [PATCH 03/17] fix: save selected print format --- frappe/printing/page/print/print.js | 5 ++++- .../page/print_format_builder/print_format_builder.js | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/frappe/printing/page/print/print.js b/frappe/printing/page/print/print.js index 0ae8786e95..1d361c8f81 100644 --- a/frappe/printing/page/print/print.js +++ b/frappe/printing/page/print/print.js @@ -641,10 +641,13 @@ frappe.ui.form.PrintView = class { refresh_print_options() { this.print_formats = frappe.meta.get_print_formats(this.frm.doctype); - return this.print_sel.empty().add_options([ + const print_format_select_val = this.print_sel.val(); + this.print_sel.empty().add_options([ this.get_default_option_for_select(__('Select Print Format')), ...this.print_formats ]); + return this.print_formats.includes(print_format_select_val) + && this.print_sel.val(print_format_select_val); } selected_format() { diff --git a/frappe/printing/page/print_format_builder/print_format_builder.js b/frappe/printing/page/print_format_builder/print_format_builder.js index eb87190ab5..7e58e295b5 100644 --- a/frappe/printing/page/print_format_builder/print_format_builder.js +++ b/frappe/printing/page/print_format_builder/print_format_builder.js @@ -784,6 +784,7 @@ frappe.PrintFormatBuilder = Class.extend({ btn: this.page.btn_primary, callback: function(r) { me.print_format = r.message; + locals['Print Format'][me.print_format.name] = r.message; frappe.show_alert({message: __("Saved"), indicator: 'green'}); } }); From 724bd729040984b49bababcce06d630334051460 Mon Sep 17 00:00:00 2001 From: prssanna Date: Mon, 1 Mar 2021 15:07:15 +0530 Subject: [PATCH 04/17] fix: render fieldname if no label on print format builder sidebar --- .../page/print_format_builder/print_format_builder_sidebar.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html b/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html index 0cf8178f82..1ebb87ac31 100644 --- a/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html +++ b/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html @@ -13,7 +13,7 @@ - {%= __(f.label) %} + {%= __(f.label) || __(f.fieldname) %} {% } %} From 297d4c668e911c0b90a23fa86ba3f630856a7420 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 13:45:09 +0530 Subject: [PATCH 05/17] fix: print format custom css description --- frappe/printing/doctype/print_format/print_format.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/printing/doctype/print_format/print_format.json b/frappe/printing/doctype/print_format/print_format.json index 92d4a67d14..4032cef209 100644 --- a/frappe/printing/doctype/print_format/print_format.json +++ b/frappe/printing/doctype/print_format/print_format.json @@ -171,7 +171,7 @@ "fieldname": "custom_html_help", "fieldtype": "HTML", "label": "Custom HTML Help", - "options": "

    Custom CSS Help

    \n\n

    Notes:

    \n\n
      \n
    1. All field groups (label + value) are set attributes data-fieldtype and data-fieldname
    2. \n
    3. All values are given class value
    4. \n
    5. All Section Breaks are given class section-break
    6. \n
    7. All Column Breaks are given class column-break
    8. \n
    \n\n

    Examples

    \n\n

    1. Left align integers

    \n\n
    [data-fieldtype=\"Int\"] .value { text-left: left; }
    \n\n

    1. Add border to sections except the last section

    \n\n
    .section-break { padding: 30px 0px; border-bottom: 1px solid #eee; }\n.section-break:last-child { padding-bottom: 0px; border-bottom: 0px;  }
    \n" + "options": "

    Custom CSS Help

    \n\n

    Notes:

    \n\n
      \n
    1. All field groups (label + value) are set attributes data-fieldtype and data-fieldname
    2. \n
    3. All values are given class value
    4. \n
    5. All Section Breaks are given class section-break
    6. \n
    7. All Column Breaks are given class column-break
    8. \n
    \n\n

    Examples

    \n\n

    1. Left align integers

    \n\n
    [data-fieldtype=\"Int\"] .value { text-align: left; }
    \n\n

    1. Add border to sections except the last section

    \n\n
    .section-break { padding: 30px 0px; border-bottom: 1px solid #eee; }\n.section-break:last-child { padding-bottom: 0px; border-bottom: 0px;  }
    \n" }, { "depends_on": "custom_format", @@ -211,7 +211,7 @@ "idx": 1, "index_web_pages_for_search": 1, "links": [], - "modified": "2020-12-14 11:38:49.132061", + "modified": "2021-03-01 15:25:46.578863", "modified_by": "Administrator", "module": "Printing", "name": "Print Format", From d5980b345f23a8a118ca16869a766d54fb5a8239 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 13:45:34 +0530 Subject: [PATCH 06/17] fix: set selected value in print format select --- frappe/printing/page/print/print.js | 1 + 1 file changed, 1 insertion(+) diff --git a/frappe/printing/page/print/print.js b/frappe/printing/page/print/print.js index 1d361c8f81..dfd93c4efa 100644 --- a/frappe/printing/page/print/print.js +++ b/frappe/printing/page/print/print.js @@ -269,6 +269,7 @@ frappe.ui.form.PrintView = class { based_on: data.based_on, }; frappe.set_route('print-format-builder'); + this.print_sel.val(data.print_format_name); }, __('New Custom Print Format'), __('Start') From 8488272743c82846f769172147b666f4813fe930 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 13:46:03 +0530 Subject: [PATCH 07/17] fix: typo --- frappe/public/js/frappe/form/grid.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index 3bde525fff..6b125f3da1 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -649,7 +649,7 @@ export default class Grid { duplicate_row(d, copy_doc) { $.each(copy_doc, function (key, value) { if (!["creation", "modified", "modified_by", "idx", "owner", - "parent", "doctype", "name", "parentield"].includes(key)) { + "parent", "doctype", "name", "parentfield"].includes(key)) { d[key] = value; } }); From afce76d4e144180a9e6baa973d702a304e95c860 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 13:46:45 +0530 Subject: [PATCH 08/17] fix: also support primary_action_label as a key --- frappe/public/js/frappe/ui/messages.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/ui/messages.js b/frappe/public/js/frappe/ui/messages.js index 36bd5dd42d..a4b1ad9f79 100644 --- a/frappe/public/js/frappe/ui/messages.js +++ b/frappe/public/js/frappe/ui/messages.js @@ -200,7 +200,7 @@ frappe.msgprint = function(msg, title, is_minimizable) { } frappe.msg_dialog.set_primary_action( - __(data.primary_action.label || "Done"), + __(data.primary_action.label || data.primary_action_label || "Done"), data.primary_action.action ); } else { From b340f955f9e60e599d95dd0875d1218c418d8387 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 13:47:10 +0530 Subject: [PATCH 09/17] fix: pre style --- frappe/public/scss/desk/global.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/public/scss/desk/global.scss b/frappe/public/scss/desk/global.scss index b09d9146ae..f4d6384352 100644 --- a/frappe/public/scss/desk/global.scss +++ b/frappe/public/scss/desk/global.scss @@ -102,7 +102,8 @@ a.badge-hover { } pre { - color: var(--text-light) + color: var(--text-light); + white-space: pre-wrap; } .col-xs-1 { @extend .col-1; } From 50f0a57188c5920672a3e764054d1a690ccd9200 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 13:47:25 +0530 Subject: [PATCH 10/17] fix: select in datatable style --- frappe/public/scss/desk/frappe_datatable.scss | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/frappe/public/scss/desk/frappe_datatable.scss b/frappe/public/scss/desk/frappe_datatable.scss index 3519bab743..7e4e5b0ef8 100644 --- a/frappe/public/scss/desk/frappe_datatable.scss +++ b/frappe/public/scss/desk/frappe_datatable.scss @@ -26,6 +26,16 @@ border-radius: 0px; border: none; background-color: transparent; + height: 100%; + + &:focus { + box-shadow: none; + } + + &[data-fieldtype="Select"] .select-icon { + top: 5px; + right: 10px; + } } .dt-header { From 9609462f6d8633d966908811fde83c945e33b329 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 14:20:09 +0530 Subject: [PATCH 11/17] fix: strip html from kanban title --- frappe/public/js/frappe/views/kanban/kanban_board.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/kanban/kanban_board.js b/frappe/public/js/frappe/views/kanban/kanban_board.js index 8711deb4b4..e51a79ad7a 100644 --- a/frappe/public/js/frappe/views/kanban/kanban_board.js +++ b/frappe/public/js/frappe/views/kanban/kanban_board.js @@ -605,7 +605,7 @@ frappe.provide("frappe.views"); function make_dom() { var opts = { name: card.name, - title: remove_img_tags(card.title), + title: frappe.utils.html2text(card.title), disable_click: card._disable_click ? 'disable-click' : '', creation: card.creation, }; From f443c3100da17653bacc1e05e63c151ccc3e464c Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 14:20:37 +0530 Subject: [PATCH 12/17] fix: strip html from email subject --- frappe/public/js/frappe/views/communication.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/communication.js b/frappe/public/js/frappe/views/communication.js index 82e3d2aa0e..a5f078fc7d 100755 --- a/frappe/public/js/frappe/views/communication.js +++ b/frappe/public/js/frappe/views/communication.js @@ -203,7 +203,9 @@ frappe.views.CommunicationComposer = Class.extend({ if(this.dialog.fields_dict.sender) { this.dialog.fields_dict.sender.set_value(this.sender || ''); } - this.dialog.fields_dict.subject.set_value(this.subject || ''); + this.dialog.fields_dict.subject.set_value( + frappe.utils.html2text(this.subject) || '' + ); this.setup_earlier_reply(); }, From d9912538495648aa1ade1865084aa736a8abf911 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 18:32:51 +0530 Subject: [PATCH 13/17] fix: datepicker dark theme style --- frappe/public/scss/common/datepicker.scss | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/frappe/public/scss/common/datepicker.scss b/frappe/public/scss/common/datepicker.scss index 8e709a130e..1205391a4b 100644 --- a/frappe/public/scss/common/datepicker.scss +++ b/frappe/public/scss/common/datepicker.scss @@ -4,6 +4,14 @@ font-family: inherit; z-index: 9999 !important; + background: var(--bg-color); + color: var(--text-color); + border-radius: var(--border-radius); + border: 1px solid var(--border-color); + + &--nav { + border-bottom: 1px solid var(--border-color); + } &--time-current-hours, &--time-current-minutes, &--time-current-seconds { font-family: inherit; @@ -45,6 +53,10 @@ } + &--time, &--buttons { + border-top: 1px solid var(--border-color);; + } + &--time-row { background-image: linear-gradient(to right, #0089FF, #0089FF); background-repeat: no-repeat; From 6b903e2c6c1f67291b5d1745c58c81249be65acc Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 18:34:08 +0530 Subject: [PATCH 14/17] fix: explicit call to .val to set first option in select --- frappe/public/js/frappe/form/controls/select.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frappe/public/js/frappe/form/controls/select.js b/frappe/public/js/frappe/form/controls/select.js index 026fbbf1e7..c1459d3a28 100644 --- a/frappe/public/js/frappe/form/controls/select.js +++ b/frappe/public/js/frappe/form/controls/select.js @@ -105,6 +105,7 @@ frappe.ui.form.ControlSelect = frappe.ui.form.ControlData.extend({ (function($) { $.fn.add_options = function(options_list) { // create options + let first_val; for(var i=0, j=options_list.length; i').html(cstr(label)) .attr('value', value) .prop('disabled', is_disabled) @@ -129,6 +133,7 @@ frappe.ui.form.ControlSelect = frappe.ui.form.ControlData.extend({ } // select the first option this.selectedIndex = 0; + $(this).val(first_val); return $(this); }; $.fn.set_working = function() { From 3cfb57cec1c7730188008066cd65823e68a06684 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 18:35:59 +0530 Subject: [PATCH 15/17] fix: don't show disabled users in leaderboard --- frappe/desk/leaderboard.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/frappe/desk/leaderboard.py b/frappe/desk/leaderboard.py index 8d00ea9bc2..2a981f061b 100644 --- a/frappe/desk/leaderboard.py +++ b/frappe/desk/leaderboard.py @@ -16,8 +16,18 @@ def get_leaderboards(): @frappe.whitelist() def get_energy_point_leaderboard(date_range, company = None, field = None, limit = None): + all_users = frappe.db.get_all('User', + filters = { + 'name': ['not in', ['Administrator', 'Guest']], + 'enabled': 1, + 'user_type': ['!=', 'Website User'] + }, + order_by = 'name ASC') + all_users_list = list(map(lambda x: x['name'], all_users)) + filters = [ ['type', '!=', 'Review'], + ['user', 'in', all_users_list] ] if date_range: date_range = frappe.parse_json(date_range) @@ -28,15 +38,7 @@ def get_energy_point_leaderboard(date_range, company = None, field = None, limit group_by = 'user', order_by = 'value desc' ) - all_users = frappe.db.get_all('User', - filters = { - 'name': ['not in', ['Administrator', 'Guest']], - 'enabled': 1, - 'user_type': ['!=', 'Website User'] - }, - order_by = 'name ASC') - all_users_list = list(map(lambda x: x['name'], all_users)) energy_point_users_list = list(map(lambda x: x['name'], energy_point_users)) for user in all_users_list: if user not in energy_point_users_list: From 817af23daa93b98119ed4750584fcc81fcbf90b1 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 18:39:00 +0530 Subject: [PATCH 16/17] style: fix formatting --- frappe/public/scss/common/datepicker.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/scss/common/datepicker.scss b/frappe/public/scss/common/datepicker.scss index 1205391a4b..870ef5783d 100644 --- a/frappe/public/scss/common/datepicker.scss +++ b/frappe/public/scss/common/datepicker.scss @@ -54,7 +54,7 @@ } &--time, &--buttons { - border-top: 1px solid var(--border-color);; + border-top: 1px solid var(--border-color); } &--time-row { From 4f7512893bce118432ff62627f3cc3b1ca272133 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 2 Mar 2021 19:11:53 +0530 Subject: [PATCH 17/17] fix: trigger select-change instead of setting first value --- frappe/public/js/frappe/form/controls/select.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/select.js b/frappe/public/js/frappe/form/controls/select.js index c1459d3a28..2ea32e032c 100644 --- a/frappe/public/js/frappe/form/controls/select.js +++ b/frappe/public/js/frappe/form/controls/select.js @@ -105,7 +105,6 @@ frappe.ui.form.ControlSelect = frappe.ui.form.ControlData.extend({ (function($) { $.fn.add_options = function(options_list) { // create options - let first_val; for(var i=0, j=options_list.length; i').html(cstr(label)) .attr('value', value) .prop('disabled', is_disabled) @@ -133,7 +130,7 @@ frappe.ui.form.ControlSelect = frappe.ui.form.ControlData.extend({ } // select the first option this.selectedIndex = 0; - $(this).val(first_val); + $(this).trigger('select-change'); return $(this); }; $.fn.set_working = function() {