diff --git a/common/templates/partial/_navbar.html b/common/templates/partial/_navbar.html index 21db07e6..c2796295 100644 --- a/common/templates/partial/_navbar.html +++ b/common/templates/partial/_navbar.html @@ -26,7 +26,7 @@ {% if request.user.is_authenticated %} - {% trans '主页' %} + {% trans '首页' %} {% trans '数据' %} {% trans '设置' %} {% trans '登出' %} diff --git a/common/templatetags/neo.py b/common/templatetags/neo.py index 5d8a1efb..340d253a 100644 --- a/common/templatetags/neo.py +++ b/common/templatetags/neo.py @@ -24,6 +24,6 @@ def prettydate(d): elif s < 120: return '刚刚' elif s < 3600: - return '{} 分钟前'.format(s / 60) + return '{} 分钟前'.format(s // 60) else: - return '{} 小时前'.format(s / 3600) + return '{} 小时前'.format(s // 3600) diff --git a/common/views.py b/common/views.py index 9e18813b..b460d700 100644 --- a/common/views.py +++ b/common/views.py @@ -17,6 +17,7 @@ from music.models import Album, Song, AlbumMark, SongMark from users.models import Report, User, Preference from mastodon.decorators import mastodon_request_included from users.views import home as user_home +from timeline.views import timeline as user_timeline from common.models import MarkStatusEnum from common.utils import PageLinksGenerator from common.scraper import get_scraper_by_url, get_normalized_url @@ -33,7 +34,15 @@ logger = logging.getLogger(__name__) @login_required def home(request): - return user_home(request, request.user.id) + try: + classic = request.user.preference.classic_homepage + except ObjectDoesNotExist: + Preference.objects.create(user=user) + classic = request.user.preference.classic_homepage + if classic: + return user_home(request, request.user.id) + else: + return user_timeline(request) @login_required diff --git a/timeline/templates/timeline.html b/timeline/templates/timeline.html index 89134864..a98ce941 100644 --- a/timeline/templates/timeline.html +++ b/timeline/templates/timeline.html @@ -12,7 +12,7 @@ - {{ site_name }} - {{ user.mastodon_username }} {{ list_title }} + {{ site_name }} - 首页 diff --git a/timeline/views.py b/timeline/views.py index 40f7d6b6..3c0fbe96 100644 --- a/timeline/views.py +++ b/timeline/views.py @@ -12,8 +12,6 @@ from mastodon import mastodon_request_included from mastodon.models import MastodonApplication from mastodon.api import post_toot, TootVisibilityEnum from common.utils import PageLinksGenerator -from common.views import PAGE_LINK_NUMBER, jump_or_scrape -from common.models import SourceSiteEnum from .models import * from django.conf import settings import re diff --git a/users/data.py b/users/data.py index 6ec1ca75..434f58c5 100644 --- a/users/data.py +++ b/users/data.py @@ -49,9 +49,10 @@ from common.importers.douban import DoubanImporter def preferences(request): if request.method == 'POST': request.user.preference.default_visibility = int(request.POST.get('default_visibility')) + request.user.preference.classic_homepage = bool(request.POST.get('classic_homepage')) request.user.preference.mastodon_publish_public = bool(request.POST.get('mastodon_publish_public')) request.user.preference.mastodon_append_tag = request.POST.get('mastodon_append_tag', '').strip() - request.user.preference.save() + request.user.preference.save(update_fields=['default_visibility', 'classic_homepage', 'mastodon_publish_public', 'mastodon_append_tag']) return render(request, 'users/preferences.html') diff --git a/users/models.py b/users/models.py index 735c006f..49203275 100644 --- a/users/models.py +++ b/users/models.py @@ -157,6 +157,7 @@ class Preference(models.Model): export_status = models.JSONField(blank=True, null=True, encoder=DjangoJSONEncoder, default=dict) import_status = models.JSONField(blank=True, null=True, encoder=DjangoJSONEncoder, default=dict) default_visibility = models.PositiveSmallIntegerField(default=0) + classic_homepage = models.BooleanField(null=False, default=False) mastodon_publish_public = models.BooleanField(null=False, default=False) mastodon_append_tag = models.CharField(max_length=2048, default='') diff --git a/users/templates/users/home.html b/users/templates/users/home.html index caa80344..d15ea532 100644 --- a/users/templates/users/home.html +++ b/users/templates/users/home.html @@ -13,9 +13,9 @@ {% if user == request.user %} - {{ site_name }} - {% trans '我的主页' %} + {{ site_name }} - {% trans '我的个人主页' %} {% else %} - {{ site_name }} - {{user.username}}{% trans '的主页' %} + {{ site_name }} - {{user.display_name}} {% endif %} diff --git a/users/templates/users/login.html b/users/templates/users/login.html index e4133bfc..c9882370 100644 --- a/users/templates/users/login.html +++ b/users/templates/users/login.html @@ -35,7 +35,7 @@ {% if user.is_authenticated %} - {% trans '前往我的主页' %} + {% trans '前往首页' %} {% elif allow_any_site %}
diff --git a/users/templates/users/preferences.html b/users/templates/users/preferences.html index 04be8cff..bc758e93 100644 --- a/users/templates/users/preferences.html +++ b/users/templates/users/preferences.html @@ -27,15 +27,14 @@
-
-
-
{% trans '社交网络分享相关设置' %}
-
- + +
+
+
{% trans 'NeoDB使用偏好设置' %}
+
{% csrf_token %} {% trans '新标记默认可见性:' %}
- 可见性:

+ {% trans '使用个人主页作为首页:' %} +
+ + +
+
+
+
+ +
+
+
{% trans '社交网络分享相关设置' %}
+
+ {% csrf_token %} {% trans '在联邦网络上以公开方式分享的帖文是否发布到公共时间轴上:' %}
- +


- {% trans '分享帖文时附加标签:' %} + {% trans '在联邦网络上分享帖文时附加标签:' %}
- -
- -
- +
-
+ +
+ +
+
@@ -71,7 +84,7 @@
- + {% include "partial/_footer.html" %}