diff --git a/bookwyrm/migrations/0151_user_show_guided_tour.py b/bookwyrm/migrations/0151_user_show_guided_tour.py new file mode 100644 index 000000000..c5b50b185 --- /dev/null +++ b/bookwyrm/migrations/0151_user_show_guided_tour.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.13 on 2022-06-13 01:59 + +import bookwyrm.models.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('bookwyrm', '0150_readthrough_stopped_date'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='show_guided_tour', + field=bookwyrm.models.fields.BooleanField(default=True), + ), + ] diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index dce74022c..5fe49f118 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -143,6 +143,7 @@ class User(OrderedCollectionPageMixin, AbstractUser): show_goal = models.BooleanField(default=True) show_suggested_users = models.BooleanField(default=True) discoverable = fields.BooleanField(default=False) + show_guided_tour = fields.BooleanField(default=True) # feed options feed_status_types = ArrayField( diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index 2d085b02d..bc2d748df 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -127,7 +127,7 @@ from .setup import InstanceConfig, CreateAdmin from .status import CreateStatus, EditStatus, DeleteStatus, update_progress from .status import edit_readthrough from .updates import get_notification_count, get_unread_status_string -from .user import User, Followers, Following, hide_suggestions, user_redirect +from .user import User, Followers, Following, hide_suggestions, user_redirect, toggle_guided_tour from .wellknown import * from .annual_summary import ( AnnualSummary, diff --git a/bookwyrm/views/user.py b/bookwyrm/views/user.py index e00aaa8e4..502f9b56f 100644 --- a/bookwyrm/views/user.py +++ b/bookwyrm/views/user.py @@ -165,3 +165,10 @@ def hide_suggestions(request): def user_redirect(request, username): """redirect to a user's feed""" return redirect("user-feed", username=username) + +@login_required +def toggle_guided_tour(request): + """most people don't want a tour every time they load a page""" + request.user.show_guided_tour = request.GET.get("tour") + request.user.save(broadcast=False, update_fields=["show_guided_tour"]) + return redirect("/")