ChangePassView.cshtml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. @model NEducation.Models.ProfileModel
  2. @{
  3. ViewBag.Title = "ChangePassView";
  4. Layout = "~/Views/Shared/_LayoutHome.cshtml";
  5. }
  6. @using NEducation.Content.Texts;
  7. <link rel="stylesheet" href="~/Content/assets/css/profile/personal.css" />
  8. <script src="~/Content/assets/js/profile/personal.js" type="text/javascript"></script>
  9. @*
  10. <link rel="stylesheet" href="~/Content/assets/css/profile/main.css" />*@
  11. <!-- Show notification -->
  12. <!-- Header -->
  13. <!-- Body -->
  14. <div class="main-body">
  15. <div class="setting-container">
  16. <div class="setting-body">
  17. <div class="setting-left">
  18. <div class="setting-left-content">
  19. <div class="left-item">
  20. <a href="javascript:void(0)" class="left-item-menu menu-item-course">@Lang.Course <i class="fa fa-angle-up"></i></a>
  21. <ul>
  22. @*<li class="menu-order">*@
  23. <li class="menu-course">
  24. <a href="/Individual">@Lang.CourseManager</a>
  25. </li>
  26. </ul>
  27. </div>
  28. <div class="left-item">
  29. <a href="javascript:void(0)" class="left-item-menu menu-item-information">Cá nhân <i class="fa fa-angle-up"></i></a>
  30. <ul>
  31. <li class="menu-information">
  32. <a href="/Home/Profile">
  33. @Lang.Information
  34. @*Thông tin chung*@
  35. </a>
  36. </li>
  37. <li class="menu-security">
  38. <a href="/Home/ChangePass">
  39. @Lang.ChangePassword
  40. @*Thay đổi mật khẩu*@
  41. </a>
  42. </li>
  43. </ul>
  44. </div>
  45. </div>
  46. </div>
  47. <div class="setting-right">
  48. <div class="setting-right-content">
  49. <style>
  50. .setting-security .info-label {
  51. display: block;
  52. font-weight: 300;
  53. font-size: 15px;
  54. color: var(--color-default-text);
  55. margin-bottom: 10px;
  56. }
  57. .setting-security .info-input {
  58. width: 100%;
  59. height: 35px;
  60. position: relative;
  61. border-bottom: 2px solid #E3E4E5;
  62. margin-bottom: 15px;
  63. }
  64. .setting-security .info-input .input-text {
  65. width: 100%;
  66. height: 100%;
  67. border: 0px;
  68. outline: 0px;
  69. padding: 0px;
  70. background: transparent;
  71. font-weight: 400;
  72. font-size: 15px;
  73. color: var(--color-default-title);
  74. }
  75. .setting-security .info-input .input-text::placeholder {
  76. font-weight: 400;
  77. font-size: 15px;
  78. color: #AFAFAF;
  79. }
  80. .setting-security .info-input .input-select {
  81. width: 100%;
  82. height: 100%;
  83. border: 0px;
  84. outline: 0px;
  85. padding: 0px;
  86. background: transparent;
  87. font-weight: 400;
  88. font-size: 16px;
  89. color: var(--color-default-title);
  90. -webkit-appearance: none;
  91. -moz-appearance: none;
  92. position: relative;
  93. z-index: 2;
  94. }
  95. .setting-security .info-input .input-arrow {
  96. font-size: 20px;
  97. color: var(--color-blue-text);
  98. position: absolute;
  99. right: 20px;
  100. top: 50%;
  101. transform: translate(0px, -50%);
  102. z-index: 1;
  103. transition: 0.3s all linear;
  104. }
  105. .setting-security .info-input .input-select:focus ~ .input-arrow {
  106. transform: translate(0px, -50%) rotate(180deg);
  107. }
  108. .setting-security .info-input .input-line {
  109. position: absolute;
  110. left: 0px;
  111. bottom: -2px;
  112. width: 0%;
  113. height: 2px;
  114. background: var(--color-blue-bg);
  115. transition: all 0.3s ease;
  116. }
  117. .setting-security .info-input .input-text:focus + .input-line,
  118. .setting-security .info-input .input-select:focus + .input-line {
  119. width: 100%;
  120. }
  121. .setting-security .info-input .input-validation {
  122. position: absolute;
  123. top: calc(100% + 2px);
  124. font-size: 12px;
  125. color: var(--color-wrong);
  126. margin: 0px;
  127. }
  128. .setting-button-save {
  129. display: block;
  130. width: 140px;
  131. height: 48px;
  132. line-height: 47px;
  133. border: 0px;
  134. outline: 0px;
  135. margin: 0px;
  136. border-radius: 30px;
  137. text-align: center;
  138. text-decoration: none;
  139. font-weight: 500;
  140. font-size: 15px;
  141. color: white;
  142. background: #337ab7;
  143. transition: 0.2s all linear;
  144. }
  145. .setting-button-save.button-active {
  146. background: var(--color-blue-bg);
  147. color: #fff;
  148. }
  149. .setting-security .setting-default.setting-security {
  150. padding-top: 40px;
  151. }
  152. .setting-security #security-email {
  153. font-weight: 400;
  154. }
  155. .setting-security .info-input .input-text.input-password {
  156. font-size: 33px;
  157. font-family: cursive;
  158. }
  159. .setting-security .security-modal {
  160. display: block;
  161. margin-top: -5px;
  162. margin-bottom: 35px;
  163. font-weight: 500;
  164. font-size: 13px;
  165. color: var(--color-blue-text);
  166. outline: 0px;
  167. text-decoration: none;
  168. }
  169. .setting-security .security-confirm-email {
  170. font-weight: 300;
  171. font-size: 13px;
  172. color: var(--color-red);
  173. margin-bottom: 25px;
  174. margin-top: -10px;
  175. }
  176. .setting-security .security-confirm-email.email-send {
  177. color: var(--color-green-text);
  178. }
  179. .setting-security .security-confirm-email .confirm-link {
  180. font-weight: 400;
  181. text-decoration: underline;
  182. outline: 0px;
  183. color: inherit;
  184. }
  185. @@media (min-width: 768px) {
  186. #modal-update-password .modal-dialog {
  187. width: 460px;
  188. margin-top: 70px;
  189. }
  190. }
  191. #modal-update-password .modal-content {
  192. border-radius: 6px;
  193. padding: 40px 30px 30px;
  194. }
  195. #modal-update-password .modal-button-close {
  196. display: inline-block;
  197. width: 25px;
  198. height: 25px;
  199. background: url('https://home.voca.vn/assets/img/general/main-icon-bg.svg') 0px -455px;
  200. text-decoration: none;
  201. outline: 0px;
  202. padding: 0px;
  203. position: absolute;
  204. right: -9px;
  205. top: -9px;
  206. cursor: pointer;
  207. }
  208. .setting-modal-title {
  209. font-weight: 300;
  210. font-size: 25px;
  211. color: var(--color-default-text);
  212. margin-bottom: 25px;
  213. text-align: center;
  214. }
  215. #modal-update-password .setting-button-save {
  216. margin: auto;
  217. margin-top: 40px;
  218. width: 210px;
  219. }
  220. </style>
  221. <h1>@Lang.MyInformation</h1>
  222. <div class="right-item">
  223. <div class="setting-default setting-security">
  224. <label for="security-email" class="info-label">@Lang.FullName</label>
  225. <div class="info-input">
  226. <input disabled class="input-text" placeholder="@Lang.FullName" readonly="" type="email" id="security-email" valueOld="@Model.profileDetail.fullName" value="@Model.profileDetail.fullName" />
  227. <span class="input-line"></span>
  228. </div>
  229. <label class="info-label">@Lang.Password</label>
  230. <div class="info-input">
  231. <input class="input-text input-password" placeholder="@Lang.Password" type="password" id="personal-password" readonly="" value="*******" />
  232. </div>
  233. <a href="#" data-toggle="modal" data-target="#modal-update-password" class="security-modal">@Lang.ChangePassword</a>
  234. <div class="clearfix"></div>
  235. <div id="modal-update-password" class="modal fade" tabindex="-1" role="dialog">
  236. <div class="modal-dialog" role="document">
  237. <div class="modal-content">
  238. <a class="modal-button-close" href="javascript:void(0)" data-dismiss="modal"></a>
  239. <div class="setting-tab-pane">
  240. <p class="setting-modal-title">@Lang.ChangePassword</p>
  241. <label for="new-password" class="info-label">@Lang.OldPassword</label>
  242. <div class="info-input">
  243. <input class="input-text" placeholder="@Lang.EnterYourPassword" type="password" id="old-password" />
  244. <span class="input-line"></span>
  245. </div>
  246. <label for="new-password" class="info-label">@Lang.NewPassword</label>
  247. <div class="info-input">
  248. <input class="input-text" placeholder="@Lang.EnterYourPassword" type="password" id="new-password" />
  249. <span class="input-line"></span>
  250. </div>
  251. <label for="confirm-password" class="info-label">@Lang.EnterYourPassword</label>
  252. <div class="info-input">
  253. <input class="input-text" placeholder="@Lang.EnterYourPassword" type="password" id="confirm-password" />
  254. <span class="input-line"></span>
  255. </div>
  256. <div id="change-pass-result" class="text-red"></div>
  257. <button id="update-pass-button" class="setting-button-save" type="button">@Lang.Submit</button>
  258. </div>
  259. </div>
  260. </div>
  261. </div>
  262. </div>
  263. </div>
  264. <script>
  265. $('#update-pass-button').click(function () {
  266. var password = $('#new-password').val();
  267. var oldPassword = $('#old-password').val();
  268. $.ajax({
  269. url: urlConfig("/Home/UpdatePass"),
  270. type: "POST",
  271. data: {
  272. __RequestVerificationToken: $('input[name=__RequestVerificationToken]').val(),
  273. oldPassword: oldPassword,
  274. password: password,
  275. }
  276. }).success(function (data) {
  277. if (data.error_code != "0") {
  278. // fail
  279. //$('#message-dialog').modal('show');
  280. $('#change-pass-result').html(data.error_content);
  281. } else {
  282. console.log(data.error_content);
  283. $('#message-dialog').modal('show');
  284. $('#message-content').html("Update password successful");
  285. //$('#change-pass-result').html("Update password successful");
  286. //if (data.href != null) {
  287. // location.href = data.href;
  288. //} else {
  289. // location.reload();
  290. //}
  291. }
  292. });
  293. });
  294. </script>
  295. <script>
  296. $('.menu-item-information').addClass('menu-active');
  297. $('.menu-security').addClass('menu-active');
  298. </script>
  299. </div>
  300. </div>
  301. <div class="clearfix"></div>
  302. </div>
  303. </div>
  304. </div>