From 0d64d622e577ddbf4251549dcccfbb8567975b55 Mon Sep 17 00:00:00 2001 From: deepeshgarg007 Date: Wed, 20 Feb 2019 17:55:14 +0530 Subject: [PATCH] fix: filter only unique values for tree options --- erpnext/public/js/utils.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js index 64085a83cd..389e25ece1 100755 --- a/erpnext/public/js/utils.js +++ b/erpnext/public/js/utils.js @@ -255,11 +255,16 @@ $.extend(erpnext.utils, { // get valid options for tree based on user permission & locals dict let unscrub_option = frappe.model.unscrub(option); let user_permission = frappe.defaults.get_user_permissions(); + let options; + if(user_permission && user_permission[unscrub_option]) { - return user_permission[unscrub_option].map(perm => perm.doc); + options = user_permission[unscrub_option].map(perm => perm.doc); } else { - return $.map(locals[`:${unscrub_option}`], function(c) { return c.name; }).sort(); + options = $.map(locals[`:${unscrub_option}`], function(c) { return c.name; }).sort(); } + + // filter unique values, as there may be multiple user permissions for any value + return options.filter((value, index, self) => self.indexOf(value) === index); }, get_tree_default: function(option) { // set default for a field based on user permission