From c796c462a187aebb4ce33b34584dd5ab4d5a046c Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 20 Apr 2023 10:12:05 -0400 Subject: [PATCH] update default landing page option --- common/views.py | 5 ++++- users/data.py | 2 +- .../0004_alter_preference_classic_homepage.py | 21 +++++++++++++++++++ users/models.py | 2 +- users/templates/users/preferences.html | 7 ++++--- 5 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 users/migrations/0004_alter_preference_classic_homepage.py diff --git a/common/views.py b/common/views.py index da3fbe83..23079e29 100644 --- a/common/views.py +++ b/common/views.py @@ -6,10 +6,13 @@ from .api import api @login_required def home(request): - if request.user.get_preference().classic_homepage: + home = request.user.get_preference().classic_homepage + if home == 1: return redirect( reverse("journal:user_profile", args=[request.user.mastodon_username]) ) + elif home == 2: + return redirect(reverse("social:feed")) else: return redirect(reverse("catalog:discover")) diff --git a/users/data.py b/users/data.py index 77aac669..19ed1813 100644 --- a/users/data.py +++ b/users/data.py @@ -40,7 +40,7 @@ def preferences(request): if request.method == "POST": preference.default_visibility = int(request.POST.get("default_visibility")) preference.default_no_share = bool(request.POST.get("default_no_share")) - preference.classic_homepage = bool(request.POST.get("classic_homepage")) + preference.classic_homepage = int(request.POST.get("classic_homepage")) preference.mastodon_publish_public = bool( request.POST.get("mastodon_publish_public") ) diff --git a/users/migrations/0004_alter_preference_classic_homepage.py b/users/migrations/0004_alter_preference_classic_homepage.py new file mode 100644 index 00000000..8ddc0bf6 --- /dev/null +++ b/users/migrations/0004_alter_preference_classic_homepage.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.18 on 2023-04-20 13:31 + +from django.db import migrations, models + + +sql = 'ALTER TABLE users_preference ALTER COLUMN "classic_homepage" TYPE SMALLINT USING CASE WHEN classic_homepage THEN 1 ELSE 0 END;' + + +class Migration(migrations.Migration): + dependencies = [ + ("users", "0003_preference_discover_layout"), + ] + + operations = [ + migrations.RunSQL(sql), + migrations.AlterField( + model_name="preference", + name="classic_homepage", + field=models.PositiveSmallIntegerField(default=0), + ), + ] diff --git a/users/models.py b/users/models.py index be4d26ad..9ac5f653 100644 --- a/users/models.py +++ b/users/models.py @@ -220,7 +220,7 @@ class Preference(models.Model): ) default_no_share = models.BooleanField(default=False) default_visibility = models.PositiveSmallIntegerField(default=0) - classic_homepage = models.BooleanField(null=False, default=False) + classic_homepage = models.PositiveSmallIntegerField(null=False, default=0) mastodon_publish_public = models.BooleanField(null=False, default=False) mastodon_append_tag = models.CharField(max_length=2048, default="") show_last_edit = models.PositiveSmallIntegerField(default=0) diff --git a/users/templates/users/preferences.html b/users/templates/users/preferences.html index 0122c4db..22c40524 100644 --- a/users/templates/users/preferences.html +++ b/users/templates/users/preferences.html @@ -42,10 +42,11 @@ 仅自己
- {% trans '登录后显示个人主页:' %} + {% trans '登录后显示:' %}
- - + 内容发现 + 个人主页 + 好友动态

{% trans '不允许未登录用户访问个人主页:' %}