Ejemplo n.º 1
0
def recover_password(request):
    print "RECOVER_PASSWORD"
    if request.method == "POST":
        recoverForm = RecoverForm(request.POST)
        if recoverForm.is_valid():
            # TODO send email to recoverFrom.cleaned_data['email'] with link to reset password containing reset_id
            email = recoverForm.cleaned_data["email"]
            customer = Customer.objects.filter(email=email).get()
            lst = [random.choice(string.ascii_letters + string.digits) for n in xrange(30)]

            customer.reset = "".join(lst)
            customer.save()

            subject, from_email = "Medicalquip.com Password Reset", "*****@*****.**"
            text_content = "This is an important message."
            html_content = loader.render_to_string("reset_password.html", {"customer": customer})
            text_content = html_content
            msg = EmailMultiAlternatives(subject, text_content, from_email, [email])
            msg.attach_alternative(html_content, "text/html")
            msg.send()
            return HttpResponseRedirect("/RecoverPassword/PasswordReset/")
        else:
            return render(
                request,
                "recover_password.html",
                view_data.get_2_plus_column_base_data(request).items() + {"form": recoverForm}.items(),
            )

    else:
        recoverForm = RecoverForm()
        return render(
            request,
            "recover_password.html",
            dict(view_data.get_2_plus_column_base_data(request).items() + {"form": recoverForm}.items()),
        )
Ejemplo n.º 2
0
def login(request):
    # check for redirect cookie and on successful login take them to the value URL
    # TODO
    redirect = None
    try:
        redirect = request.get_signed_cookie("redirect", salt="dog")
        request.delete_cookie("redirect")
        # del request.COOKIES['redirect']
    except:
        pass

    if "redirect" in request.COOKIES:
        print "redirect cookie not deleted"
    form = LoginForm(request.GET)
    if form.is_valid():
        request.session["user"] = form.cleaned_data["email"]
        if redirect:
            return HttpResponseRedirect(redirect)
        return HttpResponseRedirect("/")
    else:
        registerForm = RegisterForm()
        return render(
            request,
            "register.html",
            dict(
                view_data.get_2_plus_column_base_data(request).items()
                + {"login": form, "register": registerForm}.items()
            ),
        )
Ejemplo n.º 3
0
def search(request):
    products = []
    if'product_query' in request.GET:
        product_query = request.GET['product_query']
        products = view_data.search(product_query)
        
    categories = view_data.get_categories()
    return render(request,'product_search.html',dict(view_data.get_2_plus_column_base_data(request).items() + {'categories':categories,'products':products}.items()))
Ejemplo n.º 4
0
def checkout_shipping(request):
    checkout = None
    if 'checkout_id' in request.session:
        try:
            checkout = Checkout.objects.filter(id=request.session['checkout_id']).get()
        except:
            del request.session['checkout_id']
            
            
    return render(request, 'checkout_shipping.html', dict(view_data.get_2_plus_column_base_data(request).items() + {}.items()))
Ejemplo n.º 5
0
def register(request):
    if request.method == "POST":
        print "SUBMITTED REGISTER FORM"
        loginForm = LoginForm()
        registerForm = RegisterForm(request.POST)
        if registerForm.is_valid():
            data = registerForm.cleaned_data
            customer = Customer(
                first=data["first_name"],
                last=data["last_name"],
                email=data["email"],
                password=hashlib.sha224(data["password"]).hexdigest(),
            )
            customer.save()
            request.session["user"] = customer.email
            print "ABOUT TO REDIRECT TO /THANKS"
            return HttpResponseRedirect("/Thanks")
        else:
            return render(
                request,
                "register.html",
                dict(
                    view_data.get_2_plus_column_base_data(request).items()
                    + {"login": loginForm, "register": registerForm}.items()
                ),
            )

    else:  # user loaded register view without having submitted the form
        loginForm = LoginForm()
        registerForm = RegisterForm()
        return render(
            request,
            "register.html",
            dict(
                view_data.get_2_plus_column_base_data(request).items()
                + {"login": loginForm, "register": registerForm}.items()
            ),
        )
Ejemplo n.º 6
0
def category(request, category_id):
    try:
        category = Category.objects.filter(id=category_id).get()
        category_links = view_data.get_category_links(category=category)
        categories = view_data.get_categories(category_id)
        if(not categories):
            categories = view_data.get_categories()
        products = view_data.get_products_in_category(category,categories=categories)
        recent_products = view_data.get_recent_products(request)
        
    except Category.DoesNotExist:
        raise Http404
    
    
    return render(request, 'category.html', dict(view_data.get_2_plus_column_base_data(request).items() + {'category_links':category_links,'categories':categories,'products':products}.items()))
Ejemplo n.º 7
0
def make_new_password(request):
    print "MAKE NEW PASSWORD"
    if request.method == "POST":
        passwordForm = PasswordForm(request.POST)
        if passwordForm.is_valid():

            # find email from reset_id and change that customer's password
            password = hashlib.sha224(passwordForm.cleaned_data["password"]).hexdigest()
            url_reset_param = request.GET.get("reset", "reset get not found")
            print url_reset_param
            customer = None
            try:
                customer = Customer.objects.filter(reset=url_reset_param).get()
            except:
                print "Customer"
                pass
            if customer:
                customer.password = password
                customer.reset = ""
                customer.save()
            print "ABOUT TO REDIRECT"
            return HttpResponseRedirect("/ChangePassword/PasswordChanged/")
        else:
            return render(
                request,
                "make_new_password.html",
                dict(view_data.get_2_plus_column_base_data(request).items() + {"form": passwordForm}.items()),
            )

    else:
        passwordForm = PasswordForm()
        return render(
            request,
            "make_new_password.html",
            dict(view_data.get_2_plus_column_base_data(request).items() + {"form": passwordForm}.items()),
        )
Ejemplo n.º 8
0
def checkout(request):
    
    if not view_data.is_logged_in(request):
        response = HttpResponseRedirect("/Login/")
        response.set_signed_cookie("redirect", "/Cart/Checkout/", salt="dog")
        return response
        
    billing_form = None
    shipping_form = None
    cc_form = None
    
    #print "checkout customer user = "******"shipping_form":shipping_form,"cc_form":cc_form}.items())        
    #print dictionary
    return render(request, 'checkout2.html', dictionary)
Ejemplo n.º 9
0
def product(request, product_sku,attribute_sku=None):
    
    try:
        product = Product.objects.get(sku=product_sku)
        attribute_sku=product_sku
        view_data.add_product_to_recent(request,product)
#         recent_products = view_data.get_recent_products(request)
        category_links = view_data.get_category_links(product=product)
        attributes = Attribute.objects.filter(product=product).all()
            
        if 'attribute_sku' in request.GET:
            attribute_sku = request.GET['attribute_sku']
            attribute = Attribute.objects.filter(sku=attribute_sku).get()
            product.price = attribute.price
            product.description = attribute.description
            product.short_description = attribute.short_description
                
    except Product.DoesNotExist:
        raise Http404
    return render(request, 'product.html', dict(view_data.get_2_plus_column_base_data(request).items() + {'product': product,'attributes':attributes,'attribute_sku':attribute_sku,'category_links':category_links}.items()))
Ejemplo n.º 10
0
def my_cart(request):
    cart = None
    if("cart" in request.session):
        cart = json.loads(request.session['cart'])
    shopping_cart = []
    if cart:
        for item in cart:
            shopping_cart.append(CartItem(item['sku'], item['count']))
    
    subtotal = 0
    tax_total = 0  
    for item in shopping_cart:
        subtotal+=(item.product.price * item.count)
    subtotal = decimal.Decimal(subtotal)    
    subtotal = subtotal.quantize(decimal.Decimal('.01'), decimal.ROUND_05UP)
    
    tax_total = decimal.Decimal(subtotal * decimal.Decimal(.07))
    tax_total = tax_total.quantize(decimal.Decimal('.01'), decimal.ROUND_05UP)
    grand_total = subtotal + tax_total
    # make these things suitable for display
        
    return render(request, 'myCart.html', dict(view_data.get_2_plus_column_base_data(request).items() + {'cart':shopping_cart,'subtotal':subtotal,'tax_total':tax_total,'grand_total':grand_total}.items()))
Ejemplo n.º 11
0
def home(request):
    categories = view_data.get_categories()
    home_products = view_data.get_home_products()
            
    return render(request, 'home.html', dict(view_data.get_2_plus_column_base_data(request).items() + {'categories':categories,'products':home_products}.items()))
Ejemplo n.º 12
0
def sign_out(request):
    if "user" in request.session:
        del request.session["user"]

    return render(request, "signed_out.html", view_data.get_2_plus_column_base_data(request))
Ejemplo n.º 13
0
def register_thanks(request):

    return render(request, "register_thanks.html", view_data.get_2_plus_column_base_data(request))
Ejemplo n.º 14
0
def password_changed(request):

    return render(request, "password_changed.html", view_data.get_2_plus_column_base_data(request))
Ejemplo n.º 15
0
def password_reset(request):
    print "PASSWORD_RESET"

    return render(request, "password_reset.html", view_data.get_2_plus_column_base_data(request))