seitime-frappe/js/wn/misc/user.js
2012-05-07 18:04:34 +05:30

42 lines
No EOL
1.1 KiB
JavaScript

// misc user functions
wn.user_info = function(uid) {
var def = {
'fullname':uid,
'image': 'images/lib/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 ? wn.boot.profile.name : 'Guest'),
has_role: function(rl) {
if(typeof rl=='string')
rl = [rl];
for(var i in rl) {
if((wn.boot ? wn.boot.profile.roles : ['Guest']).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);
})