Ich habe einen Workflow, der E-Mails sendet. Wenn ein Benutzer die E-Mail erhält, gibt es einen Hyperlink namens Überprüfung. Wenn ein Benutzer auf Überprüfen klickt, wird der Wert der Spalte ReviewStatus in der Verbesserungsliste in Angefordert geändert. Ich habe ein Skript unten, dass Griffe diese auf einer Content-Editor-Webpart:Skript funktioniert nicht für Benutzer mit Leseberechtigungen
<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>
Die oben genannte Arbeiten für mich, aber ich habe Site-Col Admin-Berechtigungen. Wenn ein Benutzer mit Leseberechtigungen klickt auf den Hyperlink nimmt er sie auf die Seite, wo der CEWP ist und sie erhalten die folgende Meldung:
Ich weiß, es Berechtigungen ist aber was kann ich tun, um es für funktioniert Benutzer, die nicht über die Berechtigungen verfügen? Übrigens möchte der Client die Berechtigungen für Benutzer nur für Lesezugriff behalten, damit ich nichts dagegen tun kann.
Jede Hilfe wird geschätzt.