1
0
Fork 0

Merge branch 'main' into bookwyrm-groups

This commit is contained in:
Mouse Reeve 2021-10-07 17:27:11 -07:00 committed by GitHub
commit 4ba3234f6c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
49 changed files with 95872 additions and 4016 deletions

View file

@ -7,8 +7,9 @@ from dateutil.parser import ParserError
from requests import HTTPError
from django.http import Http404
from django.utils import translation
from bookwyrm import activitypub, models
from bookwyrm import activitypub, models, settings
from bookwyrm.connectors import ConnectorException, get_data
from bookwyrm.status import create_generated_note
from bookwyrm.utils import regex
@ -144,3 +145,11 @@ def load_date_in_user_tz_as_utc(date_str: str, user: models.User) -> datetime:
return date.replace(tzinfo=user_tz).astimezone(dateutil.tz.UTC)
except ParserError:
return None
def set_language(user, response):
"""Updates a user's language"""
if user.preferred_language:
translation.activate(user.preferred_language)
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, user.preferred_language)
return response

View file

@ -11,6 +11,7 @@ from django.views.decorators.debug import sensitive_variables, sensitive_post_pa
from bookwyrm import forms, models
from bookwyrm.settings import DOMAIN
from bookwyrm.views.helpers import set_language
# pylint: disable=no-self-use
@ -55,8 +56,8 @@ class Login(View):
login(request, user)
user.update_active_date()
if request.POST.get("first_login"):
return redirect("get-started-profile")
return redirect(request.GET.get("next", "/"))
return set_language(user, redirect("get-started-profile"))
return set_language(user, redirect(request.GET.get("next", "/")))
# maybe the user is pending email confirmation
if models.User.objects.filter(

View file

@ -38,7 +38,7 @@ class PasswordResetRequest(View):
# create a new reset code
code = models.PasswordReset.objects.create(user=user)
password_reset_email(code)
data = {"message": _(f"A password reset link sent to {email}")}
data = {"message": _(f"A password reset link was sent to {email}")}
return TemplateResponse(request, "password_reset_request.html", data)

View file

@ -11,6 +11,7 @@ from django.utils.decorators import method_decorator
from django.views import View
from bookwyrm import forms
from bookwyrm.views.helpers import set_language
# pylint: disable=no-self-use
@ -33,9 +34,9 @@ class EditUser(View):
data = {"form": form, "user": request.user}
return TemplateResponse(request, "preferences/edit_user.html", data)
save_user_form(form)
user = save_user_form(form)
return redirect("user-feed", request.user.localname)
return set_language(user, redirect("user-feed", request.user.localname))
def save_user_form(form):