@@ -26,7 +26,7 @@ | |||||
"label": "Type", | "label": "Type", | ||||
"oldfieldname": "fieldtype", | "oldfieldname": "fieldtype", | ||||
"oldfieldtype": "Select", | "oldfieldtype": "Select", | ||||
"options": "Button\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nFloat\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nText\nText Editor\nTime", | |||||
"options": "Attach\nButton\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nFold\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nText\nText Editor\nTime", | |||||
"permlevel": 0, | "permlevel": 0, | ||||
"print_hide": 0, | "print_hide": 0, | ||||
"reqd": 1, | "reqd": 1, | ||||
@@ -228,7 +228,7 @@ | |||||
"idx": 1, | "idx": 1, | ||||
"issingle": 0, | "issingle": 0, | ||||
"istable": 1, | "istable": 1, | ||||
"modified": "2014-08-05 08:30:34.887505", | |||||
"modified": "2014-09-05 03:47:29.743676", | |||||
"modified_by": "Administrator", | "modified_by": "Administrator", | ||||
"module": "Core", | "module": "Core", | ||||
"name": "Customize Form Field", | "name": "Customize Form Field", | ||||
@@ -40,22 +40,23 @@ def get_new_doc(doctype, parent_doc = None, parentfield = None): | |||||
return doc | return doc | ||||
def get_default_value(df, defaults, user_permissions, parent_doc): | def get_default_value(df, defaults, user_permissions, parent_doc): | ||||
# 1 - look in user permissions | |||||
user_permissions_exist = (df.fieldtype=="Link" | user_permissions_exist = (df.fieldtype=="Link" | ||||
and not getattr(df, "ignore_user_permissions", False) | and not getattr(df, "ignore_user_permissions", False) | ||||
and df.options in (user_permissions or [])) | and df.options in (user_permissions or [])) | ||||
if user_permissions_exist and len(user_permissions[df.options])==1: | |||||
return user_permissions[df.options][0] | |||||
if df.fieldtype == "Link" and df.options != "User": | |||||
# 1 - look in user permissions | |||||
if user_permissions_exist and len(user_permissions[df.options])==1: | |||||
return user_permissions[df.options][0] | |||||
# 2 - Look in user defaults | |||||
user_default = defaults.get(df.fieldname) | |||||
is_allowed_user_default = user_default and (not user_permissions_exist | |||||
or (user_default in user_permissions.get(df.options, []))) | |||||
# 2 - Look in user defaults | |||||
user_default = defaults.get(df.fieldname) | |||||
is_allowed_user_default = user_default and (not user_permissions_exist | |||||
or (user_default in user_permissions.get(df.options, []))) | |||||
# is this user default also allowed as per user permissions? | |||||
if is_allowed_user_default: | |||||
return user_default | |||||
# is this user default also allowed as per user permissions? | |||||
if is_allowed_user_default: | |||||
return user_default | |||||
# 3 - look in default of docfield | # 3 - look in default of docfield | ||||
if df.get("default"): | if df.get("default"): | ||||
@@ -226,7 +226,7 @@ def get_user_permission_doctypes(user_permission_doctypes, user_permissions): | |||||
user_permission_doctypes = [list(set(doctypes).intersection(set(user_permissions.keys()))) | user_permission_doctypes = [list(set(doctypes).intersection(set(user_permissions.keys()))) | ||||
for doctypes in user_permission_doctypes] | for doctypes in user_permission_doctypes] | ||||
if not user_permission_doctypes: | |||||
else: | |||||
user_permission_doctypes = [user_permissions.keys()] | user_permission_doctypes = [user_permissions.keys()] | ||||
@@ -339,10 +339,6 @@ frappe.ui.form.ControlData = frappe.ui.form.ControlInput.extend({ | |||||
} else | } else | ||||
callback(v); | callback(v); | ||||
} else { | } else { | ||||
// trim strings! | |||||
if (typeof v==="string") { | |||||
v = v.trim(); | |||||
} | |||||
callback(v); | callback(v); | ||||
} | } | ||||
} | } | ||||
@@ -75,26 +75,28 @@ $.extend(frappe.model, { | |||||
}, | }, | ||||
get_default_value: function(df, doc, parent_doc) { | get_default_value: function(df, doc, parent_doc) { | ||||
// look in user permissions | |||||
var user_permissions = frappe.defaults.get_user_permissions(); | var user_permissions = frappe.defaults.get_user_permissions(); | ||||
var has_user_permissions = (df.fieldtype==="Link" && user_permissions | var has_user_permissions = (df.fieldtype==="Link" && user_permissions | ||||
&& df.ignore_user_permissions != 1 && user_permissions[df.options]); | && df.ignore_user_permissions != 1 && user_permissions[df.options]); | ||||
if (has_user_permissions && user_permissions[df.options].length===1) { | |||||
return user_permissions[df.options][0]; | |||||
} | |||||
if (df.fieldtype==="Link" && df.options!=="User") { | |||||
// 1 - look in user permissions | |||||
if (has_user_permissions && user_permissions[df.options].length===1) { | |||||
return user_permissions[df.options][0]; | |||||
} | |||||
// look in user defaults | |||||
var user_default = frappe.defaults.get_user_default(df.fieldname); | |||||
var is_allowed_user_default = user_default && | |||||
(!has_user_permissions || user_permissions[df.options].indexOf(user_default)!==-1); | |||||
// 2 - look in user defaults | |||||
var user_default = frappe.defaults.get_user_default(df.fieldname); | |||||
var is_allowed_user_default = user_default && | |||||
(!has_user_permissions || user_permissions[df.options].indexOf(user_default)!==-1); | |||||
// is this user default also allowed as per user permissions? | |||||
if (is_allowed_user_default) { | |||||
return frappe.defaults.get_user_default(df.fieldname); | |||||
// is this user default also allowed as per user permissions? | |||||
if (is_allowed_user_default) { | |||||
return frappe.defaults.get_user_default(df.fieldname); | |||||
} | |||||
} | } | ||||
// look in default of docfield | |||||
// 3 - look in default of docfield | |||||
if (df['default']) { | if (df['default']) { | ||||
if (df["default"] == "__user") { | if (df["default"] == "__user") { | ||||
@@ -155,9 +155,8 @@ $.extend(frappe.perm, { | |||||
out.push(valid_doctypes); | out.push(valid_doctypes); | ||||
} | } | ||||
}); | }); | ||||
} | |||||
if (!out.length) { | |||||
} else { | |||||
out = [Object.keys(user_permissions)]; | out = [Object.keys(user_permissions)]; | ||||
} | } | ||||