admin.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. $(document).ready(function() {
  2. $.ajax({
  3. dataType: 'json',
  4. url: '/api/v1/get/domain-admin/all',
  5. jsonp: false,
  6. error: function () {
  7. console.log('Cannot draw domain admin table');
  8. },
  9. success: function (data) {
  10. $.each(data, function (i, item) {
  11. item.action = '<div class="btn-group">' +
  12. '<a href="/edit.php?domainadmin=' + encodeURI(item.username) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
  13. '<a href="/delete.php?domainadmin=' + encodeURI(item.username) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
  14. '</div>';
  15. });
  16. $('#domainadminstable').footable({
  17. "columns": [
  18. {"sorted": true,"name":"username","title":lang.username,"style":{"width":"250px"}},
  19. {"name":"selected_domains","title":lang.admin_domains,"breakpoints":"xs sm"},
  20. {"name":"tfa_active","title":"TFA", "filterable": false,"style":{"maxWidth":"80px","width":"80px"}},
  21. {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active},
  22. {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
  23. ],
  24. "rows": data,
  25. "empty": lang.empty,
  26. "paging": {
  27. "enabled": true,
  28. "limit": 5,
  29. "size": pagination_size
  30. },
  31. "filtering": {
  32. "enabled": true,
  33. "position": "left",
  34. "placeholder": lang.filter_table
  35. },
  36. "sorting": {
  37. "enabled": true
  38. }
  39. });
  40. }
  41. });
  42. $("#refresh_dovecot_log").on('click', function(e) {
  43. function unix_time_format(tm) {
  44. var date = new Date(tm ? tm * 1000 : 0);
  45. return date.toLocaleString();
  46. }
  47. e.preventDefault();
  48. if (typeof ft_dovecot_logs != 'undefined') {
  49. ft_dovecot_logs.destroy();
  50. }
  51. $.ajax({
  52. dataType: 'json',
  53. url: '/api/v1/get/logs/dovecot/1000',
  54. jsonp: false,
  55. error: function () {
  56. console.log('Cannot draw dovecot log table');
  57. },
  58. success: function (data) {
  59. $.each(data, function (i, item) {
  60. var danger_class = ["emerg", "alert", "crit"];
  61. var warning_class = ["warning"];
  62. var info_class = ["notice", "info", "debug"];
  63. if (jQuery.inArray(item.priority, danger_class) !== -1) {
  64. item.priority = '<span class="label label-danger">' + item.priority + '</span>';
  65. }
  66. else if (jQuery.inArray(item.priority, warning_class) !== -1) {
  67. item.priority = '<span class="label label-warning">' + item.priority + '</span>';
  68. }
  69. else if (jQuery.inArray(item.priority, info_class) !== -1) {
  70. item.priority = '<span class="label label-info">' + item.priority + '</span>';
  71. }
  72. });
  73. ft_dovecot_logs = FooTable.init("#dovecot_log", {
  74. "columns": [
  75. {"name":"time","formatter":function unix_time_format(tm) {var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}},
  76. {"name":"priority","title":lang.priority,"style":{"width":"80px"}},
  77. {"name":"message","title":lang.message},
  78. ],
  79. "rows": data,
  80. "empty": lang.empty,
  81. "paging": {
  82. "enabled": true,
  83. "limit": 5,
  84. "size": pagination_size
  85. },
  86. "filtering": {
  87. "enabled": true,
  88. "position": "left",
  89. "placeholder": lang.filter_table
  90. },
  91. "sorting": {
  92. "enabled": true
  93. }
  94. });
  95. }
  96. });
  97. });
  98. $("#refresh_postfix_log").on('click', function(e) {
  99. function unix_time_format(tm) {
  100. var date = new Date(tm ? tm * 1000 : 0);
  101. return date.toLocaleString();
  102. }
  103. e.preventDefault();
  104. if (typeof ft_postfix_logs != 'undefined') {
  105. ft_postfix_logs.destroy();
  106. }
  107. $.ajax({
  108. dataType: 'json',
  109. url: '/api/v1/get/logs/postfix/1000',
  110. jsonp: false,
  111. error: function () {
  112. console.log('Cannot draw postfix log table');
  113. },
  114. success: function (data) {
  115. $.each(data, function (i, item) {
  116. var danger_class = ["emerg", "alert", "crit"];
  117. var warning_class = ["warning"];
  118. var info_class = ["notice", "info", "debug"];
  119. if (jQuery.inArray(item.priority, danger_class) !== -1) {
  120. item.priority = '<span class="label label-danger">' + item.priority + '</span>';
  121. }
  122. else if (jQuery.inArray(item.priority, warning_class) !== -1) {
  123. item.priority = '<span class="label label-warning">' + item.priority + '</span>';
  124. }
  125. else if (jQuery.inArray(item.priority, info_class) !== -1) {
  126. item.priority = '<span class="label label-info">' + item.priority + '</span>';
  127. }
  128. });
  129. ft_postfix_logs = FooTable.init("#postfix_log", {
  130. "columns": [
  131. {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}},
  132. {"name":"priority","title":lang.priority,"style":{"width":"80px"}},
  133. {"name":"message","title":lang.message},
  134. ],
  135. "rows": data,
  136. "empty": lang.empty,
  137. "paging": {
  138. "enabled": true,
  139. "limit": 5,
  140. "size": pagination_size
  141. },
  142. "filtering": {
  143. "enabled": true,
  144. "position": "left",
  145. "placeholder": lang.filter_table
  146. },
  147. "sorting": {
  148. "enabled": true
  149. }
  150. });
  151. }
  152. });
  153. });
  154. $("#refresh_dovecot_log").trigger('click');
  155. $("#refresh_postfix_log").trigger('click');
  156. });