Built files from Bizgaze WebServer
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let InviteUsers;
  6. (function (InviteUsers) {
  7. let Components;
  8. (function (Components) {
  9. class ResetPassword extends Platform.Core.BaseComponent {
  10. jsFiles() {
  11. return ["platform/inviteusers/managers/inviteusermanager.js", "platform/membership/managers/accountmanager.js", "platform/core/enums/rowstatus.js", "libs/passwordrequirement/passwordrequirement.js"];
  12. }
  13. cssFiles() {
  14. return ["libs/passwordrequirement/passwordrequirement.css"];
  15. }
  16. html(id, containerid) {
  17. let html = `<form id="Bizgazecrm_Resetpassword" method="post" data-validate="parsley">
  18. <div class="modal-header b-b bg-white pa-10">
  19. <strong class="text-dark">Reset password<label id="lblLobName"></label></strong>
  20. </div>
  21. <div data-simplebar class="simple-scroll-bar modal-body scrollable">
  22. <div class="alert alert-info alert-block">
  23. <h5><i class="fa fa-bell-alt"></i>Change/Modify password</h5> <p class="mt-10">The changes will be updated immediately and all the active devices will be logged off </p>
  24. </div>
  25. <div id="resetPasswordDiv"></div>
  26. <div class="card">
  27. <div class="row card-body">
  28. <div class="col-sm-6">
  29. <div class="floating-label-form-group">
  30. <div class="m-l-lg"><label>New password *</label></div>
  31. <div class="form-group ">
  32. <span class="input-group-addon no-border position-absolute"><i class="fa fa-lock text-danger mr-10 mt-10" aria-hidden="true"></i></span>
  33. <input type="password" id="NewPassword" minlength="6" value="" placeholder="New password *" data-placeholder="Enter New password" data-label="New password *" class="pr-password form-control required floating-label-control ml-3" autocomplete="off" />
  34. <span toggle="#InputPassword" id="PasswordHide" class="fa fa-eye-slash font-15 field-icon"></span>
  35. <div class="showpwsdreq"></div>
  36. </div>
  37. </div>
  38. </div>
  39. <div class="col-sm-6">
  40. <div class="floating-label-form-group">
  41. <div class="m-l-lg mr-20">
  42. <label>Confirm password *</label>
  43. </div>
  44. <div class="form-group">
  45. <span class="input-group-addon no-border position-absolute"><i class="fa fa-lock text-danger mr-10 mt-10" aria-hidden="true"></i></span>
  46. <input type="password" id="ConfirmPassword" value="" minlength="6" placeholder="Confirm password *" data-placeholder="Enter Confirm password" data-label="Confirm password *" class="txtConfirmPassword form-control required floating-label-control ml-3" />
  47. <span toggle="#InputPassword" id="confirmPasswordHide" class="fa fa-eye-slash font-15 field-icon"></span>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. </div>
  53. <!--<div class="row card-body">
  54. <div class="col-sm-12">
  55. <div class="floating-label-form-group">
  56. <div class="m-l-lg mr-20">
  57. <label>Confirm password</label>
  58. </div>
  59. <div class="input-group">
  60. <span class="input-group-addon no-border"><i class="fa fa-lock text-danger mr-10 mt-10" aria-hidden="true"></i></span>
  61. <input type="password" id="ConfirmPassword" value="" minlength="6" placeholder="Confirm password" class="txtConfirmPassword form-control required floating-label-control" />
  62. </div>
  63. </div>
  64. </div>
  65. </div>-->
  66. </div>
  67. <div class="bg-white modal-footer pa-10">
  68. <a href="javascript:;" id="frmRule_btncancel" class="btn btn-light btn-sm mr-auto">Close</a>
  69. <a href="javascript:;" id="btnReset" class="btn btn-primary btn-sm">Save</a>
  70. </div>
  71. </form>`;
  72. return html;
  73. }
  74. load(id, containerid, callback) {
  75. $(".pr-password").click(function () {
  76. var resetPswd = $(".pr-password");
  77. resetPswd.passwordRequirements({
  78. numCharacters: 8,
  79. useLowercase: true,
  80. useUppercase: true,
  81. useNumbers: true,
  82. useSpecial: true
  83. });
  84. });
  85. $("#PasswordHide").click(function () {
  86. var input = $('#NewPassword');
  87. input.attr('type') == "password" ? input.attr('type', 'text') : input.attr('type', 'password');
  88. $("#PasswordHide").toggleClass('fa-eye-slash fa-eye');
  89. });
  90. $("#confirmPasswordHide").click(function () {
  91. var input = $('#ConfirmPassword');
  92. input.attr('type') == "password" ? input.attr('type', 'text') : input.attr('type', 'password');
  93. $('#confirmPasswordHide').toggleClass('fa-eye-slash fa-eye');
  94. });
  95. $("#ConfirmPassword").val('');
  96. $("#NewPassword").val('');
  97. $("#frmRule_btncancel").click(function () {
  98. Unibase.Platform.Helpers.NavigationHelper.Instance().closePopUp();
  99. });
  100. var bizgazeid = $("#hf_" + $("#hfLayout_InstalledPageId").val() + "_BizgazeId").val();
  101. $("#ConfirmPassword").on("focus", function () {
  102. $(".pwstrength_viewport_progress").addClass('hidden');
  103. });
  104. $("#NewPassword").on("keyup", function () {
  105. if ($(this).val().toString().length > 0) {
  106. $(".pwstrength_viewport_progress").removeClass('hidden');
  107. }
  108. else {
  109. $(".pwstrength_viewport_progress").addClass('hidden');
  110. }
  111. });
  112. $("#NewPassword").keydown(function (key) {
  113. var password = $(this).val().toString();
  114. var strength = 1;
  115. if (password.length >= 4) {
  116. strength += password.length;
  117. }
  118. if (password.toString().match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) {
  119. strength += 1;
  120. }
  121. if (password.toString().match(/([a-zA-Z])/) && password.toString().match(/([0-9])/)) {
  122. strength += 3;
  123. }
  124. if (password.toString().length < 4) {
  125. $(".changepwdpercent").css('width', '20%');
  126. $(".password-verdict").html('Too Short');
  127. }
  128. else if (strength >= 5 && strength < 7) {
  129. $(".changepwdpercent").css('width', '40%');
  130. $(".password-verdict").html('Weak Password');
  131. $(".changepwdpercent").css('background-color', 'red');
  132. }
  133. else if (strength >= 8 && strength < 10) {
  134. $(".changepwdpercent").css('width', '60%');
  135. $(".password-verdict").html('Good Password');
  136. $(".changepwdpercent").css('background-color', 'Orange');
  137. }
  138. else if (strength > 10) {
  139. $(".changepwdpercent").css('width', '80%');
  140. $(".password-verdict").html('Strong Password');
  141. $(".changepwdpercent").css('background-color', 'green');
  142. }
  143. });
  144. var username = bizgazeid;
  145. $("#hfUserName").val(username);
  146. $("#btnReset,.reset").click(function () {
  147. if ($("#NewPassword").val() == "") {
  148. MessageHelper.Instance().showError("Please Enter Password", 'resetPasswordDiv');
  149. return false;
  150. }
  151. if ($("#ConfirmPassword").val() == "") {
  152. MessageHelper.Instance().showError("Please Enter Confirm Password", 'resetPasswordDiv');
  153. return false;
  154. }
  155. if ($("#NewPassword").val().toString().length < 8 || $("#ConfirmPassword").val().toString().length < 8) {
  156. MessageHelper.Instance().showError("Password must be atleast 8 characters", 'resetPasswordDiv');
  157. return false;
  158. }
  159. var val1 = $("#NewPassword").val();
  160. var val2 = $("#ConfirmPassword").val();
  161. if (val1 != val2) {
  162. MessageHelper.Instance().showError("New and confirm password does not match", 'resetPasswordDiv');
  163. return false;
  164. }
  165. var password = $("#NewPassword").val().toString();
  166. var decimal = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,30}$/;
  167. var checkpassword = password.match(decimal) ? true : false;
  168. if (checkpassword == false) {
  169. $(".pr-password").focus();
  170. MessageHelper.Instance().showError("Please Match the Password in requested Format", "resetPasswordDiv");
  171. return false;
  172. }
  173. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  174. var unibaseid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_unibaseid").Value;
  175. var postData = {
  176. Password: val1.toString(),
  177. UserName: unibaseid.toString(),
  178. };
  179. Unibase.Platform.InviteUsers.Managers.InviteUserManager.Instance().updatepassword(postData).then(function (response) {
  180. $('#' + containerid).modal('hide');
  181. $('#' + containerid).remove();
  182. $(".preloader-it").delay(200).fadeOut("slow");
  183. if (response.status == Unibase.Data.Status.Success) {
  184. var user = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  185. Unibase.Platform.Membership.Managers.AccountManager.Instance().deleteUserDevices(user.unibaseId).then(function (res) {
  186. });
  187. }
  188. MessageHelper.Instance().showSuccess(response.message, '');
  189. });
  190. });
  191. }
  192. static Instance() {
  193. if (this.instance === undefined) {
  194. this.instance = new ResetPassword();
  195. }
  196. return this.instance;
  197. }
  198. }
  199. Components.ResetPassword = ResetPassword;
  200. })(Components = InviteUsers.Components || (InviteUsers.Components = {}));
  201. })(InviteUsers = Platform.InviteUsers || (Platform.InviteUsers = {}));
  202. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  203. })(Unibase || (Unibase = {}));