İpucu

Entityler üzerinde calısırken kullanıcının rolune gore işlem yapabilme yetkısı verılmesı gerektıgınde oncelıkle kullanıcının rollerını bılmek lazım.Bunu da Xrm.Page.context.getUserRoles(ifadesiyle elde edebiliyoruz.

 

Xrm.Page.context.getUserRoles() ifadesını kullanınca kullanıcının rollerı bir dizi halınde doner.Bellı bir role gore ıslem yapabilme yetkisi vereceksek tek yapmak gereken dizinin elemanlarında aradıgımız degerle eslestırmek.

 

Önemli: Dizinin satırları bize kullanıcı rolunun guid degeri verir.Eger kullanıcı rolunun adını almak ıstıyorsak ya fetchxml yoluyla ya da jquery kullanarak elimizdekı guid degere karsılık gelen rolu Crm içerısındekı guvenlık rolu entitysınden cekmemız gerekmektedir.

 

Asagıda ornek bir kod satırı bulunmaktadır.

 

Örnek:

Asagıda guid degerıne sahip oldugum bir user rolunu bulup,ona gore belırlı bır alanın enable ozellıgını set edıyorum.

 

function funk1() {

    var deger= Xrm.Page.getAttribute("attributename").getValue();
    if (deger== 1) {
        var currentUserRoles = Xrm.Page.context.getUserRoles(); // kullanıcının rollerını alma
        if (currentUserRoles != null && currentUserRoles.length != 0)// kullanıcı rollerını tek tek dolasma
            for (var i = 0; i < currentUserRoles.length; i++) {
                var userRole = currentUserRoles[i];
                if (userRole.toString() == 'CF3289F2-2398-E111-9F2C-00155D1A5106') {
                    Xrm.Page.getControl("check").setDisabled(false);
                    break;
                }
                else {
                    Xrm.Page.getControl("check").setDisabled(true);
                    break;
                }

            }

    }

}