User login, logut & register functions now 100% operable

This commit is contained in:
Raelon Masters
2020-07-18 20:10:16 -04:00
parent ca27e5af26
commit a72f39863a
2 changed files with 17 additions and 19 deletions

View File

@@ -26,12 +26,6 @@
<input type="hidden" id="_search" name="_search" value="{{ PostedSearch }}" /> <input type="hidden" id="_search" name="_search" value="{{ PostedSearch }}" />
<input type="hidden" id="_order" name="_order" value="{{ Order }}" /> <input type="hidden" id="_order" name="_order" value="{{ Order }}" />
<div id="pop_over_0"> <div id="pop_over_0">
<!-- Login Form -->
<div class="hdr_nav" id="hdr_nav_login">
<input id="username" class="nav_login input_box noborder" type="text" size="8" value="Username">
<input id="password" class="nav_login input_box noborder" type="text" size="8" value="Password">
</div>
<!-- End Login Form -->
</div> </div>
<div id="app"> <div id="app">
<ul id="shelf_nav"> <ul id="shelf_nav">
@@ -43,7 +37,13 @@
<li class="nav_menu_tab"><i class="fas fa-layer-group"></i>&nbsp;Collections</li> <li class="nav_menu_tab"><i class="fas fa-layer-group"></i>&nbsp;Collections</li>
<li class="nav_menu_tab"><i class="fas fa-star"></i>&nbsp;Favorites</li> <li class="nav_menu_tab"><i class="fas fa-star"></i>&nbsp;Favorites</li>
<li class="nav_menu_tab"><i class="fas fa-bug"></i>&nbsp;Bug report</li> <li class="nav_menu_tab"><i class="fas fa-bug"></i>&nbsp;Bug report</li>
<li class="nav_menu_tab" id="btn_login"> <i class="fa fa-user-circle" aria-hidden="true"></i>&nbsp;Login</li> <li class="nav_menu_tab" id="btn_login"> <i class="fa fa-user-circle" aria-hidden="true"></i>
{% if request.user.is_authenticated %}
<a href='logout' class='nav_link'>&nbsp;{{ request.user }}</a>
{% else %}
<a href="login" class='nav_link'>&nbsp;Login</a>
{% endif %}
</li>
</div> </div>
</div> </div>
<div id="horiz_nav_main"> <div id="horiz_nav_main">

View File

@@ -8,9 +8,10 @@ from django.http import JsonResponse
from django.shortcuts import HttpResponse, render, redirect # render_to_response from django.shortcuts import HttpResponse, render, redirect # render_to_response
from django.utils.text import slugify from django.utils.text import slugify
from django.contrib.auth import login, authenticate, logout from django.contrib.auth import login, authenticate, logout
from django.contrib.auth.models import User
import json import json
from .forms import SignUpForm, UserLoginForm from .forms import SignUpForm, UserLoginForm
from .models import Books, Collections, Navigation from .models import Books, Collections, Navigation, Favorites
config = Config(Path("../")) config = Config(Path("../"))
@@ -50,14 +51,16 @@ def userlogin(request):
username = request.POST['username'] username = request.POST['username']
password = request.POST['password'] password = request.POST['password']
user = authenticate(request, username=username, password=password) user = authenticate(request, username=username, password=password)
if user is not None: return redirect('home') if user is not None:
else: form = UserLoginForm() login(request, user)
return redirect('home')
form = UserLoginForm()
return render(request, 'login.html', {'form': form}) return render(request, 'login.html', {'form': form})
def userlogout(request): def userlogout(request):
logout(request) logout(request)
return render(request, 'login.html', {'form': UserLoginForm()}) return redirect('home')
def home(request, query=None, _set=1, _limit=None, _order='title'): def home(request, query=None, _set=1, _limit=None, _order='title'):
@@ -211,15 +214,10 @@ def download(request, pk):
def favorite(request, pk): def favorite(request, pk):
""" """
Favorite book by primary key Add book to favorites bu primary key
""" """
_book = Books.objects.all().filter(pk=pk)[0] _book = Books.objects.all().filter(pk=pk)[0]
_fn = hr_name(_book) print(Favorite(book=_book, uname=User))
response = HttpResponse(
open(os.path.abspath(_book.file_name), "rb"), content_type="application/zip"
)
response["Content-Disposition"] = "attachment; filename=%s" % _fn
return response
def share(request, pk): def share(request, pk):
@@ -390,6 +388,6 @@ def payload(request, query, _set, _limit, _order, **kwargs):
"NowShowing": _now_showing, "NowShowing": _now_showing,
"PostedSearch": query, "PostedSearch": query,
"SearchLen": _r_len, "SearchLen": _r_len,
"Order": _order "Order": _order,
} }