Thắng Trương
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Go down
avatar
Admin
Admin
Tổng số bài gửi : 1562
Join date : 20/05/2018
https://thangcrm2.forumvi.com

[Javascript] Kiểm tra các role của tài khoản Empty [Javascript] Kiểm tra các role của tài khoản

Tue Jun 12, 2018 4:13 pm
Code:
function _checkRoles() {
    var _getUserRoles = Xrm.Page.context.getUserRoles();
    _getUserRoles.forEach(function (item) {
        var req = new XMLHttpRequest();
        var clientUrl = Xrm.Page.context.getClientUrl();
        var _getUrlUserRoles = clientUrl + "/api/data/v9.0/roles(" + item + ")";
        req.open("GET", encodeURI(_getUrlUserRoles), true);
        req.setRequestHeader("Accept", "application/json");
        req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
        req.setRequestHeader("OData-MaxVersion", "4.0");
        req.setRequestHeader("OData-Version", "4.0");
        req.setRequestHeader("Access-Control-Allow-Origin", "*");
        req.onreadystatechange = function () {
            var object = JSON.parse(this.response);
   
            var _getNameUserRoles = object.name;
            console.log(_getNameUserRoles);
        };
        req.send(null);
    })
}
avatar
Admin
Admin
Tổng số bài gửi : 1562
Join date : 20/05/2018
https://thangcrm2.forumvi.com

[Javascript] Kiểm tra các role của tài khoản Empty Re: [Javascript] Kiểm tra các role của tài khoản

Wed Jun 20, 2018 3:23 pm
Code trên nếu muốn kiểm tra role có phải là Giám đốc hay không thì dù ở dòng 23 đã tìm được nhưng vẫn chạy tiếp, code dưới đây handle được việc đó.

Code:
var authority = false;
var _getUserRoles = Xrm.Page.context.getUserRoles();

for (var i = 0; i < _getUserRoles.length; i++) {
    const item = _getUserRoles[i];

    if (authority == true) {
        console.log(i);
        break;
    }
    var clientUrl = Xrm.Page.context.getClientUrl();
    var _getUrlUserRoles = clientUrl + "/api/data/v9.0/roles(" + item + ")";

    var req = new XMLHttpRequest();
    req.open("GET", encodeURI(_getUrlUserRoles), false);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.setRequestHeader("OData-MaxVersion", "4.0");
    req.setRequestHeader("OData-Version", "4.0");
    req.setRequestHeader("Access-Control-Allow-Origin", "*");

    req.onreadystatechange = function () {
        var object = JSON.parse(this.response);
        var _getNameUserRoles = object.name;

        if (_getNameUserRoles == "Nhân viên Bộ phận CSKH" ||
            _getNameUserRoles == "Nhân viên Bộ phận hợp đồng" ||
            _getNameUserRoles == "Trưởng Phòng CSKH") {
            authority = true;
            alert(_getNameUserRoles);
        }
    };
    req.send(null);
}
Về Đầu Trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết