Esempio n. 1
0
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}))
Esempio n. 2
0
    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
Esempio n. 3
0
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}))
Esempio n. 4
0
 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
Esempio n. 5
0
 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
Esempio n. 6
0
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
Esempio n. 7
0
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
Esempio n. 8
0
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