Set Logged in User As Default value in People Picker Field SharePoint 2013

function setLoggedinUser() {
        var currentUser;

        if (SP.ClientContext != null) {
            SP.SOD.executeOrDelayUntilScriptLoaded(getCurrentUser, 'SP.js');
        }
        else {
            SP.SOD.executeFunc('sp.js', null, getCurrentUser);
        }

        function getCurrentUser() {
            var context = new SP.ClientContext.get_current();
            var web = context.get_web();
            currentUser = web.get_currentUser();
            context.load(currentUser);
            context.executeQueryAsync(onSuccessMethod, onRequestFail);
        }

        function onSuccessMethod(sender, args) {
            var account = currentUser.get_loginName();

            var accountEmail = currentUser.get_email();

            var currentUserAccount = account.substring(account.indexOf("|") + 1);

            SetAndResolvePeoplePicker("Name OF Employee", account);

        }
        // This function runs if the executeQueryAsync call fails.
        function onRequestFail(sender, args) {
            alert('request failed' + args.get_message() + '\n' + args.get_stackTrace());
        }



        function SetAndResolvePeoplePicker(fieldName, userAccountName) {

            var controlName = fieldName;
            var peoplePickerDiv = $("[id$='ClientPeoplePicker'][title='" + controlName + "']");
            var peoplePickerEditor = peoplePickerDiv.find("[title='" + controlName + ", Enter a name or email address..."+"']");
            var spPeoplePicker = SPClientPeoplePicker.SPClientPeoplePickerDict[peoplePickerDiv[0].id];
            peoplePickerEditor.val(userAccountName);
            spPeoplePicker.AddUnresolvedUserFromEditor(true);
        }
    }

Comments

Popular posts from this blog

My Interview Experience

React Checkbox Control SPFx