I want to show SPModal Dialog which contains a new item creation form to the user on the page intranet home page if user is not create or submit any items in that list.
I tried but I am getting error when I am passing current user item in query.
Please suggest me ways to do that
<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(init,'sp.js');
var context;
var web;
var user;
var siteUrl = _spPageContextInfo.siteServerRelativeUrl ;
//var userId= _spPageContextInfo.userId;
var userId= 123;
var flag=true;
//var options = { title: "Announcements - New Item",url:"../Lists/Announcements/NewForm.aspx"};
var options = { title: "Announcements - New Item",url:"http://webtest:3333/Lists/test/NewForm.aspx"};
function init() {
context = SP.ClientContext.get_current();
web = context.get_web();
//alert(flag);
getCurrentUser();
retrieveListItems();
}
function getCurrentUser() {
user = web.get_currentUser();
context.load(user);
context.executeQueryAsync(onGetUserNameSucces, onGetUserNameFail);
}
function onGetUserNameSucces() {
// TODO: implement your own succes handler
//alert(user.get_title());
}
function onGetUserNameFail(sender, args) {
// TODO: implement your own fail handler and do some logging
}
function retrieveListItems() {
var oList = context.get_web().get_lists().getByTitle("test");
var camlQuery = new SP.CamlQuery();
//context.load(user);
//alert(userId);
camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef Name=\'Author\' /><Value Type=\'User\'>'+ user.get_title() +'</Value></Eq></Where></Query></View>');
this.collListItem = oList.getItems(camlQuery);
context.load(collListItem);
context.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded),Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded(sender, args) {
//alert( _spPageContextInfo.userId);
var listItemInfo = '';
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
listItemInfo += '\nID: ' + oListItem.get_id() +
'\nTitle: ' + oListItem.get_item('Title');
}
alert(listItemInfo.toString());
if(listItemInfo==null){
// flag='false';
SP.UI.ModalDialog.showModalDialog(options);
}
//alert(flag);
}
function onQueryFailed(sender, args) {
alert('Error: ' + args.get_message() + '\n' + args.get_stackTrace());
}
</script>
I cant get List Items over here