_TenantChangeModal.cshtml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. @using WeApp.Views.Shared.Modals
  2. @using IwbZero.MultiTenancy
  3. @Html.Partial("/Modals/_ModalHeader", new ModalHeaderViewModel(L("ChangeTenant"),""))
  4. <div class="modal-body">
  5. <form name="TenantChangeForm" role="form" novalidate class="form-validation">
  6. <div class="form-group form-float">
  7. <div class="form-line">
  8. <input class="form-control" type="text" name="TenancyName" maxlength="@TenantBase.MaxTenancyNameLength" value="@Model.TenancyName">
  9. <label class="form-label">@L("TenancyName")</label>
  10. </div>
  11. </div>
  12. <span class="help-block">@L("LeaveEmptyToSwitchToHost")</span>
  13. </form>
  14. </div>
  15. @Html.Partial("Modals/_ModalFooter")
  16. <script type="text/javascript">
  17. (function ($) {
  18. // var _accountService = abp.services.app.account;
  19. var $form = $('form[name=TenantChangeForm]');
  20. function switchToSelectedTenant() {
  21. var tenancyName = $form.find('input[name=TenancyName]').val();
  22. if (!tenancyName) {
  23. abp.multiTenancy.setTenantIdCookie(null);
  24. location.reload();
  25. return;
  26. }
  27. $.iwbAjax4({
  28. url: abp.appUrl + '',
  29. success: function(result) {
  30. switch (result.state) {
  31. case 1: //Available
  32. abp.multiTenancy.setTenantIdCookie(result.tenantId);
  33. //_modalManager.close();
  34. location.reload();
  35. return;
  36. case 2: //InActive
  37. abp.message.warn(abp.utils.formatString(abp.localization
  38. .localize("TenantIsNotActive", "WeApp"),
  39. tenancyName));
  40. break;
  41. case 3: //NotFound
  42. abp.message.warn(abp.utils.formatString(abp.localization
  43. .localize("ThereIsNoTenantDefinedWithName{0}", "WeApp"),
  44. tenancyName));
  45. break;
  46. }
  47. }
  48. });
  49. //_accountService.isTenantAvailable({
  50. // tenancyName: tenancyName
  51. //}).done(function (result) {
  52. // switch (result.state) {
  53. // case 1: //Available
  54. // abp.multiTenancy.setTenantIdCookie(result.tenantId);
  55. // //_modalManager.close();
  56. // location.reload();
  57. // return;
  58. // case 2: //InActive
  59. // abp.message.warn(abp.utils.formatString(abp.localization
  60. // .localize("TenantIsNotActive", "WeApp"),
  61. // tenancyName));
  62. // break;
  63. // case 3: //NotFound
  64. // abp.message.warn(abp.utils.formatString(abp.localization
  65. // .localize("ThereIsNoTenantDefinedWithName{0}", "WeApp"),
  66. // tenancyName));
  67. // break;
  68. // }
  69. //});
  70. }
  71. //Handle save button click
  72. $form.closest('div.modal-content').find(".save-button").click(function (e) {
  73. e.preventDefault();
  74. switchToSelectedTenant();
  75. });
  76. //Handle enter key
  77. $form.find('input').on('keypress', function (e) {
  78. if (e.which === 13) {
  79. e.preventDefault();
  80. switchToSelectedTenant();
  81. }
  82. });
  83. $.AdminBSB.input.activate($form);
  84. $('#TenantChangeModal').on('shown.bs.modal', function () {
  85. $form.find('input[type=text]:first').focus();
  86. });
  87. })(jQuery);
  88. </script>