mirror of
https://git.linux-kernel.at/oliver/ivatar.git
synced 2025-11-20 15:08:02 +00:00
Fix issue #25
This commit is contained in:
@@ -6,12 +6,12 @@ from django.conf.urls import url
|
|||||||
|
|
||||||
from django.views.generic import TemplateView
|
from django.views.generic import TemplateView
|
||||||
from django.contrib.auth.views import LogoutView
|
from django.contrib.auth.views import LogoutView
|
||||||
from django.contrib.auth.views import PasswordResetView, PasswordResetDoneView,\
|
from django.contrib.auth.views import PasswordResetDoneView,\
|
||||||
PasswordResetConfirmView, PasswordResetCompleteView
|
PasswordResetConfirmView, PasswordResetCompleteView
|
||||||
from django.contrib.auth.views import PasswordChangeView, PasswordChangeDoneView
|
from django.contrib.auth.views import PasswordChangeView, PasswordChangeDoneView
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
|
|
||||||
from . views import ProfileView
|
from . views import ProfileView, PasswordResetView
|
||||||
from . views import CreateView, PasswordSetView, AddEmailView
|
from . views import CreateView, PasswordSetView, AddEmailView
|
||||||
from . views import RemoveUnconfirmedEmailView, ConfirmEmailView
|
from . views import RemoveUnconfirmedEmailView, ConfirmEmailView
|
||||||
from . views import RemoveConfirmedEmailView, AssignPhotoEmailView
|
from . views import RemoveConfirmedEmailView, AssignPhotoEmailView
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ from django.views.generic.detail import DetailView
|
|||||||
from django.contrib.auth import authenticate, login
|
from django.contrib.auth import authenticate, login
|
||||||
from django.contrib.auth.forms import UserCreationForm, SetPasswordForm
|
from django.contrib.auth.forms import UserCreationForm, SetPasswordForm
|
||||||
from django.contrib.auth.views import LoginView
|
from django.contrib.auth.views import LoginView
|
||||||
|
from django.contrib.auth.views import PasswordResetView as PasswordResetViewOriginal
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django.http import HttpResponseRedirect, HttpResponse
|
from django.http import HttpResponseRedirect, HttpResponse
|
||||||
from django.urls import reverse_lazy, reverse
|
from django.urls import reverse_lazy, reverse
|
||||||
@@ -894,3 +895,23 @@ class ProfileView(TemplateView):
|
|||||||
confirmed.ip_address = get_client_ip(self.request)[0]
|
confirmed.ip_address = get_client_ip(self.request)[0]
|
||||||
confirmed.openid = openids.first().claimed_id
|
confirmed.openid = openids.first().claimed_id
|
||||||
confirmed.save()
|
confirmed.save()
|
||||||
|
|
||||||
|
class PasswordResetView(PasswordResetViewOriginal):
|
||||||
|
'''
|
||||||
|
View class for password reset
|
||||||
|
'''
|
||||||
|
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
'''
|
||||||
|
Since we have the mail addresses in ConfirmedEmail model,
|
||||||
|
we need to set the email on the user object in order for the
|
||||||
|
PasswordResetView class to pick up the correct user
|
||||||
|
'''
|
||||||
|
if 'email' in request.POST:
|
||||||
|
try:
|
||||||
|
confirmed_email = ConfirmedEmail.objects.get(email=request.POST['email'])
|
||||||
|
confirmed_email.user.email = confirmed_email.email
|
||||||
|
confirmed_email.user.save()
|
||||||
|
except Exception as exc:
|
||||||
|
pass
|
||||||
|
return super().post(self, request, args, kwargs)
|
||||||
|
|||||||
Reference in New Issue
Block a user