def clean_email(self): email = self.cleaned_data["email"] email = get_adapter().clean_email(email) self.users = filter_users_by_email(email) if not self.users: raise forms.ValidationError("가입된 이메일이 없습니다.") return self.cleaned_data["email"]
def clean_email(self): email = self.cleaned_data["email"] from allauth.account.adapter import get_adapter email = get_adapter().clean_email(email) self.users = filter_users_by_email(email) return self.cleaned_data["email"]
def clean_email(self): """Clean email field.""" email = self.cleaned_data["email"] email = get_adapter().clean_email(email) self.users = filter_users_by_email(email) return self.cleaned_data["email"]
def clean_email(self): value = self.cleaned_data["email"] value = get_adapter().clean_email(value) errors = { "this_account": _("This e-mail address is already associated" " with this account."), "different_account": _("This e-mail address is already associated" " with another account."), "max_email_addresses": _("You cannot add more than %d e-mail addresses."), } users = filter_users_by_email(value) on_diff_account = [u for u in users if u.pk != self.user.pk] primary_on_this_account = str( EmailAddress.objects.filter(user=self.user, primary=True).first()) if primary_on_this_account == str(value): raise forms.ValidationError(errors["this_account"]) if on_diff_account and app_settings.UNIQUE_EMAIL: raise forms.ValidationError(errors["different_account"]) if not EmailAddress.objects.can_add_email(self.user): raise forms.ValidationError(errors["max_email_addresses"] % app_settings.MAX_EMAIL_ADDRESSES) return value
def clean_email(self): value = self.cleaned_data["email"] errors = { "this_account": "This e-mail address is already associated" " with this account.", "different_account": "This e-mail address is already associated" " with another account.", } from allauth.account.utils import filter_users_by_email users = filter_users_by_email(value) on_this_account = [u for u in users if u.pk == self.user.pk] on_diff_account = [u for u in users if u.pk != self.user.pk] if on_this_account: # delete from account_emailconfirmation AM.EmailConfirmation.objects.get( email_address__email=value).delete() # delete from account_emailaddress AM.EmailAddress.objects.get(email=value).delete() # let rest of code re-add email and send confirmation #raise forms.ValidationError(errors["this_account"]) if on_diff_account: #and app_settings.UNIQUE_EMAIL: raise forms.ValidationError(errors["different_account"]) return value
def send(self, email: str) -> bool: current_site = get_current_site(self.request) users = filter_users_by_email(email) if not users: token = get_signup_token(email, AuthProvider.EMAIL) activate_url = get_access_url(self.request, token) return self.send_signup(self.request, email, activate_url) try: connection = self.get_connection() msgs = [] for user in users: token = get_login_token(user) activate_url = get_access_url(self.request, token) ctx = { "activate_url": activate_url, "current_site": current_site, } messages = self.render_mail(self.login_email_template, ctx) msgs.append(EmailMultiAlternatives( subject=''.join(messages['subject'].splitlines()), body=messages['content'], from_email=settings.DEFAULT_FROM_EMAIL, to=[email], connection=connection, alternatives=[(messages['html_content'], 'text/html'), ], )) connection.send_messages(msgs) except Exception: logger.exception("Failed to send signup to '%s'", email) return False return True
def validate(self, data): email = data['email'] email = get_adapter().clean_email(email) self.users = filter_users_by_email(email) if not self.users: raise serializers.ValidationError({"error":_("The app is not setting"), "status": "error"}) return data
def clean_email(self): email = self.cleaned_data["email"] email = get_adapter().clean_email(email) self.users = filter_users_by_email(email) if not self.users: raise forms.ValidationError(_("The e-mail address is not assigned" " to any user account")) return self.cleaned_data["email"]
def clean_email(self): value = self.cleaned_data["email"] users = filter_users_by_email(value) if [u for u in users if u.pk != self.instance.pk]: msg = _("This e-mail address is already associated with another " "account.") raise forms.ValidationError(msg) return value
def clean_email(self): value = self.cleaned_data['email'] users = filter_users_by_email(value) if [u for u in users if u.pk != self.instance.pk]: msg = _( 'This e-mail address is already associated with another ' 'account.') raise forms.ValidationError(msg) return value
def clean_email(self): """ Invalid email should not raise error, as this would leak users for unit test: test_password_reset_with_invalid_email """ email = self.cleaned_data["email"] email = get_adapter().clean_email(email) self.users = filter_users_by_email(email, is_active=True) return self.cleaned_data["email"]
def save(self, request, **kwargs): email = self.cleaned_data["email"] account_adapter = adapter.get_adapter(request) if callable(account_adapter.password_reset_request): self.users = account_adapter.password_reset_request(request, email) else: # if adapter does not have password_reset_request, fall back to base behavior self.users = utils.filter_users_by_email(email) # base class .save() call generates reset token and sends email to self.users return super().save(request, **kwargs)
def clean_email(self): email = self.cleaned_data["email"] email = get_adapter().clean_email(email) self.users = filter_users_by_email(email) if not len(self.users): raise forms.ValidationError(_("The e-mail address is not assigned" " to any user account")) elif len(self.users[0].socialaccount_set.filter(provider='facebook')): raise forms.ValidationError(_("You are using a social account to login you can't reset password.")) return self.cleaned_data["email"]
def validate(self, data): email = data['email'] email = get_adapter().clean_email(email) self.users = filter_users_by_email(email) app = Application.objects.all() if not self.users: raise serializers.ValidationError({"error":_("The e-mail address is not assigned" " to any user account"), "status": "error"}) if not app: raise serializers.ValidationError({"error":_("The app is not setting"), "status": "error"}) return data
def save(self, request, **kwargs): next_url = request.session.pop("next_url", reverse(settings.LOGIN_REDIRECT_URL)) ret = super().save(request, **kwargs) # Use the lookup method allauth uses to get relevant members. users = filter_users_by_email(ret) for user in users: member = Member.objects.get(user=user) member.password_reset_redirect = next_url member.save() return ret
def _authenticate_by_email(self, **credentials): # Even though allauth will pass along `email`, other apps may # not respect this setting. For example, when using # django-tastypie basic authentication, the login is always # passed as `username`. So let's play nice with other apps # and use username as fallback email = credentials.get('email', credentials.get('username')) if email: for user in filter_users_by_email(email): if self._check_password(user, credentials["password"]): return user return None
def validate_profile_email(form, value): value = get_adapter().clean_email(value) if value and value != form.instance.user.email: users = filter_users_by_email(value) on_diff_account = [u for u in users if u.pk != form.instance.user.pk] if on_diff_account: raise forms.ValidationError(_("A user is already registered with this e-mail address.")) email_address = EmailAddress.objects.add_email(form.request, form.instance.user, value, confirm=True) if not email_address.verified: raise forms.ValidationError( _("Patikrinkite savo el. paštą ir patvirtinkite šį el. pašto adresą, tada galėsite jį naudoti.") ) return value
def form_valid(self, form): email = form.cleaned_data['email'] # if the email address is unknown to us, direct them to the regular signup page # otherwise, send them through the forgot-password process to set a password form.users = filter_users_by_email(email) if len(form.users) < 1: self.request.session['signup_email_address'] = email return HttpResponseRedirect(reverse('account_signup')) elif not form.users[0].password: # this account needs to set a password form.save(self.request) return super(BadgeUserClaim, self).form_valid(form) else: return HttpResponseRedirect(reverse('account_login'))
def clean_email(self): """Overrides allauth's method for security reasons. Validation for whether a user/email exists has been removed. This prevents potential attackers from finding out which emails are registered in our system by attempting to submit this form. """ email = self.cleaned_data["email"] email = get_adapter().clean_email(email) # allauth sends reset emails to all users in self.users. # If there are none it will not send any emails self.users = filter_users_by_email(email) return self.cleaned_data["email"]
def clean(self): email = self.cleaned_data.get('email') last_name = self.cleaned_data.get('last_name') first_name = self.cleaned_data.get('first_name') self.users = filter_users_by_email(email, is_active=True) users = CustomUser.objects.filter(email__iexact=email, is_active=True).first() if email == None or last_name == None or first_name == None: raise forms.ValidationError("") if users: if users.last_name != last_name or users.first_name != first_name: raise forms.ValidationError("該当するアカウントが見つかりません。") else: raise forms.ValidationError("該当するアカウントが見つかりません。")
def validate_profile_email(form, value): value = get_adapter().clean_email(value) if value and value != form.instance.user.email: users = filter_users_by_email(value) on_diff_account = [u for u in users if u.pk != form.instance.user.pk] if on_diff_account: raise forms.ValidationError( _("A user is already registered with this e-mail address.")) email_address = EmailAddress.objects.add_email(form.request, form.instance.user, value, confirm=True) if not email_address.verified: raise forms.ValidationError( _("Patikrinkite savo el. paštą ir patvirtinkite šį el. pašto adresą, tada galėsite jį naudoti." )) return value
def clean_email(self): value = self.cleaned_data["email"] value = get_adapter().clean_email(value) errors = { "this_account": _("This e-mail address is already associated" " with this account."), "different_account": _("This e-mail address is already associated" " with another account."), } users = filter_users_by_email(value) on_this_account = [u for u in users if u.pk == self.user.pk] on_diff_account = [u for u in users if u.pk != self.user.pk] if on_this_account: raise forms.ValidationError(errors["this_account"]) if on_diff_account and app_settings.UNIQUE_EMAIL: raise forms.ValidationError(errors["different_account"]) return value
def clean_email(self): """Don't reveal if the user exist""" email = self.cleaned_data.get('email') self.users = filter_users_by_email(email) return email