edit.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. $(document).ready(function() {
  2. $(".goto_checkbox").click(function( event ) {
  3. $("form[data-id='editalias'] .goto_checkbox").not(this).prop('checked', false);
  4. if ($("form[data-id='editalias'] .goto_checkbox:checked").length > 0) {
  5. $('#textarea_alias_goto').prop('disabled', true);
  6. }
  7. else {
  8. $("#textarea_alias_goto").removeAttr('disabled');
  9. }
  10. });
  11. $("#disable_sender_check").click(function( event ) {
  12. if ($("form[data-id='editmailbox'] #disable_sender_check:checked").length > 0) {
  13. $('#editSelectSenderACL').prop('disabled', true);
  14. $('#editSelectSenderACL').selectpicker('refresh');
  15. }
  16. else {
  17. $('#editSelectSenderACL').prop('disabled', false);
  18. $('#editSelectSenderACL').selectpicker('refresh');
  19. }
  20. });
  21. if ($("form[data-id='editalias'] .goto_checkbox:checked").length > 0) {
  22. $('#textarea_alias_goto').prop('disabled', true);
  23. }
  24. $("#mailbox-password-warning-close").click(function( event ) {
  25. $('#mailbox-passwd-hidden-info').addClass('hidden');
  26. $('#mailbox-passwd-form-groups').removeClass('hidden');
  27. });
  28. });
  29. if ($("#editSelectMultipleBookings").val() == "custom") {
  30. $("#multiple_bookings_custom_div").show();
  31. $('input[name=multiple_bookings]').val($("#multiple_bookings_custom").val());
  32. }
  33. $("#editSelectMultipleBookings").change(function() {
  34. $('input[name=multiple_bookings]').val($("#editSelectMultipleBookings").val());
  35. if ($('input[name=multiple_bookings]').val() == "custom") {
  36. $("#multiple_bookings_custom_div").show();
  37. }
  38. else {
  39. $("#multiple_bookings_custom_div").hide();
  40. }
  41. });
  42. if ($("#editSelectSenderACL option[value='\*']:selected").length > 0){
  43. $("#sender_acl_disabled").show();
  44. }
  45. $('#editSelectSenderACL').change(function() {
  46. if ($("#editSelectSenderACL option[value='\*']:selected").length > 0){
  47. $("#sender_acl_disabled").show();
  48. }
  49. else {
  50. $("#sender_acl_disabled").hide();
  51. }
  52. });
  53. $("#multiple_bookings_custom").bind("change keypress keyup blur", function() {
  54. $('input[name=multiple_bookings]').val($("#multiple_bookings_custom").val());
  55. });
  56. jQuery(function($){
  57. // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
  58. function validateEmail(email) {
  59. var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  60. return re.test(email);
  61. }
  62. function draw_wl_policy_domain_table() {
  63. ft_wl_policy_mailbox_table = FooTable.init('#wl_policy_domain_table', {
  64. "columns": [
  65. {"name":"chkbox","title":"","style":{"maxWidth":"40px","width":"40px"},"filterable": false,"sortable": false,"type":"html"},
  66. {"name":"prefid","style":{"maxWidth":"40px","width":"40px"},"title":"ID","filterable": false,"sortable": false},
  67. {"sorted": true,"name":"value","title":lang_user.spamfilter_table_rule},
  68. {"name":"object","title":"Scope"}
  69. ],
  70. "empty": lang_user.empty,
  71. "rows": $.ajax({
  72. dataType: 'json',
  73. url: '/api/v1/get/policy_wl_domain/' + table_for_domain,
  74. jsonp: false,
  75. error: function () {
  76. console.log('Cannot draw mailbox policy wl table');
  77. },
  78. success: function (data) {
  79. $.each(data, function (i, item) {
  80. if (!validateEmail(item.object)) {
  81. item.chkbox = '<input type="checkbox" data-id="policy_wl_domain" name="multi_select" value="' + item.prefid + '" />';
  82. }
  83. else {
  84. item.chkbox = '<input type="checkbox" disabled title="' + lang_user.spamfilter_table_domain_policy + '" />';
  85. }
  86. });
  87. }
  88. }),
  89. "paging": {
  90. "enabled": true,
  91. "limit": 5,
  92. "size": pagination_size
  93. },
  94. "sorting": {
  95. "enabled": true
  96. }
  97. });
  98. }
  99. function draw_bl_policy_domain_table() {
  100. ft_bl_policy_mailbox_table = FooTable.init('#bl_policy_domain_table', {
  101. "columns": [
  102. {"name":"chkbox","title":"","style":{"maxWidth":"40px","width":"40px"},"filterable": false,"sortable": false,"type":"html"},
  103. {"name":"prefid","style":{"maxWidth":"40px","width":"40px"},"title":"ID","filterable": false,"sortable": false},
  104. {"sorted": true,"name":"value","title":lang_user.spamfilter_table_rule},
  105. {"name":"object","title":"Scope"}
  106. ],
  107. "empty": lang_user.empty,
  108. "rows": $.ajax({
  109. dataType: 'json',
  110. url: '/api/v1/get/policy_bl_domain/' + table_for_domain,
  111. jsonp: false,
  112. error: function () {
  113. console.log('Cannot draw mailbox policy bl table');
  114. },
  115. success: function (data) {
  116. $.each(data, function (i, item) {
  117. if (!validateEmail(item.object)) {
  118. item.chkbox = '<input type="checkbox" data-id="policy_bl_domain" name="multi_select" value="' + item.prefid + '" />';
  119. }
  120. else {
  121. item.chkbox = '<input type="checkbox" disabled tooltip="' + lang_user.spamfilter_table_domain_policy + '" />';
  122. }
  123. });
  124. }
  125. }),
  126. "paging": {
  127. "enabled": true,
  128. "limit": 5,
  129. "size": pagination_size
  130. },
  131. "sorting": {
  132. "enabled": true
  133. }
  134. });
  135. }
  136. draw_wl_policy_domain_table();
  137. draw_bl_policy_domain_table();
  138. });