diff --git a/bookwyrm/templates/components/modal.html b/bookwyrm/templates/components/modal.html index d8c1a468..2eabd2e2 100644 --- a/bookwyrm/templates/components/modal.html +++ b/bookwyrm/templates/components/modal.html @@ -14,7 +14,11 @@ - {% include 'snippets/toggle/toggle_button.html' with label=label class="delete" nonbutton=True %} + {% if static %} + {{ label }} + {% else %} + {% include 'snippets/toggle/toggle_button.html' with label=label class="delete" nonbutton=True %} + {% endif %} {% block modal-form-open %}{% endblock %} {% if not no_body %} @@ -27,6 +31,10 @@ {% block modal-form-close %}{% endblock %} - {% include 'snippets/toggle/toggle_button.html' with label=label class="modal-close is-large" nonbutton=True %} + {% if static %} + {{ label }} + {% else %} + {% include 'snippets/toggle/toggle_button.html' with label=label class="modal-close is-large" nonbutton=True %} + {% endif %} diff --git a/bookwyrm/templates/reading_progress/finish.html b/bookwyrm/templates/reading_progress/finish.html index ca69128e..501fb3c4 100644 --- a/bookwyrm/templates/reading_progress/finish.html +++ b/bookwyrm/templates/reading_progress/finish.html @@ -9,6 +9,6 @@ Finish "{{ book_title }}" {% block content %} -{% include "snippets/reading_modals/finish_reading_modal.html" with book=book active=True %} +{% include "snippets/reading_modals/finish_reading_modal.html" with book=book active=True static=True %} {% endblock %} diff --git a/bookwyrm/templates/reading_progress/start.html b/bookwyrm/templates/reading_progress/start.html index e24a0e05..df8f698a 100644 --- a/bookwyrm/templates/reading_progress/start.html +++ b/bookwyrm/templates/reading_progress/start.html @@ -9,6 +9,6 @@ Start "{{ book_title }}" {% block content %} -{% include "snippets/reading_modals/start_reading_modal.html" with book=book active=True %} +{% include "snippets/reading_modals/start_reading_modal.html" with book=book active=True static=True %} {% endblock %} diff --git a/bookwyrm/templates/reading_progress/want.html b/bookwyrm/templates/reading_progress/want.html index 6122ade3..31f047cf 100644 --- a/bookwyrm/templates/reading_progress/want.html +++ b/bookwyrm/templates/reading_progress/want.html @@ -9,6 +9,6 @@ Want to Read "{{ book_title }}" {% block content %} -{% include "snippets/reading_modals/want_to_read_modal.html" with book=book active=True %} +{% include "snippets/reading_modals/want_to_read_modal.html" with book=book active=True static=True %} {% endblock %} diff --git a/bookwyrm/views/reading.py b/bookwyrm/views/reading.py index 9100e1d4..70dc2147 100644 --- a/bookwyrm/views/reading.py +++ b/bookwyrm/views/reading.py @@ -31,6 +31,7 @@ class ReadingStatus(View): }.get(status) if not template: return HttpResponseNotFound() + # redirect if we're already on this shelf return TemplateResponse(request, f"reading_progress/{template}", {"book": book}) def post(self, request, status, book_id): @@ -58,11 +59,15 @@ class ReadingStatus(View): ) .first() ) + + referer = request.headers.get("Referer", "/") + if "reading-status" in referer: + referer = "/" if current_status_shelfbook is not None: if current_status_shelfbook.shelf.identifier != desired_shelf.identifier: current_status_shelfbook.delete() else: # It already was on the shelf - return redirect(request.headers.get("Referer", "/")) + return redirect(referer) models.ShelfBook.objects.create( book=book, shelf=desired_shelf, user=request.user @@ -87,8 +92,7 @@ class ReadingStatus(View): else: privacy = request.POST.get("privacy") handle_reading_status(request.user, desired_shelf, book, privacy) - - return redirect(request.headers.get("Referer", "/")) + return redirect(referer) @login_required