Quantcast
Channel: Microsoft Dynamics CRM Forum - Recent Threads
Viewing all articles
Browse latest Browse all 82002

Check for current users security role on bulk edit form

$
0
0

Hi

I'm working on a forms bulk edit form. I'm supposed to hide an option set value only on Bulk Edit form, I was able to achieve it. Now we only want a user with specific security role not to see the option set value. Here is the code, I'm using to get role of current user but there was an error saying "GetServerURL is undefined", not sure if this method is valid on bulk edit forms. Is there any other way to achieve this?

function FormOnLoad()
{
    var optCtrl = Xrm.Page.ui.controls.get("statuscode");
    var CMRole = CheckUserRole("System Administrator");

    if (Xrm.Page.ui.getFormType() == 6 && CMRole) {
        optCtrl.removeOption(100000000);

    }
}



function CheckUserRole(roleName) {
    var currentUserRoles = Xrm.Page.context.getUserRoles();
    for (var i = 0; i < currentUserRoles.length; i++) {
        var userRoleId = currentUserRoles[i];
        var userRoleName = GetRoleName(userRoleId);
        if (userRoleName == roleName) {
            return true;
        }
    }
    return false;
}

function GetRoleName(userRoleId) {
    var selectQuery = "RoleSet?$top=1&$filter=RoleId eq guid'" + userRoleId + "'&$select=Name";
    var odataSelect = GetServerUrl() + selectQuery;
    //alert(odataSelect);
    var roleName = null;
    $.ajax({
        type: "GET",
        async: false,
        contentType: "application/json; charset=utf-8",
        datatype: "json",
        url: odataSelect,
        beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); },
        success: function (data, textStatus, XmlHttpRequest) {
            var result = data.d;
            if (!!result) {
                roleName = result.results[0].Name;
            }
        },
        error: function (XmlHttpRequest, textStatus, errorThrown) {
            //alert('OData Select Failed: ' + odataSelect);
        }
    });
    return roleName;
}



Viewing all articles
Browse latest Browse all 82002

Latest Images

Trending Articles



Latest Images