41 lines
No EOL
1 KiB
JavaScript
41 lines
No EOL
1 KiB
JavaScript
// misc user functions
|
|
|
|
wn.user_info = function(uid) {
|
|
var def = {
|
|
'fullname':uid,
|
|
'image': 'lib/images/ui/no_img_m.gif'
|
|
}
|
|
if(!wn.boot.user_info) return def
|
|
if(!wn.boot.user_info[uid]) return def
|
|
if(!wn.boot.user_info[uid].fullname)
|
|
wn.boot.user_info[uid].fullname = uid;
|
|
if(!wn.boot.user_info[uid].image)
|
|
wn.boot.user_info[uid].image = def.image;
|
|
return wn.boot.user_info[uid];
|
|
}
|
|
|
|
wn.provide('wn.user');
|
|
|
|
$.extend(wn.user, {
|
|
name: wn.boot.profile.name,
|
|
has_role: function(rl) {
|
|
if(typeof rl=='string') rl = [rl];
|
|
for(var i in rl) {
|
|
if(wn.boot.profile.roles.indexOf(rl[i])!=-1)
|
|
return true;
|
|
}
|
|
},
|
|
is_report_manager: function() {
|
|
return wn.user.has_role(['Administrator', 'System Manager', 'Report Manager']);
|
|
}
|
|
})
|
|
|
|
// wn.session_alive is true if user shows mouse movement in 30 seconds
|
|
|
|
wn.session_alive = true;
|
|
$(document).bind('mousemove', function() {
|
|
wn.session_alive = true;
|
|
if(wn.session_alive_timeout)
|
|
clearTimeout(wn.session_alive_timeout);
|
|
wn.session_alive_timeout = setTimeout('wn.session_alive=false;', 30000);
|
|
}) |