Get the Manager of the Current SharePoint user Using SPServices and GetUserProfileByName

Introduction

We  get the current user’s manager and put the value into a Person or Group column in a list. This one only works in SharePoint Server 2010 & SharePoint Foundation .because the UserProfileService Web Service is only available there. The code is relatively straightforward: a call to SPServices to get the results from  GetUserProfileByName and then a little more code to poke it into the appropriate Person or Group column. In this case, the Person or Group column is called ‘Manager’

Code  Steps

<script type="text/javascript" src="../../JSLibrary/jquery-1.3.2.min.js"></script>

<script type="text/javascript" src="../../JSLibrary/jquery.SPServices-0.4.8.min.js"></script>

<script type="text/javascript">

    $(document).ready(function () {

        var managerName;

        var userName = $().SPServices.SPGetCurrentUser();

        $().SPServices({

            operation: "GetUserProfileByName",

            async: false,

            AccountName: userName,

            completefunc: function (xData, Status) {

                managerName = $(xData.responseXML).text();

                var managerLength = managerName.length;

                var indexofManager = managerName.indexOf("Manager");

                managerName = managerName.substring(indexofManager + 13, managerLength);

                var indexOffalse = managerName.indexOf("false");

                managerName = managerName.substring(0, indexOffalse);

            }

        });

        var peoplepicker = $("tr:contains('Reporting Manager'):last").find("div[title='People Picker']");

        peoplepicker.html(managerName);

    });</script>

 
The available values from GetUserProfileByName in sharepoint 2010 environment are:

  • UserProfile_GUID
  • AccountName
  • FirstName
  • LastName
  • PreferredName
  • WorkPhone
  • Office
  • Department
  • Title
  • Manager
  • AboutMe
  • PersonalSpace
  • PictureURL
  • UserName
  • QuickLinks
  • WebSite
  • PublicSiteRedirect
  • SPS-Dotted-line
  • SPS-Peers
  • SPS-Responsibility
  • SPS-Skills
  • SPS-PastProjects
  • SPS-Interests
  • SPS-School
  • SPS-SipAddress
  • SPS-Birthday
  • SPS-MySiteUpgrade
  • SPS-DontSuggestList
  • SPS-ProxyAddresses
  • SPS-HireDate
  • SPS-LastColleagueAdded
  • SPS-OWAUrl
  • SPS-ResourceAccountName
  • SPS-MasterAccountName
  • Assistant
  • WorkEmail
  • CellPhone
  • Fax
  • HomePhone

Summary

In this blog we get Current user manager name and assign New/edit /display form using client side jquery and SPServices.