From 06b2b44b4582bf3563af9ba7679269c9bc9b0fcd Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Thu, 3 Nov 2016 11:12:48 +0530 Subject: [PATCH] Remember last selected value (#2203) --- frappe/boot.py | 1 - frappe/core/doctype/docfield/docfield.json | 28 ++++++++- .../doctype/customize_form/customize_form.py | 3 +- .../customize_form_field.json | 61 ++++++++++++++++++- frappe/public/js/frappe/form/control.js | 6 +- frappe/public/js/frappe/model/create_new.js | 2 +- 6 files changed, 93 insertions(+), 8 deletions(-) diff --git a/frappe/boot.py b/frappe/boot.py index 3ea44bc0d5..8e01582bf1 100644 --- a/frappe/boot.py +++ b/frappe/boot.py @@ -56,7 +56,6 @@ def get_bootinfo(): for method in hooks.boot_session or []: frappe.get_attr(method)(bootinfo) - bootinfo.remember_selected = hooks.remember_selected if bootinfo.lang: bootinfo.lang = unicode(bootinfo.lang) diff --git a/frappe/core/doctype/docfield/docfield.json b/frappe/core/doctype/docfield/docfield.json index 21d593b095..7a382c7864 100644 --- a/frappe/core/doctype/docfield/docfield.json +++ b/frappe/core/doctype/docfield/docfield.json @@ -723,6 +723,32 @@ "bold": 0, "collapsible": 0, "columns": 0, + "depends_on": "eval:(doc.fieldtype == 'Link')", + "fieldname": "remember_last_selected_value", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Remember Last Selected Value", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, "description": "Don't HTML Encode HTML tags like <script> or just characters like < or >, as they could be intentionally used in this field", "fieldname": "ignore_xss_filter", "fieldtype": "Check", @@ -1082,7 +1108,7 @@ "issingle": 0, "istable": 1, "max_attachments": 0, - "modified": "2016-08-23 11:59:07.036627", + "modified": "2016-10-26 17:29:04.205496", "modified_by": "Administrator", "module": "Core", "name": "DocField", diff --git a/frappe/custom/doctype/customize_form/customize_form.py b/frappe/custom/doctype/customize_form/customize_form.py index f6e0b36a13..3d8f80e204 100644 --- a/frappe/custom/doctype/customize_form/customize_form.py +++ b/frappe/custom/doctype/customize_form/customize_form.py @@ -56,7 +56,8 @@ docfield_properties = { 'precision': 'Select', 'read_only': 'Check', 'length': 'Int', - 'columns': 'Int' + 'columns': 'Int', + 'remember_last_selected_value': 'Check' } allowed_fieldtype_change = (('Currency', 'Float', 'Percent'), ('Small Text', 'Data'), diff --git a/frappe/custom/doctype/customize_form_field/customize_form_field.json b/frappe/custom/doctype/customize_form_field/customize_form_field.json index 2a17514a97..c3cee78931 100644 --- a/frappe/custom/doctype/customize_form_field/customize_form_field.json +++ b/frappe/custom/doctype/customize_form_field/customize_form_field.json @@ -31,6 +31,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -58,6 +59,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 1, @@ -87,6 +89,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 1, "search_index": 1, @@ -114,6 +117,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 1, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 1, @@ -142,6 +146,7 @@ "print_hide_if_no_value": 0, "print_width": "50px", "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -169,6 +174,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -194,6 +200,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -219,6 +226,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -248,6 +256,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -275,6 +284,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -303,6 +313,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -329,6 +340,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -357,6 +369,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -385,6 +398,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -413,6 +427,7 @@ "print_hide_if_no_value": 0, "print_width": "50px", "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -440,6 +455,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -467,6 +483,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -494,6 +511,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -519,6 +537,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -544,6 +563,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -571,6 +591,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -598,6 +619,34 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "eval:(doc.fieldtype == 'Link')", + "fieldname": "remember_last_selected_value", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Remember Last Selected Value", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -624,6 +673,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -651,6 +701,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -679,6 +730,7 @@ "print_hide_if_no_value": 0, "print_width": "50px", "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -705,6 +757,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -733,6 +786,7 @@ "print_hide_if_no_value": 0, "print_width": "300px", "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -761,6 +815,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -788,6 +843,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -815,6 +871,7 @@ "print_hide_if_no_value": 0, "print_width": "50px", "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -872,6 +929,7 @@ "print_hide_if_no_value": 0, "print_width": "50px", "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -899,6 +957,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 1, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -916,7 +975,7 @@ "issingle": 0, "istable": 1, "max_attachments": 0, - "modified": "2016-08-23 12:03:07.126339", + "modified": "2016-10-26 17:29:44.206837", "modified_by": "Administrator", "module": "Custom", "name": "Customize Form Field", diff --git a/frappe/public/js/frappe/form/control.js b/frappe/public/js/frappe/form/control.js index 65d0a85559..d7b77f2a44 100644 --- a/frappe/public/js/frappe/form/control.js +++ b/frappe/public/js/frappe/form/control.js @@ -1315,11 +1315,11 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({ ui.item.action.apply(me); } - // if remember_selected hook is set, add this value + // if remember_last_selected is checked in the doctype against the field, + // then add this value // to defaults so you do not need to set it again // unless it is changed. - if(frappe.boot.remember_selected - && frappe.boot.remember_selected.indexOf(me.df.options)!==-1) { + if(me.df.remember_last_selected_value) { frappe.boot.user.last_selected_values[me.df.options] = ui.item.value; } diff --git a/frappe/public/js/frappe/model/create_new.js b/frappe/public/js/frappe/model/create_new.js index 9f047eafd5..d33ab20dc9 100644 --- a/frappe/public/js/frappe/model/create_new.js +++ b/frappe/public/js/frappe/model/create_new.js @@ -138,7 +138,7 @@ $.extend(frappe.model, { // 2 - look in user defaults var user_default = frappe.defaults.get_user_default(df.fieldname); - if(!user_default && df.fieldtype==='Link' && frappe.boot.user.last_selected_values) { + if(!user_default && df.remember_last_selected_value && frappe.boot.user.last_selected_values) { user_default = frappe.boot.user.last_selected_values[df.options]; }