jmtrevaskis

Sharepoint User Profile System javascript query

Feb 26th, 2012
739
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. <font size = "3">
  2. <script type="text/javascript" id="welcomeheader" src="syndication.js">
  3. </script>
  4. </font>
  5.  
  6. <font size = "4">
  7. <script type="text/javascript" id="linksheader" src="syndication.js">
  8. </script>
  9. </font>
  10.  
  11. <font size = "2">
  12. <script type="text/javascript" id="links" src="syndication.js">
  13. </script>
  14. </font>
  15.  
  16.  
  17.  
  18. <script type="text/javascript">
  19.  
  20. ExecuteOrDelayUntilScriptLoaded(getWebUserData, "sp.js");
  21.  
  22. var context = null;
  23. var web = null;
  24. var currentUser = null;
  25.  
  26.  
  27. function getWebUserData() {
  28. context = new SP.ClientContext.get_current();
  29. web = context.get_web();
  30. currentUser = web.get_currentUser();
  31. currentUser.retrieve();
  32. context.load(web);
  33. context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod));
  34. }
  35.  
  36.  
  37. function onSuccessMethod(sender, args) {
  38. var loginName = web.get_currentUser().get_loginName();
  39. GetUserPropertyByAccountName(loginName, "department");
  40. Name = web.get_currentUser().get_title();
  41.  
  42. //welcomeheader
  43. var welcomeheader = document.createElement('b');
  44. welcomeheader.id = 'syndicated-content';
  45. welcomeheader.appendChild(document.createTextNode('Welcome to the parent portal of '+Name+'.'));
  46. var scrwelcomeheader = document.getElementById('welcomeheader');
  47. scrwelcomeheader.parentNode.insertBefore(welcomeheader, scrwelcomeheader);
  48.  
  49.  
  50. }
  51.  
  52.  
  53.  
  54. function GetUserPropertyByAccountName(accountName, propertyName) {
  55.  
  56. // Variables
  57. var xmlHttpReq = null;
  58.  
  59. // Mozilla/Safari
  60. if (window.XMLHttpRequest) {
  61. xmlHttpReq = new XMLHttpRequest();
  62. }
  63.  
  64. // IE
  65. else if (window.ActiveXObject) {
  66. xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
  67. }
  68.  
  69. if (xmlHttpReq) {
  70. xmlHttpReq.open('POST', 'http://sharepoint.contoso.local/_vti_bin/UserProfileService.asmx', true);
  71.  
  72. //Set the Headers
  73. xmlHttpReq.setRequestHeader('Content-Type', 'text/xml');
  74. xmlHttpReq.setRequestHeader('SOAPAction', 'http://microsoft.com/webservices/SharePointPortalServer/UserProfileService/GetUserPropertyByAccountName');
  75.  
  76. //get the XML Request string
  77. xmlHttpReq.send('<?xml version="1.0" encoding="utf-8"?>'
  78. + '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'
  79. + '<soap:Body>'
  80. + ' <GetUserPropertyByAccountName xmlns="http://microsoft.com/webservices/SharePointPortalServer/UserProfileService">'
  81. + ' <accountName>' + accountName + '</accountName>'
  82. + ' <propertyName>' + propertyName + '</propertyName>'
  83. + ' </GetUserPropertyByAccountName>'
  84. + ' </soap:Body>'
  85. + '</soap:Envelope>');
  86.  
  87. //When the response is available, update the response text
  88. xmlHttpReq.onreadystatechange = function () {
  89. if (xmlHttpReq.readyState == 4) {
  90. if (xmlHttpReq.status == 200) {
  91. // alert(xmlHttpReq.responseText);
  92.  
  93. //chop up string
  94. var responsestuid = xmlHttpReq.responseText;
  95.  
  96. if (isNaN(responsestuid)) {
  97.  
  98. alert('uh oh');
  99.  
  100. } else {
  101.  
  102. var loginName = web.get_currentUser().get_loginName();
  103.  
  104.  
  105. //HTML output Links header
  106. var linksheader = document.createElement("b");
  107. linksheader.id = 'syndicated-content';
  108.  
  109. linksheader.appendChild(document.createElement('br'));
  110. linksheader.appendChild(document.createElement('br'));
  111. linksheader.appendChild(document.createTextNode("Links"));
  112.  
  113. var scrlinkshead = document.getElementById('linksheader');
  114. scrlinkshead.parentNode.insertBefore(linksheader, scrlinkshead);
  115.  
  116.  
  117.  
  118. //HTML output links
  119. var links = document.createElement('p');
  120. links.id = 'syndicated-content';
  121.  
  122. var myLink1 = document.createElement('a');
  123. var myLink1url = 'http://contoso.local/parentportal/'+responsestuid+'/reports/';
  124. myLink1.setAttribute('href',myLink1url);
  125. myLink1.innerText="Reports";
  126. myLink1.textContent="Reports";
  127.  
  128. var myLink2 = document.createElement('a');
  129. var myLink2url = 'http://contoso.local/parentportal/'+responsestuid+'/work/';
  130. myLink2.setAttribute('href',myLink2url);
  131. myLink2.innerText="School Work";
  132. myLink2.textContent="School Work";
  133.  
  134. links.appendChild(myLink1);
  135. links.appendChild(document.createElement('br'));
  136. links.appendChild(myLink2);
  137. links.appendChild(document.createElement('br'));
  138.  
  139. var scrlinks = document.getElementById('links');
  140. scrlinks.parentNode.insertBefore(links, scrlinks);
  141. }
  142.  
  143. }
  144. }
  145. }
  146.  
  147. }
  148. }
  149.  
  150.  
  151. </script>
Add Comment
Please, Sign In to add comment