login.html 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. {% load static %}
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Login</title>
  9. <!-- Latest compiled and minified CSS -->
  10. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
  11. <link rel="stylesheet" href="{% static 'css/login.css' %}">
  12. </head>
  13. <body>
  14. <div class="container">
  15. {% if messages %}
  16. <div id="django-toasts" class="toast-container position-fixed top-0 end-0 p-3" style="z-index: 1080; width: 400px;">
  17. {% for message in messages %}
  18. <div class="toast align-items-center text-white bg-{{ message.tags }} border-0 fade" role="alert" aria-live="assertive" aria-atomic="true" data-bs-delay="5000">
  19. <div class="d-flex">
  20. <div class="toast-body">
  21. {{ message }}
  22. </div>
  23. <button type="button" class="btn-close btn-close-white me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
  24. </div>
  25. </div>
  26. {% endfor %}
  27. </div>
  28. <script>
  29. document.addEventListener('DOMContentLoaded', function() {
  30. const toastElements = document.querySelectorAll('.toast');
  31. toastElements.forEach(function(toastEl) {
  32. const toast = new bootstrap.Toast(toastEl, {
  33. autohide: true,
  34. delay: 3000 // 3 seconds
  35. });
  36. toast.show();
  37. });
  38. });
  39. </script>
  40. {% endif %}
  41. <div class="login">
  42. <div class="login-container">
  43. <div class="login-left">
  44. <div class="lbox">
  45. <h2 class="clogo">Content Quality Tool</h2>
  46. <img src="{% static './images/logo.png' %}" alt="Lumina Datamatics" class="llogo">
  47. <!-- <p>© 2022 Lumina Datamatics Ltd. All Rights Reserved.</p> -->
  48. </div>
  49. </div>
  50. <div class="login-right">
  51. <form action="{% url 'login' %}" method="POST" class="form-signin" >
  52. {% csrf_token %}
  53. <h2 class="form-signin-heading">Login</h2>
  54. <div class="group">
  55. <input type="text" name="username" id="username">
  56. <label>Username</label>
  57. </div>
  58. <div class="group">
  59. <input type="password" name="password" id="password">
  60. <label>Password</label>
  61. </div>
  62. <div class="group" style="margin-bottom: 30px;">
  63. <button class="btn btn-lg btn-outline-dark btn-block" type="submit" >Sign in</button>
  64. </div>
  65. </form>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
  71. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  72. <!-- Latest compiled and minified JavaScript -->
  73. <!-- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script> -->
  74. <!-- Bootstrap CSS -->
  75. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
  76. <!-- Bootstrap Bundle JS (includes Toast component JS) -->
  77. <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
  78. <script>
  79. function validateLogin() {
  80. if ($("#username").val() == "" || $("#password").val() == "") {
  81. $("#missing").fadeTo(2000, 500).slideUp(500, function () {
  82. $("#missing").slideUp(500);
  83. });
  84. return false;
  85. } else if ($("#username").val() != "admin" && $("#password").val() != "admin") {
  86. $("#wrong").fadeTo(2000, 500).slideUp(500, function () {
  87. $("#wrong").slideUp(500);
  88. });
  89. return false;
  90. } else if ($("#username").val() == "admin" && $("#password").val() == "admin") {
  91. $("#success").fadeTo(2000, 500).slideUp(500, function () {
  92. $("#success").slideUp(500);
  93. });
  94. return true;
  95. }
  96. }
  97. </script>
  98. </body>
  99. </html>