update default landing page option

This commit is contained in:
Your Name 2023-04-20 10:12:05 -04:00 committed by Henri Dickson
parent d1861d023b
commit c796c462a1
5 changed files with 31 additions and 6 deletions

View file

@ -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"))

View file

@ -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")
)

View file

@ -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),
),
]

View file

@ -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)

View file

@ -42,10 +42,11 @@
仅自己</label>
</div>
<br>
<span>{% trans '登录后显示个人主页' %}</span>
<span>{% trans '登录后显示:' %}</span>
<div class="import-panel__checkbox import-panel__checkbox--last">
<input type="checkbox" name="classic_homepage" id="classic_homepage" {%if request.user.preference.classic_homepage %}checked{% endif %}>
<label for="classic_homepage">{% trans '默认登录后显示内容发现,如果希望登录后显示本人主页可选中此处' %}</label>
<input type="radio" name="classic_homepage" value="0" id="classic_homepage0" {%if request.user.preference.classic_homepage == 0 %}checked{% endif %}> 内容发现
<input type="radio" name="classic_homepage" value="1" id="classic_homepage1" {%if request.user.preference.classic_homepage == 1 %}checked{% endif %}> 个人主页
<input type="radio" name="classic_homepage" value="2" id="classic_homepage2" {%if request.user.preference.classic_homepage == 2 %}checked{% endif %}> 好友动态
</div>
<br style="margin-bottom:1.5em">
<span>{% trans '不允许未登录用户访问个人主页:' %}</span>