作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在功能区中有一个自定义操作,并且仅当当前用户有权编辑该项目(贡献角色)时,才需要启用该按钮。我有一个PageComponent告诉UI是否可以处理命令,但是我可以弄清楚如何检查JavaScript中项目的用户权限。
这是在我的PageComponent中:
canHandleCommand: function (commandId) {
switch (commandId) {
case 'Command1':
var ids = getSelectedIds(); // gets an array of selected ids
var selectionChanged = false;
if (ids.length != this.previousIds.length) {
selectionChanged = true;
} else {
for (var index in ids) {
if (ids[index] != this.previousIds[index]) {
selectionChanged = true;
}
}
}
if (selectionChanged) {
this.enabledStatusChecked = false;
}
this.previousIds = ids;
if (!this.enabledStatusChecked) {
this.checkIsEnabled(ids);
}
return this.isEnabled;
}
return false;
},
checkIsEnabled: function (ids) {
this.enabledStatusChecked = true;
this.isEnabled = false;
if (ids.length != 1) {
return;
}
var id = ids[0];
var context = SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getById(SP.ListOperation.Selection.getSelectedList());
var item = list.getItemById(id);
context.load(item);
context.executeQueryAsync(Function.createDelegate(this, function () {
var contentTypeId = item.get_item('ContentTypeId').toString();
if (!contentTypeId.lastIndexOf(Constants.InternalNormContentTypeId, 0)) {
this.isEnabled = true;
// !! need to check permissions here !!
}
RefreshCommandUI();
}), Function.createDelegate(this, function () {
RefreshCommandUI();
}));
},
最佳答案
从我的观点。您有两种方法,第一种是在html / master页面中添加标签:
http://buyevich.blogspot.com/2010/08/hide-ribbon-from-visitorsanonimus-users_31.html
或创建的ASP控件,并将其转到页面:
http://dicemastersharespoint.blogspot.com/2011/02/hiding-buttonscontrols-on-sharepoint.html
写回您的解决方案是否可行。
最好的祝福
马丁
关于sharepoint - SharePoint 2010-仅在用户有权编辑所选项目的情况下启用自定义功能区按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6692877/
我是一名优秀的程序员,十分优秀!