diff --git a/librarian/views.py b/librarian/views.py index 0ac3a5596a85593f95e4fc436556cfe20a22a669..4e673f60d5600e2c8c43a89931b7c76c2a2b6eb6 100644 --- a/librarian/views.py +++ b/librarian/views.py @@ -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.