Runs black

This commit is contained in:
Mouse Reeve
2021-03-08 08:49:10 -08:00
parent a07f955781
commit 70296e760b
198 changed files with 10239 additions and 8572 deletions

View File

@ -1,4 +1,4 @@
''' class views for password management '''
""" class views for password management """
from django.contrib.auth import login
from django.contrib.auth.decorators import login_required
from django.core.exceptions import PermissionDenied
@ -13,21 +13,22 @@ from bookwyrm.emailing import password_reset_email
# pylint: disable= no-self-use
class PasswordResetRequest(View):
''' forgot password flow '''
""" forgot password flow """
def get(self, request):
''' password reset page '''
""" password reset page """
return TemplateResponse(
request,
'password_reset_request.html',
"password_reset_request.html",
)
def post(self, request):
''' create a password reset token '''
email = request.POST.get('email')
""" create a password reset token """
email = request.POST.get("email")
try:
user = models.User.objects.get(email=email)
except models.User.DoesNotExist:
return redirect('/password-reset')
return redirect("/password-reset")
# remove any existing password reset cods for this user
models.PasswordReset.objects.filter(user=user).all().delete()
@ -35,16 +36,17 @@ class PasswordResetRequest(View):
# create a new reset code
code = models.PasswordReset.objects.create(user=user)
password_reset_email(code)
data = {'message': 'Password reset link sent to %s' % email}
return TemplateResponse(request, 'password_reset_request.html', data)
data = {"message": "Password reset link sent to %s" % email}
return TemplateResponse(request, "password_reset_request.html", data)
class PasswordReset(View):
''' set new password '''
""" set new password """
def get(self, request, code):
''' endpoint for sending invites '''
""" endpoint for sending invites """
if request.user.is_authenticated:
return redirect('/')
return redirect("/")
try:
reset_code = models.PasswordReset.objects.get(code=code)
if not reset_code.valid():
@ -52,50 +54,48 @@ class PasswordReset(View):
except models.PasswordReset.DoesNotExist:
raise PermissionDenied
return TemplateResponse(request, 'password_reset.html')
return TemplateResponse(request, "password_reset.html")
def post(self, request, code):
''' allow a user to change their password through an emailed token '''
""" allow a user to change their password through an emailed token """
try:
reset_code = models.PasswordReset.objects.get(
code=code
)
reset_code = models.PasswordReset.objects.get(code=code)
except models.PasswordReset.DoesNotExist:
data = {'errors': ['Invalid password reset link']}
return TemplateResponse(request, 'password_reset.html', data)
data = {"errors": ["Invalid password reset link"]}
return TemplateResponse(request, "password_reset.html", data)
user = reset_code.user
new_password = request.POST.get('password')
confirm_password = request.POST.get('confirm-password')
new_password = request.POST.get("password")
confirm_password = request.POST.get("confirm-password")
if new_password != confirm_password:
data = {'errors': ['Passwords do not match']}
return TemplateResponse(request, 'password_reset.html', data)
data = {"errors": ["Passwords do not match"]}
return TemplateResponse(request, "password_reset.html", data)
user.set_password(new_password)
user.save(broadcast=False)
login(request, user)
reset_code.delete()
return redirect('/')
return redirect("/")
@method_decorator(login_required, name='dispatch')
@method_decorator(login_required, name="dispatch")
class ChangePassword(View):
''' change password as logged in user '''
""" change password as logged in user """
def get(self, request):
''' change password page '''
data = {'user': request.user}
return TemplateResponse(
request, 'preferences/change_password.html', data)
""" change password page """
data = {"user": request.user}
return TemplateResponse(request, "preferences/change_password.html", data)
def post(self, request):
''' allow a user to change their password '''
new_password = request.POST.get('password')
confirm_password = request.POST.get('confirm-password')
""" allow a user to change their password """
new_password = request.POST.get("password")
confirm_password = request.POST.get("confirm-password")
if new_password != confirm_password:
return redirect('preferences/password')
return redirect("preferences/password")
request.user.set_password(new_password)
request.user.save(broadcast=False)