make username and masto_acct both available as profile handler
This commit is contained in:
parent
64e5f2c8e9
commit
7d06d50359
3 changed files with 10 additions and 22 deletions
|
@ -839,30 +839,16 @@ def user_liked_collection_list(request, user_name):
|
|||
)
|
||||
|
||||
|
||||
def profile_anonymous(request, id):
|
||||
try:
|
||||
username = id.split("@")[0]
|
||||
site = id.split("@")[1]
|
||||
return render(
|
||||
request,
|
||||
"users/home_anonymous.html",
|
||||
{"username": username, "site": site},
|
||||
)
|
||||
except Exception:
|
||||
return redirect(login_url)
|
||||
|
||||
|
||||
def profile(request, user_name):
|
||||
if request.method != "GET":
|
||||
raise BadRequest()
|
||||
user = User.get(user_name, case_sensitive=True)
|
||||
if user is None or not user.is_active:
|
||||
return render_user_not_found(request)
|
||||
if user.handler != user_name:
|
||||
if user.mastodon_acct != user_name and user.username != user_name:
|
||||
return redirect(user.url)
|
||||
if not request.user.is_authenticated and user.get_preference().no_anonymous_view:
|
||||
return profile_anonymous(request, user_name)
|
||||
# access one's own home page
|
||||
return render(request, "users/home_anonymous.html", {"user": user})
|
||||
if user != request.user and (
|
||||
user.is_blocked_by(request.user) or user.is_blocking(request.user)
|
||||
):
|
||||
|
|
|
@ -27,6 +27,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.no_anonymous_view = bool(request.POST.get("no_anonymous_view"))
|
||||
preference.classic_homepage = int(request.POST.get("classic_homepage"))
|
||||
preference.mastodon_publish_public = bool(
|
||||
request.POST.get("mastodon_publish_public")
|
||||
|
@ -39,6 +40,7 @@ def preferences(request):
|
|||
update_fields=[
|
||||
"default_visibility",
|
||||
"default_no_share",
|
||||
"no_anonymous_view",
|
||||
"classic_homepage",
|
||||
"mastodon_publish_public",
|
||||
"mastodon_append_tag",
|
||||
|
|
|
@ -6,21 +6,21 @@
|
|||
<meta charset="UTF-8">
|
||||
<meta http-equiv="refresh"
|
||||
content="0;URL={% url 'users:login' %}?next={{ request.path }}" />
|
||||
<title>{{ site_name }} - {{ username }}@{{ site }}</title>
|
||||
<title>{{ site_name }} - {{ user.display_name }}</title>
|
||||
<link rel="alternate"
|
||||
type="application/rss+xml"
|
||||
title="{{ site_name }} - {{ username }}@{{ site }}的评论"
|
||||
title="{{ site_name }} - {{ user.display_name }}的评论"
|
||||
href="{{ request.build_absolute_uri }}feed/reviews/">
|
||||
<meta property="og:title"
|
||||
content="{{ site_name }} - {{ username }}@{{ site }}的书影音">
|
||||
content="{{ site_name }} - {{ user.display_name }}的主页">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="{{ request.build_absolute_uri }}">
|
||||
<meta property="og:image"
|
||||
content="{{ request.scheme }}://{{ request.get_host }}{% static 'img/logo_square.jpg' %}">
|
||||
</head>
|
||||
<body>
|
||||
<a href="https://{{ site }}/@{{ username }}"
|
||||
rel="me"
|
||||
style="display:none">Mastodon homepage</a>
|
||||
{% if user.mastodon_account.url %}
|
||||
<a href="{{ user.mastodon_account.url }}" rel="me" style="display:none">Mastodon verification</a>
|
||||
{% endif %}
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Add table
Reference in a new issue