Skip to content
Snippets Groups Projects
Verified Commit 34dca4f2 authored by TheJoeCoder's avatar TheJoeCoder
Browse files

Fix 500 error when user isn't logged in (invalid login location)

parent ea8c5a72
Branches
No related tags found
No related merge requests found
Pipeline #316 passed
......@@ -21,6 +21,7 @@ from librarian.utils import assn_utils
from library.documents import BookDocument
from library.models import Book, Copy, Loan, Shelf, Author, Publisher, Location, Section
LOGIN_URL = "account_login"
# Helper Functions
def load_gbooks_query_pagination(query):
......@@ -52,7 +53,7 @@ def load_gbooks_query_pagination(query):
# Standard Views
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def home(request):
dt = timezone.now()
total_books = Book.objects.count()
......@@ -69,7 +70,7 @@ def home(request):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def user_detail(request, user_id):
# Get user
user = get_object_or_404(User, id=user_id)
......@@ -97,7 +98,7 @@ def user_detail(request, user_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def copy_detail(request, copy_id):
# Get copy
copy = get_object_or_404(Copy, id=copy_id)
......@@ -121,14 +122,14 @@ def copy_detail(request, copy_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def book_detail(request, book_id):
book = get_object_or_404(Book, id=book_id)
copies = book.copy_set.all()
return render(request, "librarian/book_detail.html", {"book": book, "copies": copies})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def author_detail(request, author_id):
# Get request config for tables
table_config = RequestConfig(request, paginate={"per_page": 10})
......@@ -146,7 +147,7 @@ def author_detail(request, author_id):
return render(request, "librarian/author_detail.html", {"author": author, "books_table": book_table})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def publisher_detail(request, publisher_id):
# Get request config for tables
table_config = RequestConfig(request, paginate={"per_page": 5})
......@@ -164,29 +165,29 @@ def publisher_detail(request, publisher_id):
return render(request, "librarian/publisher_detail.html", {"publisher": publisher, "books_table": book_table})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def bulk_shelf_transfer(request):
shelves = Shelf.objects.all()
return render(request, "librarian/bulk_shelf_transfer.html", {"shelves": shelves})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def bulk_loan(request):
loan_duration = settings.LIBRARY_SETTINGS["DEFAULT_LOAN_DURATION"]
return render(request, "librarian/bulk_loan.html", {"loan_duration": loan_duration})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def book_add(request):
return redirect("librarian:book_add_flow_1")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def book_add_flow_1(request):
return render(request, "librarian/book_add_flow/1_search_gbooks.html")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
@require_POST
def book_add_flow_2(request):
# Process the form data
......@@ -244,7 +245,7 @@ def book_add_flow_2(request):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def book_add_flow_3(request, **kwargs):
typ = kwargs.get("type", "manual")
tid = kwargs.get("id", None)
......@@ -300,13 +301,13 @@ def book_add_flow_3(request, **kwargs):
return render(request, "librarian/book_add_flow/3_book_form.html", {"form": form, "form_type": typ, "form_id": tid})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def book_add_flow_4(request, book_id):
book = get_object_or_404(Book, id=book_id)
return render(request, "librarian/book_add_flow/4_complete.html", {"book": book})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def copy_add(request, book_id):
book = get_object_or_404(Book, id=book_id)
if request.method == "POST":
......@@ -321,7 +322,7 @@ def copy_add(request, book_id):
return render(request, "librarian/copy_add.html", {"form": form})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def author_add(request):
if request.method == "POST":
form = AuthorAddForm(request.POST)
......@@ -338,7 +339,7 @@ def author_add(request):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def publisher_add(request):
if request.method == "POST":
form = PublisherAddForm(request.POST)
......@@ -355,7 +356,7 @@ def publisher_add(request):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def location_add(request):
if request.method == "POST":
form = LocationForm(request.POST)
......@@ -371,7 +372,7 @@ def location_add(request):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def section_add_location(request, location_id):
location = get_object_or_404(Location, id=location_id)
if request.method == "POST":
......@@ -388,7 +389,7 @@ def section_add_location(request, location_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def section_add(request):
if request.method == "POST":
form = SectionForm(request.POST)
......@@ -404,7 +405,7 @@ def section_add(request):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def shelf_add_section(request, section_id):
section = get_object_or_404(Section, id=section_id)
if request.method == "POST":
......@@ -421,7 +422,7 @@ def shelf_add_section(request, section_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def shelf_add(request):
if request.method == "POST":
form = ShelfForm(request.POST)
......@@ -437,7 +438,7 @@ def shelf_add(request):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def book_edit(request, book_id):
book = get_object_or_404(Book, id=book_id)
if request.method == "POST":
......@@ -455,7 +456,7 @@ def book_edit(request, book_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def author_edit(request, author_id):
author = get_object_or_404(Author, id=author_id)
if request.method == "POST":
......@@ -473,7 +474,7 @@ def author_edit(request, author_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def publisher_edit(request, publisher_id):
publisher = get_object_or_404(Publisher, id=publisher_id)
if request.method == "POST":
......@@ -491,7 +492,7 @@ def publisher_edit(request, publisher_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def location_edit(request, location_id):
location = get_object_or_404(Location, id=location_id)
if request.method == "POST":
......@@ -508,7 +509,7 @@ def location_edit(request, location_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def section_edit(request, section_id):
section = get_object_or_404(Section, id=section_id)
if request.method == "POST":
......@@ -525,7 +526,7 @@ def section_edit(request, section_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def shelf_edit(request, shelf_id):
shelf = get_object_or_404(Shelf, id=shelf_id)
if request.method == "POST":
......@@ -542,7 +543,7 @@ def shelf_edit(request, shelf_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def user_add(request):
if request.method == "POST":
form = UserForm(request.POST)
......@@ -558,7 +559,7 @@ def user_add(request):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def user_edit(request, user_id):
user = get_object_or_404(User, id=user_id)
if request.method == "POST":
......@@ -577,7 +578,7 @@ def user_edit(request, user_id):
})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def search_books(request):
# Get query
query = request.GET.get("q")
......@@ -589,7 +590,7 @@ def search_books(request):
return render(request, "librarian/search_results.html", {"results": books, "query": query})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def search_all(request):
# Get query
query = request.GET.get("q")
......@@ -624,13 +625,13 @@ def search_all(request):
return render(request, "librarian/search_results.html", {"results": results, "query": query})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def location_manager(request):
locations = Location.objects.all()
return render(request, "librarian/location_manager.html", {"locations": locations})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
@require_POST
def location_delete(request, location_id):
location = get_object_or_404(Location, id=location_id)
......@@ -638,7 +639,7 @@ def location_delete(request, location_id):
return redirect("librarian:location_manager")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
@require_POST
def section_delete(request, section_id):
section = get_object_or_404(Section, id=section_id)
......@@ -646,7 +647,7 @@ def section_delete(request, section_id):
return redirect("librarian:location_manager")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def barcode_queue(request):
tbl_reqconfig = RequestConfig(request)
queue = BarcodeQueueItem.objects.filter(processed=False, user=request.user)
......@@ -655,7 +656,7 @@ def barcode_queue(request):
return render(request, "librarian/barcode_queue.html", {"queue": queue, "qtable": qtable})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
@require_POST
def barcode_delete(request, bqi_id):
bqi = get_object_or_404(BarcodeQueueItem, id=bqi_id)
......@@ -663,7 +664,7 @@ def barcode_delete(request, bqi_id):
return redirect("librarian:barcode_queue")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
@require_POST
def barcode_create_user(request, user_id):
user = get_object_or_404(User, id=user_id)
......@@ -672,7 +673,7 @@ def barcode_create_user(request, user_id):
return redirect("librarian:barcode_queue")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
@require_POST
def barcode_create_copy(request, copy_id):
copy = get_object_or_404(Copy, id=copy_id)
......@@ -681,7 +682,7 @@ def barcode_create_copy(request, copy_id):
return redirect("librarian:barcode_queue")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
@require_POST
def shelf_delete(request, shelf_id):
shelf = get_object_or_404(Shelf, id=shelf_id)
......@@ -689,20 +690,20 @@ def shelf_delete(request, shelf_id):
return redirect("librarian:location_manager")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def barcode_print(request):
barcodes = BarcodeQueueItem.objects.filter(processed=False, user=request.user)
return render(request, "librarian/barcode_print.html", {"barcode_list": barcodes})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
@require_POST
def barcode_markalldone(request):
BarcodeQueueItem.objects.filter(processed=False, user=request.user).update(processed=True)
return redirect("librarian:barcode_queue")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def bulk_return(request):
return render(request, "librarian/bulk_return.html")
......@@ -713,39 +714,39 @@ def render_error(request, message):
return render(request, "librarian/error.html", {"message": message, "referer": referer})
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def error_no_user(request):
return render_error(request, "No user specified")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def error_no_copy(request):
return render_error(request, "No copy specified")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def error_no_loan(request):
return render_error(request, "No loan specified")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def error_no_book(request):
return render_error(request, "No book specified")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def error_no_author(request):
return render_error(request, "No author specified")
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def error_no_publisher(request):
return render_error(request, "No publisher specified")
# Processes
@require_POST
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def return_copy(request, copy_id):
copy = get_object_or_404(Copy, id=copy_id)
if copy.loan_set.filter(checked_in__isnull=True).count() == 0:
......@@ -758,7 +759,7 @@ def return_copy(request, copy_id):
@require_POST
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def return_loan(request, loan_id):
"""
Checks in a loan.
......@@ -778,7 +779,7 @@ def return_loan(request, loan_id):
@require_POST
@staff_member_required(login_url='login')
@staff_member_required(login_url=LOGIN_URL)
def renew_loan(request, loan_id):
"""
Renews a loan.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment