var ctx = new SP.ClientContext.get_current();
var list = ctx.get_web().get_lists().getByTitle("Test");
var item = list.getItemById(26);
item.set_item("Author", 764);
item.update();
ctx.executeQueryAsync(
function () {console.log("Done") },
function () {console.log("Error")}
);
Start Workflow
<script type="text/javascript" src="/_layouts/15/sp.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.core.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.workflowservices.js"></script>
function startWorkflow(itemID, subID) {
var context = SP.ClientContext.get_current();
var web = context.get_web();
var wfServiceManager = SP.WorkflowServices.WorkflowServicesManager.newObject(context, web);
var subscription = wfServiceManager.getWorkflowSubscriptionService().getSubscription(subID);
context.load(subscription);
context.executeQueryAsync(
function(sender, args){
console.log("Subscription load success. Attempting to start workflow.");
var inputParameters = {};
wfServiceManager.getWorkflowInstanceService().startWorkflowOnListItem(subscription, itemID, inputParameters);
context.executeQueryAsync(
function(sender, args){ console.log("Successfully starting workflow."); },
function(sender, args){
console.log("Failed to start workflow.");
console.log("Error: " + args.get_message() + "\n" + args.get_stackTrace());
}
);
},
function(sender,args){
console.log("Failed to load subscription.");
console.log("Error: " + args.get_message() + "\n" + args.get_stackTrace());
}
);
}
EecuteOrDelayUntilScriptLoaded(function () {
startWorkflow(20,'{BFBD8116-D9D8-4B5B-8C06-BE759043B739}')
}, "sp.workflowservices.js");
###
SP.SOD.executeFunc("sp.js", "SP.ClientContext" , function(){
SP.SOD.registerSod('sp.workflowservices.js', SP.Utilities.Utility.getLayoutsPageUrl('sp.workflowservices.js'));
SP.SOD.executeFunc('sp.workflowservices.js', "SP.WorkflowServices.WorkflowServicesManager", function(){
var query="<View><Query><Where>";
query+='<Eq><FieldRef Name="Status"/><Value Type="Text">Active</Value></Eq>';
query+='</Where>';
query+='</Query><RowLimit>0</RowLimit></View>';
var licenceContext=SP.ClientContext.get_current();
var licenceWeb=licenceContext.get_web();
var licenceList=licenceWeb.get_lists().getByTitle("Test List");
var query_licence=new SP.CamlQuery();
query_licence.set_viewXml(query);
var licenceCollListItem=licenceList.getItems(query_licence);
licenceContext.load(licenceCollListItem);
licenceContext.executeQueryAsync(Function.createDelegate(this, function (){
var listEnumerator=licenceCollListItem.getEnumerator();
console.log(licenceCollListItem.get_count());
while(listEnumerator.moveNext())
{
var currentItem=listEnumerator.get_current();
var id=currentItem.get_item('ID');
startWorkflow(id,'{E760DF24-2EAD-45B1-8D85-3227D2A8C491}')
}
}),function (sender, args) { console.log(args.get_message()); });
});
})
Inherit Permission
function inheritPermission(id){
var ctx = new SP.ClientContext.get_current();
var list = ctx.get_web().get_lists().getByTitle("Team Documents");
var item = list.getItemById(id);
//item.breakRoleInheritance(false, true);
item.resetRoleInheritance();
//item.update();
ctx.executeQueryAsync(
function () {console.log("Done") },
function () {console.log("Error")}
);
}
Set permission for specific user
var context = SP.ClientContext.get_current();
var oUser = context.get_web().get_siteUsers().getById("1073741822");
var oWeb=context.get_web();
var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(context);
collRoleDefinitionBinding.add(context.get_web().get_roleDefinitions().getByType(SP.RoleType.administrator));
oWeb.get_roleAssignments().add(oUser, collRoleDefinitionBinding);
context.load(oWeb);
context.load(oUser);
context.executeQueryAsync(onQuerySucceeded, onQueryFailed);
function onQuerySucceeded(sender, args) {
console.log('given access to specific users');
}
function onQueryFailed(sender, args) {
console.log(args);
}
Set permission for specific group
var context = SP.ClientContext.get_current();
var oUser = context.get_web().get_siteUsers().getByLoginName("c:0-.f|rolemanager|spo-grid-all-users/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");;
var oWeb=context.get_web();
var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(context);
collRoleDefinitionBinding.add(context.get_web().get_roleDefinitions().getByType(SP.RoleType.contributor));
oWeb.get_roleAssignments().add(oUser, collRoleDefinitionBinding);
context.load(oWeb);
context.load(oUser);
context.executeQueryAsync(onQuerySucceeded, onQueryFailed);
function onQuerySucceeded(sender, args) {
console.log('given access to specific users');
}
function onQueryFailed(sender, args) {
console.log(args);
}
Delete all items for list
var cnt=0;
var clientContext;
var website;
var oList;
function deleteAllItemsFromList() {
clientContext = SP.ClientContext.get_current();
website = clientContext.get_web();
oList = website.get_lists().getByTitle('Cash');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><RowLimit>2000</RowLimit></View>');
this.collListItem = oList.getItems(camlQuery);
clientContext.load(website);
clientContext.load(collListItem, 'Include(Id)');
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded(sender, args) {
var listItemInfo = '';
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
var ID = oListItem.get_id();
var oListItemDel = oList.getItemById(ID);
oListItemDel.deleteObject();
clientContext.executeQueryAsync(Function.createDelegate(this, this.onDeleteSucceeded), Function.createDelegate(this, this.onDeleteFailed));
}
}
function onQueryFailed(sender, args) {
console.log('Failed');
}
function onDeleteFailed(sender, args) {
console.log('Failed');
}
function onDeleteSucceeded(sender, args) {
cnt = cnt + 1;
console.log('Delete success : ' + cnt);
}
Batch Update items
var oContext=SP.ClientContext.get_current();
var oWeb=oContext.get_web();
var oList=oWeb.get_lists().getByTitle("SKU List");
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml("<View><Query><Where>\
<Eq><FieldRef Name=\"License_ID\" /><Value Type=\"Text\">"+licenseId+"</Value></Eq>\
</Where></Query></View>");
var oListItems = oList.getItems(camlQuery);
oContext.load(oListItems);
oContext.executeQueryAsync(function(){
var currentItemArray = [];
var listEnumerator=oListItems.getEnumerator();
var childContext=SP.ClientContext.get_current();
while(listEnumerator.moveNext())
{
if(oListItems.get_count()>0){
var currentItem = listEnumerator.get_current();
var currentId = currentItem.get_item("ID");
var oListItem = oList.getItemById(currentId);
oListItem.set_item('Status', 'Inactive');
oListItem.update();
currentItemArray.push(oListItem);
childContext.load(currentItemArray[currentItemArray.length - 1]);
}
}
childContext.executeQueryAsync(function(){
//
},function(sender, args){
console.log(args.get_message());
});
});
PreSaveAction
function PreSaveAction() {
var myAttachments = document.getElementById("idAttachmentsTable");
if (myAttachments == null || myAttachments.rows.length == 0) {
document.getElementById("idAttachmentsRow").style.display = 'none';
alert("Attachments are mandatory for this list. Please attach the appropriate files");
return false;
} else {
return true
}
}