【发布时间】:2016-06-02 17:46:23
【问题描述】:
我有一个发送电子邮件的工作流程。当用户收到电子邮件时,会有一个名为 Review 的超链接。当用户单击 Review 时,改进列表中名为 ReviewStatus 的列的值将更改为 Requested。我在下面有一个脚本可以在内容编辑器 Web 部件上处理这个问题:
<script language="javascript" type="text/javascript">
_spBodyOnLoadFunctionNames.push("getSetListItem");
var listItem;
var list;
var clientContext;
var siteUrl = "https://contoso.com/process/";
function getSetListItem() {
this.clientContext = new SP.ClientContext(siteUrl);
if (this.clientContext != undefined && clientContext != null) {
var webSite = clientContext.get_web();
var itemID = parseInt(GetUrlKeyValue('ID'));
this.list = webSite.get_lists().getByTitle("Improvement");
this.listItem = list.getItemById(itemID);
clientContext.load(this.listItem);
this.clientContext.executeQueryAsync(Function.createDelegate(this, this.OnLoadSuccess),
Function.createDelegate(this, this.OnLoadFailed));
}
}
function OnLoadSuccess(sender, args) {
var value = this.listItem.get_item("ReviewStatus");
this.listItem.set_item("ReviewStatus", "Requested");
this.listItem.update();
this.clientContext.load(this.listItem);
this.clientContext.executeQueryAsync(Function.createDelegate(this, this.OnLoadSuccess1),
Function.createDelegate(this, this.OnLoadFailed));
}
function OnLoadSuccess1(sender, args) {
alert(this.listItem.get_item("ReviewStatus"));
}
function OnLoadFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
</script>
以上内容对我有用,但我拥有站点 Col 管理员权限。当具有读取权限的用户单击超链接时,会将他们带到 CEWP 所在的页面,他们会收到以下消息:
我知道它的权限,但我可以做些什么来使它对没有权限的用户起作用?顺便说一句,客户希望为用户保留只读权限,所以我无能为力。
感谢任何帮助。
【问题讨论】:
标签: javascript permissions sharepoint-2013 access-denied