mirror of
https://github.com/th3r00t/pyShelf.git
synced 2026-04-28 01:59:35 -04:00
User login, logut & register functions now 100% operable
This commit is contained in:
14
src/interface/templates/index.html
vendored
14
src/interface/templates/index.html
vendored
@@ -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> Collections</li>
|
<li class="nav_menu_tab"><i class="fas fa-layer-group"></i> Collections</li>
|
||||||
<li class="nav_menu_tab"><i class="fas fa-star"></i> Favorites</li>
|
<li class="nav_menu_tab"><i class="fas fa-star"></i> Favorites</li>
|
||||||
<li class="nav_menu_tab"><i class="fas fa-bug"></i> Bug report</li>
|
<li class="nav_menu_tab"><i class="fas fa-bug"></i> Bug report</li>
|
||||||
<li class="nav_menu_tab" id="btn_login"> <i class="fa fa-user-circle" aria-hidden="true"></i> 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'> {{ request.user }}</a>
|
||||||
|
{% else %}
|
||||||
|
<a href="login" class='nav_link'> Login</a>
|
||||||
|
{% endif %}
|
||||||
|
</li>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="horiz_nav_main">
|
<div id="horiz_nav_main">
|
||||||
|
|||||||
@@ -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,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user