def password_reset_form(request, verification_key): """ Password reset form """ if request.user.is_authenticated(): return HttpResponseRedirect(reverse('home')) user_profile = get_object_or_404(UserProfile, verification_key=verification_key) naive_date = user_profile.key_expires.replace(tzinfo=None) if naive_date < datetime.datetime.today(): return render_to_response('expired.html', context_instance=RequestContext(request)) user_account = user_profile.user temp_password = create_key(user_account.username, 2) user_account.set_password(temp_password) user_account.save() user = authenticate(username=user_account.username, password=temp_password) if user is not None: if user.is_active: login(request, user) else: return HttpResponse("This account is inactive.") #remove reset key user_profile.verification_key = "" user_profile.save() reset_form = PasswordResetForm() return render_to_response('password_reset_form.html', context_instance=RequestContext( request, {"reset_form": reset_form}))
def save_decision(self): response = reply_object() #try: if True: seller_request = SellerRequest.objects.get( pk=self.cleaned_data["seller_request_id"]) if self.cleaned_data["decision"] == settings.\ SELLER_REQUEST_STATUS["APPROVED"]: key_object = create_key(seller_request.email, 2) seller_request.approval_key = key_object["key"] seller_request.key_expires = key_object["expiry"] seller_request.status = settings.SELLER_REQUEST_STATUS[ "APPROVED"] seller_request.save() response["request_status"] = settings.SELLER_REQUEST_STATUS[ "APPROVED"] response["code"] = settings.APP_CODE["CALLBACK"] send_seller_approval_email(seller_request.email, key_object["key"]) elif self.cleaned_data["decision"] == settings.\ SELLER_REQUEST_STATUS["REJECTED"]: seller_request.status = settings.SELLER_REQUEST_STATUS[ "REJECTED"] seller_request.save() response["request_status"] = settings.SELLER_REQUEST_STATUS[ "REJECTED"] response["code"] = settings.APP_CODE["CALLBACK"] else: response["code"] = settings.APP_CODE["INVALID REQUEST"] #except: # response["code"] = settings.APP_CODE["SYSTEM ERROR"] return response
def send_reset_link(self): response = reply_object() user = User.objects.get(email=self.cleaned_data["email"]) if not user.is_active: response["code"] = settings.APP_CODE["SERVER MESSAGE"] response["server_message"] = "This account is inactive. Please contact site administrator" return response profile = user.get_profile() key_object = create_key(user.username, 2) profile.verification_key = key_object["key"] profile.key_expires = key_object["expiry"] send_password_reset_email(user.email, key_object["key"]) profile.save() response["code"] = settings.APP_CODE["CALLBACK"] return response
def send_reset_link(self): response = reply_object() user = User.objects.get(email=self.cleaned_data["email"]) if not user.is_active: response["code"] = settings.APP_CODE["SERVER MESSAGE"] response[ "server_message"] = "This account is inactive. Please contact site administrator" return response profile = user.get_profile() key_object = create_key(user.username, 2) profile.verification_key = key_object["key"] profile.key_expires = key_object["expiry"] send_password_reset_email(user.email, key_object["key"]) profile.save() response["code"] = settings.APP_CODE["CALLBACK"] return response
def create_user_profile(sender, instance, created, **kwargs): """ Signal for creating a new profile and setting activation key """ if created: profile = UserProfile.objects.create(user=instance) if settings.EMAIL_VERIFICATION_REQUIRED: key_object = create_key(instance.username, 2) profile.verification_key = key_object["key"] profile.key_expires = key_object["expiry"] send_activation_email(instance.email, key_object["key"]) profile.save() return
def seller_request_email(sender, instance, created, **kwargs): """ Signal for sending an email when status is changed """ if created: return seller_request = instance if not instance.send_notification: return if seller_request.status.name == settings.SELLER_REQUEST_STATUS["APPROVED"]: key_object = create_key(seller_request.email, 2) seller_request.send_notification = False seller_request.approval_key = key_object["key"] seller_request.key_expires = key_object["expiry"] seller_request.save() send_seller_approval_email(seller_request.email, key_object["key"]) return