Advertisement
Guest User

Untitled

a guest
Aug 15th, 2016
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.74 KB | None | 0 0
  1. $.ajax({
  2. url: "/admin_panel/login/",
  3. method: 'POST',
  4. dataType: 'json',
  5. beforeSend: function(xhr, settings) {
  6. xhr.setRequestHeader("X-CSRFToken", csrftoken);
  7. },
  8. data: {
  9. username: $("input#username").val(),
  10. password: $("input#password").val(),
  11. },
  12. error: function()
  13. {
  14. alert("An error occured!");
  15. },
  16. success: function(response)
  17. {
  18. // Login status [success|invalid]
  19. var login_status = response.login_status;
  20. console.log(login_status);
  21.  
  22. // Form is fully completed, we update the percentage
  23. neonLogin.setPercentage(100);
  24.  
  25.  
  26. // We will give some time for the animation to finish, then execute the following procedures
  27. setTimeout(function()
  28. {
  29. // If login is invalid, we store the
  30. if(login_status == 'invalid')
  31. {
  32. $(".login-page").removeClass('logging-in');
  33. neonLogin.resetProgressBar(true);
  34. }
  35. else
  36. if(login_status == 'success')
  37. {
  38. // Redirect to login page
  39. setTimeout(function()
  40. {
  41. var redirect_url = "/admin_panel/";
  42.  
  43. if(response.redirect_url && response.redirect_url.length)
  44. {
  45. redirect_url = response.redirect_url;
  46. }
  47.  
  48. window.location.href = redirect_url;
  49. }, 400);
  50. }
  51.  
  52. }, 1000);
  53. }
  54. });
  55.  
  56. def login_view(request):
  57. form = UserLoginForm
  58. if(request.method == 'POST'):
  59. login_form = UserLoginForm(data=request.POST)
  60. if login_form.is_valid():
  61. username = login_form.cleaned_data['username']
  62. password = login_form.cleaned_data['password']
  63. user = authenticate(username=username, password=password)
  64. if user:
  65. if user.is_active:
  66. login(request, user)
  67. print("USER AUTHENTICATED")
  68. return JsonResponse({'login_status': 'success', 'redirect_url': '/admin_panel/'})
  69. else:
  70. print("USER IS NOT ACTIVE")
  71. return render(request, 'admin_panel/wp_admin_login.html', {'form': form})
  72. else:
  73. return JsonResponse({'login_status': 'authentication failed', 'redirect_url': '/admin_panel/'})
  74. else:
  75. return JsonResponse({'login_status': 'invalid form'})
  76. else:
  77. return render(request, 'admin_panel/wp_admin_login.html', {'form': form})
  78.  
  79. class UserLoginForm(forms.ModelForm):
  80. username = forms.CharField(widget=forms.TextInput(attrs={'class': "form-control", 'placeholder': "Username", 'autocomplete': "off", 'id':"username"}))
  81. password = forms.CharField(widget=forms.PasswordInput(attrs={'class': "form-control", 'placeholder': "Password", 'autocomplete': "off", 'id':"password"}))
  82.  
  83. class Meta:
  84. model = User
  85. fields = ['username', 'password']
  86.  
  87. <div class="login-form">
  88.  
  89. <div class="login-content">
  90.  
  91. <div class="form-login-error">
  92. <h3>Invalid login</h3>
  93. <p>Enter <strong>demo</strong>/<strong>demo</strong> as login and password.</p>
  94. </div>
  95.  
  96. <form method="post" role="form" id="form_login">
  97.  
  98. <div class="form-group">
  99.  
  100. <div class="input-group">
  101. <div class="input-group-addon">
  102. <i class="entypo-user"></i>
  103. </div>
  104.  
  105. {{ form.username }}
  106. </div>
  107.  
  108. </div>
  109.  
  110. <div class="form-group">
  111.  
  112. <div class="input-group">
  113. <div class="input-group-addon">
  114. <i class="entypo-key"></i>
  115. </div>
  116.  
  117. {{ form.password }}
  118. </div>
  119.  
  120. </div>
  121.  
  122. <div class="form-group">
  123. <button type="submit" class="btn btn-primary btn-block btn-login">
  124. <i class="entypo-login"></i>
  125. Login In
  126. </button>
  127. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement