def get(self, request): token = self.request.session['auth_token'] account = wrapper.Authemail() response = account.logout(token=token) self.request.session.flush() return HttpResponseRedirect(reverse('landing_page'))
def get(self, request, format=None): code = request.GET.get('code', '') account = wrapper.Authemail() response = account.signup_verify(code=code) # Handle other error responses from API if 'detail' in response: return HttpResponseRedirect(reverse('signup_not_verified_page')) return HttpResponseRedirect(reverse('signup_verified_page'))
def get_context_data(self, **kwargs): context = super(HomeView, self).get_context_data(**kwargs) token = self.request.session['auth_token'] account = wrapper.Authemail() response = account.users_me(token=token) context['email'] = response['email'] return context
def form_valid(self, form): email = form.cleaned_data['email'] account = wrapper.Authemail() response = account.password_reset(email=email) # Handle other error responses from API if 'detail' in response: form.add_error(None, response['detail']) return self.form_invalid(form) return super(PasswordResetView, self).form_valid(form)
def form_valid(self, form): token = self.request.session['auth_token'] password = form.cleaned_data['password'] account = wrapper.Authemail() response = account.password_change(token=token, password=password) # Handle other error responses from API if 'detail' in response: form.add_error(None, response['detail']) return self.form_invalid(form) return super(PasswordChangeView, self).form_valid(form)
def get_context_data(self, **kwargs): context = super(HomeView, self).get_context_data(**kwargs) token = self.request.session['auth_token'] account = wrapper.Authemail() account.users_me(token=token) context['first_name'] = account.first_name context['last_name'] = account.last_name context['email'] = account.email return context
def get_context_data(self, **kwargs): context = super(UsersMeChangeView, self).get_context_data(**kwargs) token = self.request.session['auth_token'] account = wrapper.Authemail() account.users_me(token=token) context['first_name'] = account.first_name context['last_name'] = account.last_name context['date_of_birth'] = account.date_of_birth return context
def form_valid(self, form): code = self.request.session['password_reset_code'] password = form.cleaned_data['password'] account = wrapper.Authemail() response = account.password_reset_verified(code=code, password=password) # Handle other error responses from API if 'detail' in response: form.add_error(None, response['detail']) return self.form_invalid(form) return super(PasswordResetVerifiedView, self).form_valid(form)
def get(self, request, format=None): code = request.GET.get('code', '') account = wrapper.Authemail() account.base_uri = "%s/api" % settings.SERVER_URL response = account.password_reset_verify(code=code) # Handle other error responses from API if 'detail' in response: return HttpResponseRedirect( reverse('password_reset_not_verified_page')) request.session['password_reset_code'] = code return HttpResponseRedirect(reverse('password_reset_verified_page'))
def form_valid(self, form): email = form.cleaned_data['email'] password = form.cleaned_data['password'] account = wrapper.Authemail() response = account.login(email=email, password=password) if 'token' in response: self.request.session['auth_token'] = response['token'] else: # Handle other error responses from API if 'detail' in response: form.add_error(None, response['detail']) return self.form_invalid(form) return super(LoginView, self).form_valid(form)
def get(self, request): # clear notification user = request.user user.notification_id = "" user.save() token = self.request.session['auth_token'] account = wrapper.Authemail() account.base_uri = "%s/api" % settings.SERVER_URL response = account.logout(token=token) self.request.session.flush() return HttpResponseRedirect(reverse('landing_page'))
def form_valid(self, form): token = self.request.session['auth_token'] code = self.request.session['email_change_code'] email = form.cleaned_data['email'] account = wrapper.Authemail() response = account.email_change_verified(token=token, code=code, email=email) # Handle other error responses from API if 'detail' in response: form.add_error(None, response['detail']) return self.form_invalid(form) return super(EmailChangeVerifiedView, self).form_valid(form)
def form_valid(self, form): first_name = form.cleaned_data['first_name'] last_name = form.cleaned_data['last_name'] email = form.cleaned_data['email'] password = form.cleaned_data['password'] account = wrapper.Authemail() response = account.signup(first_name=first_name, last_name=last_name, email=email, password=password) # Handle other error responses from API if 'detail' in response: form.add_error(None, response['detail']) return self.form_invalid(form) return super(SignupView, self).form_valid(form)
def form_valid(self, form): code = self.request.session['password_reset_code'] password = form.cleaned_data['password'] m = hashlib.md5() m.update(password.encode('utf-8')) encryptedPassword = m.hexdigest() account = wrapper.Authemail() account.base_uri = "%s/api" % settings.SERVER_URL response = account.password_reset_verified(code=code, password=encryptedPassword) # Handle other error responses from API if 'detail' in response: form.add_error(None, response['detail']) return self.form_invalid(form) return super(PasswordResetVerifiedView, self).form_valid(form)
def post(self, request, format=None): # print("SignIn - Email") password_provided = "password" in request.data spacer_name_provided = "user_name" in request.data # print("password provided? %s" % password_provided) # print("space name provided? %s" % spacer_name_provided) try: user = SpaceoutUser.objects.get(email=request.data["id"]) # user exist, trying to login has_spacer_name = user.user_name != None and user.user_name != '' has_password = user.hasPassword() # print("has spacer name? %s" % has_spacer_name) # print("has password? %s" % has_password) if has_password: if password_provided: if not user.is_verified: return Response( { 'code': 4, 'debug': 'Please check your email and click the link to verify your email addresss.\n Then tap the button below to continue.' }, status=status.HTTP_200_OK) # password was provided, login! if user.is_verified: if has_spacer_name: if is_null_or_empty(request.data["id"]): return Response( {'details': 'signin_password_empty'}, status=status.HTTP_400_BAD_REQUEST) if is_null_or_empty(request.data["password"]): return Response( {'details': 'signin_password_empty'}, status=status.HTTP_400_BAD_REQUEST) # delete old signup code try: signup_code = SignupCode.objects.get(user=user) signup_code.delete() except SignupCode.DoesNotExist: pass # Login account = wrapper.Authemail() account.base_uri = "%s/api" % settings.SERVER_URL response = account.login( email=request.data["id"], password=request.data["password"]) if 'token' in response: response['code'] = 0 response['debug'] = 'Logged in' user.signin_method = SpaceoutUser.SIGNIN_EMAIL user.save() return Response(response, status=status.HTTP_200_OK) else: # not authorized return Response( status=status.HTTP_401_UNAUTHORIZED) else: if spacer_name_provided: if is_null_or_empty(request.data["id"]): return Response( {'details': 'signin_password_empty'}, status=status.HTTP_400_BAD_REQUEST) if is_null_or_empty(request.data["password"]): return Response( {'details': 'signin_password_empty'}, status=status.HTTP_400_BAD_REQUEST) # Login account = wrapper.Authemail() account.base_uri = "%s/api" % settings.SERVER_URL response = account.login( email=request.data["id"], password=request.data["password"]) if 'token' in response: # save spacer name try: spacer = SpaceoutUser.objects.get( user_name=request.data["user_name"] ) return Response( { 'code': 6, 'debug': "signin_spacername_already_exist" }, status=status.HTTP_200_OK) except SpaceoutUser.DoesNotExist: if is_null_or_empty( request.data["user_name"]): return Response( { 'details': 'signin_spacername_empty' }, status=status. HTTP_400_BAD_REQUEST) user.user_name = request.data[ "user_name"] user.signin_method = SpaceoutUser.SIGNIN_EMAIL user.save() response['code'] = 0 response['debug'] = 'Logged in' return Response( response, status=status.HTTP_200_OK) else: # not authorized return Response( status=status.HTTP_401_UNAUTHORIZED) else: # user has spacer name return Response( { 'code': 5, 'spacer_suggestion': generate_random_name(user.email), 'debug': "Create your Spacer Name (or use our suggestion) to finish creating your account" }, status=status.HTTP_200_OK) else: # user not verified return Response( { 'code': 4, 'debug': "Please check your email and click the link to verify your email addresss.\n Then tap the button below to continue." }, status=status.HTTP_200_OK) else: # no password provided return Response( { 'code': 2, 'debug': "Email Sign In, enter your password" }, status=status.HTTP_200_OK) else: # user has no password, ask for a password return Response( { 'code': 3, 'debug': "An account already exists for this email address.\n Please sign in using a method used before.\n (Once signied in, you can add a password in Account Settings menu.)" }, status=status.HTTP_200_OK) except SpaceoutUser.DoesNotExist: # user do not exist, trying to sign up if password_provided: if is_null_or_empty(request.data["id"]): return Response({'details': 'signin_password_empty'}, status=status.HTTP_400_BAD_REQUEST) if is_null_or_empty(request.data["password"]): return Response({'details': 'signin_password_empty'}, status=status.HTTP_400_BAD_REQUEST) new_user = SpaceoutUser.objects.create_user( email=request.data["id"]) new_user.set_password(request.data["password"]) new_user.play_intro = True new_user.save() send_signup_email(new_user, request) return Response( { 'code': 4, 'debug': 'Please check your email and click the link to verify your email addresss.\n Then tap the button below to continue.' }, status=status.HTTP_200_OK) return Response( { 'code': 1, 'debug': 'No account exists for this email address.\n Enter a new password to create a new account!' }, status=status.HTTP_200_OK)