瀏覽代碼

[fixes] Permission

version-14
Anand Doshi 11 年之前
父節點
當前提交
ea8b7c9934
共有 6 個文件被更改,包括 29 次插入31 次删除
  1. +2
    -2
      frappe/core/doctype/customize_form_field/customize_form_field.json
  2. +11
    -10
      frappe/model/create_new.py
  3. +1
    -1
      frappe/permissions.py
  4. +0
    -4
      frappe/public/js/frappe/form/control.js
  5. +14
    -12
      frappe/public/js/frappe/model/create_new.js
  6. +1
    -2
      frappe/public/js/frappe/model/perm.js

+ 2
- 2
frappe/core/doctype/customize_form_field/customize_form_field.json 查看文件

@@ -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",


+ 11
- 10
frappe/model/create_new.py 查看文件

@@ -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"):


+ 1
- 1
frappe/permissions.py 查看文件

@@ -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()]






+ 0
- 4
frappe/public/js/frappe/form/control.js 查看文件

@@ -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);
} }
} }


+ 14
- 12
frappe/public/js/frappe/model/create_new.js 查看文件

@@ -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") {


+ 1
- 2
frappe/public/js/frappe/model/perm.js 查看文件

@@ -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)];
} }




Loading…
取消
儲存