Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

122 linhas
3.4 KiB

  1. var disable_signup = {{ disable_signup and "true" or "false" }};
  2. var login = {};
  3. $(document).ready(function(wrapper) {
  4. login.show_login();
  5. $('#login_btn').click(login.do_login);
  6. $('#password').keypress(function(ev){
  7. if(ev.which==13 && $('#password').val()) {
  8. $('form').submit(function() {
  9. login.do_login();
  10. return false;
  11. });
  12. }
  13. });
  14. $(document).trigger('login_rendered');
  15. })
  16. // Login
  17. login.do_login = function(){
  18. var args = {};
  19. if(window.is_sign_up) {
  20. args.cmd = "core.doctype.profile.profile.sign_up";
  21. args.email = ($("#login_id").val() || "").trim();
  22. args.full_name = ($("#full_name").val() || "").trim();
  23. if(!args.email || !valid_email(args.email) || !args.full_name) {
  24. login.set_message("Valid email and name required.");
  25. return false;
  26. }
  27. } else if(window.is_forgot) {
  28. args.cmd = "reset_password";
  29. args.user = ($("#login_id").val() || "").trim();
  30. if(!args.user) {
  31. login.set_message("Valid Login Id required.");
  32. return false;
  33. }
  34. } else {
  35. args.cmd = "login"
  36. args.usr = ($("#login_id").val() || "").trim();
  37. args.pwd = $("#password").val();
  38. if(!args.usr || !args.pwd) {
  39. login.set_message("Both login and password required.");
  40. return false;
  41. }
  42. }
  43. $('#login_btn').attr("disabled", "disabled");
  44. $("#login-spinner").toggle(true);
  45. $('#login_message').toggle(false);
  46. $.ajax({
  47. type: "POST",
  48. url: "server.py",
  49. data: args,
  50. dataType: "json",
  51. success: function(data) {
  52. $("#login-spinner").toggle(false);
  53. $('#login_btn').attr("disabled", false);
  54. if(data.message=="Logged In") {
  55. window.location.href = "app.html";
  56. } else if(data.message=="No App") {
  57. if(localStorage) {
  58. window.location.href = localStorage.getItem("last_visited") || "index";
  59. localStorage.removeItem("last_visited");
  60. } else {
  61. window.location.href = "index";
  62. }
  63. } else {
  64. login.set_message(data.message);
  65. }
  66. }
  67. })
  68. return false;
  69. }
  70. login.show_login = function() {
  71. $("#login_wrapper h3").html("Login");
  72. $("#login-label").html("Email Id");
  73. $("#password-row").toggle(true);
  74. $("#full-name-row, #login_message").toggle(false);
  75. $("#login_btn").html("Login").removeClass("btn-success");
  76. $("#switch-view").html('<a style="margin-left: -35px;" \
  77. onclick="return login.show_forgot_password()">Forgot Password?</a>');
  78. if(!disable_signup) {
  79. $("#switch-view").append('<hr><div>\
  80. New User? <button class="btn btn-success" style="margin-left: 10px; margin-top: -2px;"\
  81. onclick="return login.show_sign_up()">Sign Up</button></div>');
  82. }
  83. window.is_login = true;
  84. window.is_sign_up = false;
  85. }
  86. login.show_sign_up = function() {
  87. $("#login_wrapper h3").html("Sign Up");
  88. $("#login-label").html("Email Id");
  89. $("#password-row, #login_message").toggle(false);
  90. $("#full-name-row").toggle(true);
  91. $("#login_btn").html("Sign Up").addClass("btn-success");
  92. $("#switch-view").html("<a onclick='return login.show_login()' href='#'>Login</a>");
  93. window.is_sign_up = true;
  94. }
  95. login.show_forgot_password = function() {
  96. $("#login_wrapper h3").html("Forgot");
  97. $("#login-label").html("Email Id");
  98. $("#password-row, #login_message, #full-name-row").toggle(false);
  99. $("#login_btn").html("Send Password").removeClass("btn-success");
  100. $("#switch-view").html("<a onclick='return login.show_login()' href='#'>Login</a>");
  101. window.is_forgot = true;
  102. }
  103. login.set_message = function(message, color) {
  104. $('#login_message').html(message).toggle(true);
  105. }