crowi-admin.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. require('bootstrap-select');
  2. require('./thirdparty-js/jQuery.style.switcher');
  3. // see https://github.com/abpetkov/switchery/issues/120
  4. // see https://github.com/abpetkov/switchery/issues/120#issuecomment-286337221
  5. require('./thirdparty-js/switchery/switchery');
  6. require('./thirdparty-js/switchery/switchery.css');
  7. $(function() {
  8. $('#slackNotificationForm').on('submit', function(e) {
  9. $.post('/_api/admin/notification.add', $(this).serialize(), function(res) {
  10. if (res.ok) {
  11. // TODO Fix
  12. location.reload();
  13. }
  14. });
  15. return false;
  16. });
  17. $('form.admin-remove-updatepost').on('submit', function(e) {
  18. $.post('/_api/admin/notification.remove', $(this).serialize(), function(res) {
  19. if (res.ok) {
  20. // TODO Fix
  21. location.reload();
  22. }
  23. });
  24. return false;
  25. });
  26. $('#createdUserModal').modal('show');
  27. $('#admin-password-reset-modal').on('show.bs.modal', function(button) {
  28. var data = $(button.relatedTarget);
  29. var userId = data.data('user-id');
  30. var email = data.data('user-email');
  31. $('#admin-password-reset-user').text(email);
  32. $('#admin-users-reset-password input[name=user_id]').val(userId);
  33. });
  34. $('form#admin-users-reset-password').on('submit', function(e) {
  35. $.post('/_api/admin/users.resetPassword', $(this).serialize(), function(res) {
  36. if (res.ok) {
  37. // TODO Fix
  38. //location.reload();
  39. $('#admin-password-reset-modal').modal('hide');
  40. $('#admin-password-reset-modal-done').modal('show');
  41. $('#admin-password-reset-done-user').text(res.user.email);
  42. $('#admin-password-reset-done-password').text(res.newPassword);
  43. return ;
  44. }
  45. // fixme
  46. alert('Failed to reset password');
  47. });
  48. return false;
  49. });
  50. $('#admin-delete-user-group-modal').on('show.bs.modal', function(button) {
  51. var data = $(button.relatedTarget);
  52. var userGroupId = data.data('user-group-id');
  53. var userGroupName = data.data('user-group-name');
  54. $('#admin-delete-user-group-name').text(userGroupName);
  55. $('#admin-user-groups-delete input[name=user_group_id]').val(userGroupId);
  56. });
  57. $('form#user-group-relation-create').on('submit', function(e) {
  58. $.post('/admin/user-group-relation/create', $(this).serialize(), function(res) {
  59. $('#admin-add-user-group-relation-modal').modal('hide');
  60. return;
  61. });
  62. });
  63. $('#pictureUploadForm input[name=userGroupPicture]').on('change', function() {
  64. var $form = $('#pictureUploadForm');
  65. var fd = new FormData($form[0]);
  66. if ($(this).val() == '') {
  67. return false;
  68. }
  69. $('#pictureUploadFormProgress').html('<img src="/images/loading_s.gif"> アップロード中...');
  70. $.ajax($form.attr('action'), {
  71. type: 'post',
  72. processData: false,
  73. contentType: false,
  74. data: fd,
  75. dataType: 'json',
  76. success: function(data) {
  77. if (data.status) {
  78. $('#settingUserPicture').attr('src', data.url + '?time=' + (new Date()));
  79. $('#pictureUploadFormMessage')
  80. .addClass('alert alert-success')
  81. .html('変更しました');
  82. }
  83. else {
  84. $('#pictureUploadFormMessage')
  85. .addClass('alert alert-danger')
  86. .html('変更中にエラーが発生しました。');
  87. }
  88. $('#pictureUploadFormProgress').html('');
  89. }
  90. });
  91. return false;
  92. });
  93. // style switcher
  94. $('#styleOptions').styleSwitcher();
  95. // switchery
  96. const elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
  97. elems.forEach(function(elem) {
  98. const color = elem.dataset.color;
  99. const size = elem.dataset.size;
  100. new Switchery(elem, { color, size });
  101. });
  102. });