edit.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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. if ($("form[data-id='editalias'] .goto_checkbox:checked").length > 0) {
  12. $('#textarea_alias_goto').prop('disabled', true);
  13. }
  14. $("#script_data").numberedtextarea({allowTabChar: true});
  15. });
  16. if ($("#multiple_bookings_select").val() == "custom") {
  17. $("#multiple_bookings_custom_div").show();
  18. $("#multiple_bookings").val($("#multiple_bookings_custom").val());
  19. }
  20. $("#multiple_bookings_select").change(function() {
  21. $("#multiple_bookings").val($("#multiple_bookings_select").val());
  22. if ($("#multiple_bookings").val() == "custom") {
  23. $("#multiple_bookings_custom_div").show();
  24. }
  25. else {
  26. $("#multiple_bookings_custom_div").hide();
  27. }
  28. });
  29. $("#multiple_bookings_custom").bind("change keypress keyup blur", function() {
  30. $("#multiple_bookings").val($("#multiple_bookings_custom").val());
  31. });
  32. jQuery(function($){
  33. // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
  34. function validateEmail(email) {
  35. 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,}))$/;
  36. return re.test(email);
  37. }
  38. function draw_wl_policy_domain_table() {
  39. ft_wl_policy_mailbox_table = FooTable.init('#wl_policy_domain_table', {
  40. "columns": [
  41. {"name":"chkbox","title":"","style":{"maxWidth":"40px","width":"40px"},"filterable": false,"sortable": false,"type":"html"},
  42. {"name":"prefid","style":{"maxWidth":"40px","width":"40px"},"title":"ID","filterable": false,"sortable": false},
  43. {"sorted": true,"name":"value","title":lang.spamfilter_table_rule},
  44. {"name":"object","title":"Scope"}
  45. ],
  46. "empty": lang.empty,
  47. "rows": $.ajax({
  48. dataType: 'json',
  49. url: '/api/v1/get/policy_wl_domain/' + table_for_domain,
  50. jsonp: false,
  51. error: function () {
  52. console.log('Cannot draw mailbox policy wl table');
  53. },
  54. success: function (data) {
  55. $.each(data, function (i, item) {
  56. if (!validateEmail(item.object)) {
  57. item.chkbox = '<input type="checkbox" data-id="policy_wl_domain" name="multi_select" value="' + item.prefid + '" />';
  58. }
  59. else {
  60. item.chkbox = '<input type="checkbox" disabled title="' + lang.spamfilter_table_domain_policy + '" />';
  61. }
  62. });
  63. }
  64. }),
  65. "paging": {
  66. "enabled": true,
  67. "limit": 5,
  68. "size": pagination_size
  69. },
  70. "sorting": {
  71. "enabled": true
  72. }
  73. });
  74. }
  75. function draw_bl_policy_domain_table() {
  76. ft_bl_policy_mailbox_table = FooTable.init('#bl_policy_domain_table', {
  77. "columns": [
  78. {"name":"chkbox","title":"","style":{"maxWidth":"40px","width":"40px"},"filterable": false,"sortable": false,"type":"html"},
  79. {"name":"prefid","style":{"maxWidth":"40px","width":"40px"},"title":"ID","filterable": false,"sortable": false},
  80. {"sorted": true,"name":"value","title":lang.spamfilter_table_rule},
  81. {"name":"object","title":"Scope"}
  82. ],
  83. "empty": lang.empty,
  84. "rows": $.ajax({
  85. dataType: 'json',
  86. url: '/api/v1/get/policy_bl_domain/' + table_for_domain,
  87. jsonp: false,
  88. error: function () {
  89. console.log('Cannot draw mailbox policy bl table');
  90. },
  91. success: function (data) {
  92. $.each(data, function (i, item) {
  93. if (!validateEmail(item.object)) {
  94. item.chkbox = '<input type="checkbox" data-id="policy_bl_domain" name="multi_select" value="' + item.prefid + '" />';
  95. }
  96. else {
  97. item.chkbox = '<input type="checkbox" disabled tooltip="' + lang.spamfilter_table_domain_policy + '" />';
  98. }
  99. });
  100. }
  101. }),
  102. "paging": {
  103. "enabled": true,
  104. "limit": 5,
  105. "size": pagination_size
  106. },
  107. "sorting": {
  108. "enabled": true
  109. }
  110. });
  111. }
  112. draw_wl_policy_domain_table();
  113. draw_bl_policy_domain_table();
  114. });