Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

vor 13 Jahren
vor 13 Jahren
vor 12 Jahren
vor 12 Jahren
vor 12 Jahren
vor 12 Jahren
vor 12 Jahren
vor 12 Jahren
vor 12 Jahren
vor 12 Jahren
vor 12 Jahren
vor 12 Jahren
vor 12 Jahren
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. // misc user functions
  2. wn.user_info = function(uid) {
  3. var def = {
  4. 'fullname':uid,
  5. 'image': 'lib/images/ui/avatar.png'
  6. }
  7. if(!wn.boot.user_info) return def
  8. if(!wn.boot.user_info[uid]) return def
  9. if(!wn.boot.user_info[uid].fullname)
  10. wn.boot.user_info[uid].fullname = uid;
  11. if(!wn.boot.user_info[uid].image)
  12. wn.boot.user_info[uid].image = def.image;
  13. return wn.boot.user_info[uid];
  14. }
  15. wn.avatar = function(user, large, title) {
  16. var image = wn.utils.get_file_link(wn.user_info(user).image);
  17. var to_size = large ? 72 : 30;
  18. if(!title) title = wn.user_info(user).fullname;
  19. return repl('<span class="avatar" title="%(title)s" style="width: %(len)s; \
  20. height: %(len)s; border-radius: %(len)s; overflow: hidden;">\
  21. <img src="%(image)s"></span>', {
  22. image: image,
  23. len: to_size + "px",
  24. title: title
  25. });
  26. }
  27. wn.provide('wn.user');
  28. $.extend(wn.user, {
  29. name: (wn.boot ? wn.boot.profile.name : 'Guest'),
  30. has_role: function(rl) {
  31. if(typeof rl=='string')
  32. rl = [rl];
  33. for(var i in rl) {
  34. if((wn.boot ? wn.boot.profile.roles : ['Guest']).indexOf(rl[i])!=-1)
  35. return true;
  36. }
  37. },
  38. get_desktop_items: function() {
  39. // get user sequence preference
  40. var user_list = wn.defaults.get_default("_desktop_items");
  41. if(user_list && user_list.length)
  42. var modules_list = user_list;
  43. if(modules_list) {
  44. // add missing modules - they will be hidden anyways by the view
  45. $.each(wn.modules, function(m, data) {
  46. if(modules_list.indexOf(m)==-1) {
  47. modules_list.push(m);
  48. }
  49. });
  50. }
  51. if(!modules_list || !modules_list.length) {
  52. // all modules
  53. modules_list = keys(wn.modules).sort();
  54. }
  55. // filter hidden modules
  56. if(wn.boot.hidden_modules && modules_list) {
  57. var hidden_list = JSON.parse(wn.boot.hidden_modules);
  58. var modules_list = $.map(modules_list, function(m) {
  59. if(hidden_list.indexOf(m)==-1) return m; else return null;
  60. });
  61. }
  62. // hide based on permission
  63. modules_list = $.map(modules_list, function(m) {
  64. var type = wn.modules[m] && wn.modules[m].type;
  65. var ret = null;
  66. switch(type) {
  67. case "module":
  68. if(wn.boot.profile.allow_modules.indexOf(m)!=-1)
  69. ret = m;
  70. break;
  71. case "page":
  72. if(wn.boot.allowed_pages.indexOf(wn.modules[m].link)!=-1)
  73. ret = m;
  74. break;
  75. case "view":
  76. ret = m;
  77. break;
  78. case "setup":
  79. ret = m;
  80. break;
  81. default:
  82. ret = null;
  83. }
  84. return ret;
  85. })
  86. return modules_list;
  87. },
  88. is_report_manager: function() {
  89. return wn.user.has_role(['Administrator', 'System Manager', 'Report Manager']);
  90. }
  91. })
  92. wn.session_alive = true;
  93. $(document).bind('mousemove', function() {
  94. wn.session_alive = true;
  95. if(wn.session_alive_timeout)
  96. clearTimeout(wn.session_alive_timeout);
  97. wn.session_alive_timeout = setTimeout('wn.session_alive=false;', 30000);
  98. })