Тема: Изменение прав, метод updateItemAccess
Здравствуйте,
Столкнулся с трудностями при изменении прав на ресурс для пользователя.
Ниже код, которым вывожу перечень пользователей и ресурсов. Затем, после выбора ресурса, пользователя изменяю права с помощью метода updateItemAccess. В ответ консоль сообщает: Uncaught TypeError: F.getId is not a function.
Направьте меня пожалуйста на путь истинный, или поделитесь примером изменения прав..
Заранее спасибо!
Алексей.
function init()
{
var res_flags = wialon.item.Item.dataFlag.base | wialon.item.Item.accessFlag.setItemsAccess | wialon.item.Item.accessFlag.setAcl;
var user_flags = wialon.item.Item.dataFlag.base | wialon.item.User.dataFlag.flags | wialon.item.Item.dataFlag.CustomProps;
var sess = wialon.core.Session.getInstance(); // get instance of current Session
sess.updateDataFlags( // load items to current session
[
{ type: "type",
data: "avl_resource",
flags:res_flags ,
mode: 0
}, // 'avl_resource's specification
{ type: "type",
data: "user",
flags:user_flags ,
mode: 0
} // 'avl_resource's specification
],
function (code)
{ // updateDataFlags callback
if (code)
{
msg(wialon.core.Errors.getErrorText(code));
return;
} // exit if error code
var res = sess.getItems("avl_resource"); // get loaded 'avl_resource's items
if (!res || !res.length)
{
msg("Resources not found");
return;
} // check if resources found
for (var i = 0; i< res.length; i++) // construct Select object using found resources
$("#res").append("<option value='" + res[i] + "'>" + res[i].getName() + "</option>");
var usr = sess.getItems("user"); // get loaded 'user's items
if (!usr || !usr.length)
{
msg("User not found");
return;
} // check if resources found
for (var i = 0; i< usr.length; i++) // construct Select object using found resources
$("#usr").append("<option value='" + usr[i].getId() + "'>" + usr[i].getName() + "</option>");
$("#res").change( set_access )|$("#usr").change( set_access ); //must be selected
}
);
}
function set_access()
{
var sess = wialon.core.Session.getInstance();
var flag_a=550594678661; // Access flag
var res=$("#res").val(); //check for select resource
if(!res)
{
msg("Выберите ресурс");
return; // exit if no resource select
}
var id_usr=$("#usr").val(); //check for select user
if(!id_usr)
{
msg("Выберите Пользователя");
return; // exit if no user select
}
var userr = sess.getItem( id_usr );
userr.updateItemAccess(res, flag_a, function(code) // set accsess to item
{
if (code != 0)
{
alert(wialon.core.Errors.getErrorText(code));
return;
}
msg("Done");
});
}