From 4b5e347ea12f57b658fdd3d617af1240bb883053 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Mon, 27 Nov 2017 11:49:48 +0530 Subject: [PATCH 1/3] [fix] show upgrade button on usage page for free users too (#4535) * [fix] show upgrade button on usage page for free users too * Update usage_info.html --- frappe/core/page/usage_info/usage_info.html | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/frappe/core/page/usage_info/usage_info.html b/frappe/core/page/usage_info/usage_info.html index 0b85862622..cdc2e3e7d2 100644 --- a/frappe/core/page/usage_info/usage_info.html +++ b/frappe/core/page/usage_info/usage_info.html @@ -1,12 +1,14 @@
- {% if limits.expiry %} + {% if limits.upgrade_url %}
-

{{ __("You have {0} days left in your subscription", [days_to_expiry]) }}

+ {% if limits.expiry %} +

{{ __("You have {0} days left in your subscription", [days_to_expiry]) }}

+ {%elif%} +

{{ __("You have subscribed for one user free plan") }}

+ {% endif %} - {% if limits.upgrade_url %}

Upgrade to a premium plan with more users, storage and priority support.

- {% endif %}
{% endif %} From db2a6093fb0e51d55b193da61c8347457764ec0b Mon Sep 17 00:00:00 2001 From: Manas Solanki Date: Tue, 28 Nov 2017 10:40:43 +0530 Subject: [PATCH 2/3] set the dynamic filters in the reports (#4539) --- .../js/frappe/form/controls/dynamic_link.js | 18 ++++++---- .../js/frappe/views/reports/query_report.js | 33 ++++++++++++------- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/dynamic_link.js b/frappe/public/js/frappe/form/controls/dynamic_link.js index 650ab175cd..fcb1fbf272 100644 --- a/frappe/public/js/frappe/form/controls/dynamic_link.js +++ b/frappe/public/js/frappe/form/controls/dynamic_link.js @@ -7,13 +7,19 @@ frappe.ui.form.ControlDynamicLink = frappe.ui.form.ControlLink.extend({ //for dialog box return cur_dialog.get_value(this.df.options); } - if (cur_frm==null && cur_list){ - //for list page - let list_filter = cur_list.wrapper.find("input[data-fieldname*="+this.df.options+"]"); - if(list_filter.length > 0) { - return list_filter.val(); + if (!cur_frm) { + const selector = `input[data-fieldname="${this.df.options}"]`; + let input = null; + if (cur_list) { + // for list page + input = cur_list.wrapper.find(selector); + } + if (cur_page) { + input = $(cur_page.page).find(selector); + } + if (input) { + return input.val(); } - return $(cur_page.page).find("input[data-fieldname*="+this.df.options+"]").val(); } var options = frappe.model.get_value(this.df.parent, this.docname, this.df.options); // if(!options) { diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js index 1c820d9f85..92d88c451b 100644 --- a/frappe/public/js/frappe/views/reports/query_report.js +++ b/frappe/public/js/frappe/views/reports/query_report.js @@ -335,34 +335,45 @@ frappe.views.QueryReport = Class.extend({ var $filters = $(this.parent).find('.page-form .filters'); $(this.parent).find('.page-form').toggle($filters.length ? true : false); + // set the field 'query_report_filters_by_name' first as they can be used in + // setting/triggering the filters + this.set_filters_by_name(); + this.setting_filters = true; this.set_route_filters(); this.setting_filters = false; - this.set_filters_by_name(); this.flags.filters_set = true; }, clear_filters: function() { this.filters = []; $(this.parent).find('.page-form .filters').remove(); }, + set_filters_by_name: function() { + frappe.query_report_filters_by_name = {}; + for(var i in this.filters) { + frappe.query_report_filters_by_name[this.filters[i].df.fieldname] = this.filters[i]; + } + }, set_route_filters: function() { var me = this; if(frappe.route_options) { - $.each(this.filters || [], function(i, f) { - if(frappe.route_options[f.df.fieldname]!=null) { - f.set_value(frappe.route_options[f.df.fieldname]); + const fields = Object.keys(frappe.route_options); + const filters_to_set = this.filters.filter(f => fields.includes(f.df.fieldname)); + + const promises = filters_to_set.map(f => { + return () => { + const value = frappe.route_options[f.df.fieldname]; + return f.set_value(value); } }); - } - frappe.route_options = null; - }, - set_filters_by_name: function() { - frappe.query_report_filters_by_name = {}; + promises.push(() => { + frappe.route_options = null; + }); - for(var i in this.filters) { - frappe.query_report_filters_by_name[this.filters[i].df.fieldname] = this.filters[i]; + return frappe.run_serially(promises); } + }, refresh: function() { // throttle From 866e0a3b421ef201419a7e1d4e62abae88c399c5 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Tue, 28 Nov 2017 11:34:57 +0600 Subject: [PATCH 3/3] bumped to version 9.2.17 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 0d170fa833..a5a4a05491 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template -__version__ = '9.2.16' +__version__ = '9.2.17' __title__ = "Frappe Framework" local = Local()