diff --git a/app/templates/app/base_reset.html b/app/templates/app/base_reset.html new file mode 100644 index 0000000000000000000000000000000000000000..3fc86b803b6179ffa59b0a7aaa05f6b756c03bb6 --- /dev/null +++ b/app/templates/app/base_reset.html @@ -0,0 +1,130 @@ +{% load static %} + +<!DOCTYPE html> +<html lang="en"> + +<head> + <title>Digipus</title> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + + {% block title %}{% endblock %} + + <!-- Custom fonts for this template --> + <link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet"> + + <!-- Custom styles for this template --> + <link rel="icon" type="image/png" href="{% static 'images/icons/logo.ico' %}" /> + <link href="{% static 'css/sb-admin-2.min.css' %}" rel="stylesheet"> + <link rel="stylesheet" href="{% static 'css/button.css' %}"> + + <!-- Custom styles for this page --> + <link href="{% static 'vendor/datatables/dataTables.bootstrap4.min.css' %}" rel="stylesheet"> + +</head> + +<body id="page-top" style="font-family: 'Poppins', sans-serif;"> + + <!-- Page Wrapper --> + <div id="wrapper"> + + <!-- Sidebar --> + <ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar"> + + <!-- Sidebar - Brand --> + <a class="sidebar-brand d-flex align-items-center justify-content-center" href="{% url 'daftar_katalog' %}"> + <div class="sidebar-brand-icon rotate-n-15"> + </div> + <div class="sidebar-brand-text mx-3">Digipus</div> + </a> + + <!-- Divider --> + <hr class="sidebar-divider my-0"> + + <!-- Nav Item - Dashboard --> + + + --> + + </ul> + <!-- End of Sidebar --> + + <!-- Content Wrapper --> + <div id="content-wrapper" class="d-flex flex-column"> + + <!-- Main Content --> + <div id="content"> + + <!-- Topbar --> + <nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow"> + <!-- Sidebar Toggle (Topbar) --> + <button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3"> + <em class="fa fa-bars"></em> + </button> + <div class="sidebar-brand-text mx-3">Diskominfo Kota Depok</div> + <!-- Topbar Navbar --> + + </nav> + <!-- End of Topbar --> + + <!-- Begin Page Content --> + <div class="container-fluid"> + {% block content %}{% endblock %} + </div> + <!-- /.container-fluid --> + + </div> + <!-- End of Main Content --> + + <!-- Footer --> + <footer class="sticky-footer bg-white"> + <div class="container my-auto"> + <div class="copyright text-center my-auto"> + <span>Copyright © Diskominfo Kota Depok 2020</span> + </div> + </div> + </footer> + <!-- End of Footer --> + + </div> + <!-- End of Content Wrapper --> + + </div> + <!-- End of Page Wrapper --> + + <!-- Scroll to Top Button--> + <a class="scroll-to-top rounded" href="#page-top"> + <em class="fas fa-angle-up"></em> + </a> + + <!-- Bootstrap core JavaScript--> + <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" + integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" + crossorigin="anonymous"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" + integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" + crossorigin="anonymous"></script> + <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" + integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" + crossorigin="anonymous"></script> + + <!-- Core plugin JavaScript--> + <script src="https://code.jquery.com/jquery-3.5.0.min.js" + integrity="sha256-xNzN2a4ltkB44Mc/Jz3pT4iU1cmeR0FkXs4pru/JxaQ=" crossorigin="anonymous"></script> + + <!-- Custom scripts for all pages--> + <script src="{% static 'js/sb-admin-2.min.js' %}"></script> + + <!-- Page level plugins --> + <script src="{% static 'vendor/datatables/jquery.dataTables.min.js' %}"></script> + <script src="{% static 'vendor/datatables/dataTables.bootstrap4.min.js' %}"></script> + + <!-- Page level custom scripts --> + <script src="{% static 'js/demo/datatables-demo.js' %}"></script> + +</body> + +</html> \ No newline at end of file diff --git a/app/templates/password_reset.html b/app/templates/password_reset.html new file mode 100644 index 0000000000000000000000000000000000000000..148908564a188bfaf8b1a2639bbc8162ea16a58e --- /dev/null +++ b/app/templates/password_reset.html @@ -0,0 +1,18 @@ +{% extends 'app/base_reset.html' %} +{% block title %}Reset Password{% endblock%} +{% block content %} + + +<h1> Reset Password </h1> +<br/><br/> +<p>Forgotten your password ? Enter email address below, and we'll email instructions for setting a new one.</p> + +<div class = "from-group"> + <form method="POST"> + {% csrf_token %} + {{ form.as_p }} + <button class="btn btn-secondary"> Submit</button> + </form> +</div> + +{% endblock %} \ No newline at end of file diff --git a/app/templates/password_reset_done.html b/app/templates/password_reset_done.html new file mode 100644 index 0000000000000000000000000000000000000000..d021c573d3b9f6794c12d754fa85ab818d6a2cf2 --- /dev/null +++ b/app/templates/password_reset_done.html @@ -0,0 +1,14 @@ + +{% extends 'app/base_reset.html' %} +{% block title %}Password reset complete{% endblock%} +{% block content %} + + +<h1> Password reset complete </h1> +<br/><br/> +<p>Your password has been set. You may go ahead and log in now.</p> + +<a href='/login'>Log in</a> + + +{% endblock %} \ No newline at end of file diff --git a/app/templates/password_reset_form.html b/app/templates/password_reset_form.html new file mode 100644 index 0000000000000000000000000000000000000000..73e68f57f6785e250468678e82d7d7a2a87e4f16 --- /dev/null +++ b/app/templates/password_reset_form.html @@ -0,0 +1,17 @@ +{% extends 'app/base_reset.html' %} +{% block title %}Enter new password{% endblock%} +{% block content %} + + +<h1> Enter new password </h1> +<br/><br/> + +<div class = "from-group"> + <form method="POST"> + {% csrf_token %} + {{ form.as_p }} + <button class="btn btn-secondary"> Update Password</button> + </form> +</div> + +{% endblock %} \ No newline at end of file diff --git a/app/templates/password_reset_sent.html b/app/templates/password_reset_sent.html new file mode 100644 index 0000000000000000000000000000000000000000..12542b5a335e1b0a400c28411f4e9a1c79c809b3 --- /dev/null +++ b/app/templates/password_reset_sent.html @@ -0,0 +1,14 @@ + +{% extends 'app/base_reset.html' %} +{% block title %}Password reset sent{% endblock%} +{% block content %} + + +<h1> Password reset sent </h1> +<br/><br/> +<p>We’ve emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly.</p> +<br/> +<p>If you don’t receive an email, please make sure you’ve entered the address you registered with, and check your spam folder.</p> + + +{% endblock %} \ No newline at end of file diff --git a/app/urls.py b/app/urls.py index 4ee198a591b4ee549e3fe85397a55e6efde4c1df..9df11eb5fc440636480622cbb9bcf0dcd129adb3 100644 --- a/app/urls.py +++ b/app/urls.py @@ -45,4 +45,16 @@ urlpatterns = [ path("baca-nanti/", ReadLaterView.as_view(), name="read-later"), path("baca-nanti-toggle/", views.toggle_readlater, name="toggle-read-later"), path("stats/", StatisticsView.as_view(), name="stats"), + path("reset_password/", + auth_views.PasswordResetView.as_view(template_name="password_reset.html"), + name="reset_password"), + path("reset_password_sent/", + auth_views.PasswordResetDoneView.as_view(template_name="password_reset_sent.html"), + name="password_reset_done"), + path("reset/<uidb64>/<token>/", + auth_views.PasswordResetConfirmView.as_view(template_name="password_reset_form.html"), + name="password_reset_confirm"), + path("reset_password_complete/", + auth_views.PasswordResetCompleteView.as_view(template_name="password_reset_done.html"), + name="password_reset_complete"), ] diff --git a/authentication/templates/login.html b/authentication/templates/login.html index 9fac8e20b8966e810ae5b4b87eb687e0ab88a7cc..e577a9969a799bef368c0deedc0146951c4a0bee 100644 --- a/authentication/templates/login.html +++ b/authentication/templates/login.html @@ -65,6 +65,10 @@ Belum mendaftar? klik di sini </a> <br> + <a href="/reset_password" class="txt1"> + Lupa password? klik di sini + </a> + <br> <a href="/registrasi" class="txt1"> Ingin jadi kontributor? klik di sini </a>