PageRenderTime 26ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/gkwebapp/static/js/forgotpassword.js

https://gitlab.com/vaibspidy/gkwebapp
JavaScript | 367 lines | 341 code | 1 blank | 25 comment | 89 complexity | 8850c546918c13aec14985cbf627227f MD5 | raw file
  1. /*
  2. Copyright (C) 2013, 2014, 2015, 2016 Digital Freedom Foundation
  3. This file is part of GNUKhata:A modular,robust and Free Accounting System.
  4. GNUKhata is Free Software; you can redistribute it and/or modify
  5. it under the terms of the GNU Affero General Public License as
  6. published by the Free Software Foundation; either version 3 of
  7. the License, or (at your option) any later version.and old.stockflag = 's'
  8. GNUKhata is distributed in the hope that it will be useful, but
  9. WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU Affero General Public License for more details.
  12. You should have received a copy of the GNU Affero General Public
  13. License along with GNUKhata (COPYING); if not, write to the
  14. Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  15. Boston, MA 02110-1301 USA59 Temple Place, Suite 330,
  16. Contributors:
  17. "Krishnakant Mane" <kk@gmail.com>
  18. "Ishan Masdekar " <imasdekar@dff.org.in>
  19. "Navin Karkera" <navin@dff.org.in>
  20. */
  21. $(document).ready(function()
  22. {
  23. var answercheck = 9;
  24. var userstatus = 9;
  25. var passwordchanged = 9;
  26. $("#username").focus();
  27. $("#username").keydown(function(event){
  28. if (event.which == 13 || event.which == 9) {
  29. event.preventDefault();
  30. if ($.trim($("#username").val())=="") {
  31. $("#username-blank-alert").alert();
  32. $("#username-blank-alert").fadeTo(2250, 500).slideUp(500, function(){
  33. $("#username-blank-alert").hide();
  34. });
  35. $("#securityquestion").val("");
  36. return false;
  37. }
  38. if ($.trim($("#username").val())!="") {
  39. $.ajax({
  40. type: "POST",
  41. url: "/securityquestion",
  42. data: {"orgcode":$.trim($("#orgcode").val()), "username":$.trim($("#username").val())},
  43. global: false,
  44. async: false,
  45. datatype: "json",
  46. success: function(jsonObj) {
  47. userstatus = jsonObj["gkstatus"],
  48. userdata = jsonObj["gkresult"],
  49. $("#securityquestion").val(userdata[0].userquestion);
  50. $("#userid").val(userdata[0].userid);
  51. }
  52. });
  53. }
  54. if(userstatus == 0){
  55. $("#securityanswer").focus();
  56. }
  57. if (userstatus == 3) {
  58. $("#securityanswer-connectionfailed-alert").alert();
  59. $("#securityanswer-connectionfailed-alert").fadeTo(2250, 500).slideUp(500, function(){
  60. $("#securityanswer-connectionfailed-alert").hide();
  61. });
  62. return false;
  63. }
  64. if (userstatus == 4 && $.trim($("#username").val())!="") {
  65. $("#forgotpassword-nosuchuser-alert").alert();
  66. $("#forgotpassword-nosuchuser-alert").fadeTo(2250, 500).slideUp(500, function(){
  67. $("#forgotpassword-nosuchuser-alert").hide();
  68. });
  69. $("#securityquestion").val("");
  70. return false;
  71. }
  72. }
  73. });
  74. $("#username").focusout(function(){
  75. $("#btnsubmit").click(function(event){
  76. event.preventDefault();
  77. if ($.trim($("#username").val())=="") {
  78. $("#username-blank-alert").alert();
  79. $("#username-blank-alert").fadeTo(2250, 500).slideUp(500, function(){
  80. $("#username-blank-alert").hide();
  81. });
  82. $("#securityquestion").val("");
  83. $("#username").focus();
  84. return false;
  85. }
  86. if ($.trim($("#username").val())!="") {
  87. $.ajax({
  88. type: "POST",
  89. url: "/securityquestion",
  90. data: {"orgcode":$.trim($("#orgcode").val()), "username":$.trim($("#username").val())},
  91. global: false,
  92. async: false,
  93. datatype: "json",
  94. success: function(jsonObj) {
  95. userstatus = jsonObj["gkstatus"],
  96. userdata = jsonObj["gkresult"],
  97. $("#securityquestion").val(userdata[0].userquestion);
  98. $("#userid").val(userdata[0].userid);
  99. }
  100. });
  101. if(userstatus == 0){
  102. $("#securityanswer").focus();
  103. }
  104. if (userstatus == 3) {
  105. $("#securityanswer-connectionfailed-alert").alert();
  106. $("#securityanswer-connectionfailed-alert").fadeTo(2250, 500).slideUp(500, function(){
  107. $("#securityanswer-connectionfailed-alert").hide();
  108. });
  109. $("#username").focus();
  110. return false;
  111. }
  112. if (userstatus == 4 && $.trim($("#username").val())!="") {
  113. $("#forgotpassword-nosuchuser-alert").alert();
  114. $("#forgotpassword-nosuchuser-alert").fadeTo(2250, 500).slideUp(500, function(){
  115. $("#forgotpassword-nosuchuser-alert").hide();
  116. });
  117. $("#securityquestion").val("");
  118. $("#username").focus();
  119. return false;
  120. }
  121. }
  122. });
  123. });
  124. $("#securityanswer").keydown(function(event){
  125. if (event.which == 13 || event.which == 9) {
  126. event.preventDefault();
  127. if ($.trim($("#securityanswer").val())=="") {
  128. $("#securityanswer-blank-alert").alert();
  129. $("#securityanswer-blank-alert").fadeTo(2250, 500).slideUp(500, function(){
  130. $("#securityanswer-blank-alert").hide();
  131. });
  132. return false;
  133. }
  134. if ($.trim($("#securityanswer").val())!="") {
  135. $.ajax({
  136. type: "POST",
  137. url: "/securityanswer",
  138. data: {"userid":$.trim($("#userid").val()), "useranswer":$.trim($("#securityanswer").val())},
  139. global: false,
  140. async: false,
  141. datatype: "json",
  142. success: function(resp) {
  143. answercheck = resp["gkstatus"];
  144. }
  145. });
  146. }
  147. if (answercheck == 0) {
  148. $(".passwordfields").show();
  149. $("#newpassword").focus();
  150. }
  151. if (answercheck == 3) {
  152. $("#securityanswer-connectionfailed-alert").alert();
  153. $("#securityanswer-connectionfailed-alert").fadeTo(2250, 500).slideUp(500, function(){
  154. $("#securityanswer-connectionfailed-alert").hide();
  155. });
  156. return false;
  157. }
  158. if (answercheck == 4 && $.trim($("#securityanswer").val())!="") {
  159. $("#securityanswer-incorrect-alert").alert();
  160. $("#securityanswer-incorrect-alert").fadeTo(2250, 500).slideUp(500, function(){
  161. $("#securityanswer-incorrect-alert").hide();
  162. });
  163. return false;
  164. }
  165. }
  166. if (event.which == 38) {
  167. event.preventDefault();
  168. $("#username").focus();
  169. }
  170. });
  171. $("#securityanswer").focusout(function(){
  172. $("#btnsubmit").click(function(event){
  173. event.preventDefault();
  174. if ($.trim($("#securityanswer").val())=="" && $.trim($("#securityquestion").val())!="" && $.trim($("#username").val())!="") {
  175. $("#securityanswer-blank-alert").alert();
  176. $("#securityanswer-blank-alert").fadeTo(2250, 500).slideUp(500, function(){
  177. $("#securityanswer-blank-alert").hide();
  178. });
  179. $("#securityanswer").focus();
  180. return false;
  181. }
  182. if ($.trim($("#securityanswer").val())!="") {
  183. $.ajax({
  184. type: "POST",
  185. url: "/securityanswer",
  186. data: {"userid":$.trim($("#userid").val()), "useranswer":$.trim($("#securityanswer").val())},
  187. global: false,
  188. async: false,
  189. datatype: "json",
  190. success: function(resp) {
  191. answercheck = resp["gkstatus"];
  192. }
  193. });
  194. }
  195. if (answercheck == 0) {
  196. $(".passwordfields").show();
  197. $("#newpassword").focus();
  198. }
  199. if (answercheck == 3) {
  200. $("#securityanswer-connectionfailed-alert").alert();
  201. $("#securityanswer-connectionfailed-alert").fadeTo(2250, 500).slideUp(500, function(){
  202. $("#securityanswer-connectionfailed-alert").hide();
  203. });
  204. return false;
  205. }
  206. if (answercheck == 4 && $.trim($("#securityanswer").val())!="") {
  207. $("#securityanswer-incorrect-alert").alert();
  208. $("#securityanswer-incorrect-alert").fadeTo(2250, 500).slideUp(500, function(){
  209. $("#securityanswer-incorrect-alert").hide();
  210. });
  211. return false;
  212. }
  213. });
  214. });
  215. $("#newpassword").keydown(function(event){
  216. if (event.which == 13 || event.which == 9) {
  217. event.preventDefault();
  218. if ($.trim($("#newpassword").val())=="") {
  219. $("#newpassword-blank-alert").alert();
  220. $("#newpassword-blank-alert").fadeTo(2250, 500).slideUp(500, function(){
  221. $("#newpassword-blank-alert").hide();
  222. });
  223. return false;
  224. }
  225. else {
  226. $("#confirmpassword").focus();
  227. }
  228. }
  229. if (event.which == 38) {
  230. event.preventDefault();
  231. $("#securityanswer").focus();
  232. }
  233. });
  234. $("#newpassword").focusout(function(){
  235. $("#btnsubmit").click(function(event){
  236. event.preventDefault();
  237. if ($.trim($("#newpassword").val())=="" && $.trim($("#securityanswer").val())!="" && $.trim($("#securityquestion").val())!="" && $.trim($("#username").val())!="") {
  238. $("#newpassword-blank-alert").alert();
  239. $("#newpassword-blank-alert").fadeTo(2250, 500).slideUp(500, function(){
  240. $("#newpassword-blank-alert").hide();
  241. });
  242. $("#newpassword").focus();
  243. return false;
  244. }
  245. if ($.trim($("#newpassword").val())!="") {
  246. $("#confirmpassword").focus();
  247. }
  248. });
  249. });
  250. $("#confirmpassword").keydown(function(event){
  251. if (event.which == 38) {
  252. event.preventDefault();
  253. $("#newpassword").focus();
  254. }
  255. if (event.which == 13) {
  256. event.preventDefault();
  257. if ($.trim($("#confirmpassword").val())=="") {
  258. $("#confirmpassword-blank-alert").alert();
  259. $("#confirmpassword-blank-alert").fadeTo(2250, 500).slideUp(500, function(){
  260. $("#confirmpassword-blank-alert").hide();
  261. });
  262. $("#confirmpassword").focus();
  263. return false;
  264. }
  265. if ( ( $.trim($("#newpassword").val())!==$.trim($("#confirmpassword").val()) ) ) {
  266. $("#passwords-dont-match-alert").alert();
  267. $("#passwords-dont-match-alert").fadeTo(2250, 500).slideUp(500, function(){
  268. $("#passwords-dont-match-alert").hide();
  269. });
  270. return false;
  271. }
  272. if ($.trim($("#newpassword").val())==$.trim($("#confirmpassword").val())) {
  273. $.ajax({
  274. type: "POST",
  275. url: "/newpassword",
  276. data: {"userid":$.trim($("#userid").val()), "userpassword":$.trim($("#confirmpassword").val()), "useranswer":$.trim($("#securityanswer").val())},
  277. global: false,
  278. async: false,
  279. datatype: "json",
  280. success: function(resp) {
  281. passwordchanged = resp["gkstatus"];
  282. }
  283. });
  284. if (passwordchanged == 0 && $.trim($("#confirmpassword").val())!="") {
  285. $("#selectorg").load("/login?orgcode="+$.trim($("#orgcode").val())+"&flag=0", setTimeout( function() { $("#username").focus(); }, 500 ));
  286. $("#forgotpassworddiv").load("/login?orgcode="+$.trim($("#orgcode").val())+"&flag=1", setTimeout( function() { $("#username").focus(); }, 500 ));
  287. }
  288. if (passwordchanged == 4) {
  289. $("#forgotpassword-incorrectdetails-alert").alert();
  290. $("#forgotpassword-incorrectdetails-alert").fadeTo(2250, 500).slideUp(500, function(){
  291. $("#forgotpassword-incorrectdetails-alert").hide();
  292. });
  293. return false;
  294. }
  295. if (passwordchanged == 3) {
  296. $("#securityanswer-connectionfailed-alert").alert();
  297. $("#securityanswer-connectionfailed-alert").fadeTo(2250, 500).slideUp(500, function(){
  298. $("#securityanswer-connectionfailed-alert").hide();
  299. });
  300. return false;
  301. }
  302. }
  303. }
  304. });
  305. $("#confirmpassword").focusout(function(){
  306. $("#btnsubmit").click(function(event){
  307. event.preventDefault();
  308. if ($.trim($("#confirmpassword").val())=="" && $.trim($("#newpassword").val())!="" && $.trim($("#securityanswer").val())!="" && $.trim($("#securityquestion").val())!="" && $.trim($("#username").val())!="") {
  309. $("#confirmpassword-blank-alert").alert();
  310. $("#confirmpassword-blank-alert").fadeTo(2250, 500).slideUp(500, function(){
  311. $("#confirmpassword-blank-alert").hide();
  312. });
  313. $("#confirmpassword").focus();
  314. return false;
  315. }
  316. if ( ( $.trim($("#newpassword").val())!==$.trim($("#confirmpassword").val()) ) ) {
  317. $("#passwords-dont-match-alert").alert();
  318. $("#passwords-dont-match-alert").fadeTo(2250, 500).slideUp(500, function(){
  319. $("#passwords-dont-match-alert").hide();
  320. });
  321. return false;
  322. }
  323. if ($.trim($("#newpassword").val())==$.trim($("#confirmpassword").val())) {
  324. $.ajax({
  325. type: "POST",
  326. url: "/newpassword",
  327. data: {"userid":$.trim($("#userid").val()), "userpassword":$.trim($("#confirmpassword").val()), "useranswer":$.trim($("#securityanswer").val())},
  328. global: false,
  329. async: false,
  330. datatype: "json",
  331. success: function(resp) {
  332. passwordchanged = resp["gkstatus"];
  333. }
  334. });
  335. if (passwordchanged == 0 && $.trim($("#confirmpassword").val())!="") {
  336. $("#selectorg").load("/login?orgcode="+$.trim($("#orgcode").val())+"&flag=0", setTimeout( function() { $("#username").focus(); }, 500 ));
  337. $("#forgotpassworddiv").load("/login?orgcode="+$.trim($("#orgcode").val())+"&flag=1", setTimeout( function() { $("#username").focus(); }, 500 ));
  338. }
  339. if (passwordchanged == 4) {
  340. $("#forgotpassword-incorrectdetails-alert").alert();
  341. $("#forgotpassword-incorrectdetails-alert").fadeTo(2250, 500).slideUp(500, function(){
  342. $("#forgotpassword-incorrectdetails-alert").hide();
  343. });
  344. return false;
  345. }
  346. if (passwordchanged == 3) {
  347. $("#securityanswer-connectionfailed-alert").alert();
  348. $("#securityanswer-connectionfailed-alert").fadeTo(2250, 500).slideUp(500, function(){
  349. $("#securityanswer-connectionfailed-alert").hide();
  350. });
  351. return false;
  352. }
  353. }
  354. });
  355. });
  356. $("#back").click(function(event){
  357. var code = $("#orgcode").val();
  358. $("#selectorg").load("/login?orgcode="+code+"&flag=0");
  359. $("#loader").load("/login?orgcode="+code+"&flag=1", setTimeout( function() { $("#username").focus(); }, 500 ));
  360. });
  361. });