Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from __future__ import unicode_literals
- from django.utils import timezone
- from django.shortcuts import render, get_object_or_404, redirect
- from .models import Item
- from django.contrib.auth import authenticate, login
- from django import forms
- from django.http import HttpResponse, HttpResponseRedirect
- from django.views.generic import DetailView
- from carton.cart import Cart
- from .forms import Search
- from django.core.mail import send_mail
- from random import randrange
- import time
- import datetime
- def item_list(request):
- items = Item.objects.filter(published_date__lte=timezone.now()).order_by('category')
- categories = []
- for item in items:
- categories.append(item.category)
- categories = set(categories)
- return render(request, 'shop/item_list.html',{'items' : items,'categories' : categories})
- def about(request):
- return render(request, 'shop/about.html')
- def contact(request):
- return render(request, 'shop/contact.html')
- def item_detail(request, pk):
- item = get_object_or_404(Item, pk=pk)
- return render(request, 'shop/item_detail.html',{'item' : item})
- def admin_login(request):
- username = request.POST['username']
- password = request.POST['password']
- user = authenticate(request, username=username, password=password)
- if user is not None:
- login(request, user)
- redirect('item_list')
- else:
- pass
- def add(request,pk):
- cart = Cart(request.session)
- item = get_object_or_404(Item, pk=pk)
- cart.add(item,price=item.price)
- items =Item.objects.filter(published_date__lte=timezone.now()).order_by('category')
- categories = []
- for item in items:
- categories.append(item.category)
- categories = set(categories)
- return render(request, 'shop/item_list.html',{'items' : items,'categories' : categories})
- def show(request):
- cart = Cart(request.session)
- items = Item.objects.filter(published_date__lte=timezone.now()).order_by('category')
- return render(request,'shop/cart.html',{'items': items })
- def remove(request):
- cart = Cart(request.session)
- items = Item.objects.filter(published_date__lte=timezone.now()).order_by('category')
- cart.clear()
- return render(request,'shop/cart.html',{'items':items})
- def removei(request,pk):
- cart = Cart(request.session)
- item = get_object_or_404(Item,pk=pk)
- items = Item.objects.filter(published_date__lte=timezone.now()).order_by('category')
- cart.remove(item)
- return render(request,'shop/cart.html',{'items':items})
- def success(request):
- return render(request,'shop/success.html')
- def technology(request):
- items = Item.objects.filter(published_date__lte=timezone.now())
- return render(request,'shop/technology.html',{'items' : items})
- def lifestyle(request):
- items = Item.objects.filter(published_date__lte=timezone.now())
- return render(request,'shop/lifestyle.html',{'items' : items})
- def search(request):
- if request.method == 'GET':
- query = request.GET['search'].lower()
- items = list(Item.objects.filter(title__icontains=query))
- items.extend(Item.objects.filter(category__icontains=query))
- count = len(items)
- return render(request,'shop/search.html',{'items' : items , 'count' : count})
- def grill(request):
- items = list(Item.objects.filter(title__icontains='grill'))
- items.extend(Item.objects.filter(description__icontains='grill'))
- items = set(items)
- return render(request,'shop/grills.html',{'items' : items})
- def fire_pits(request):
- items = list(Item.objects.filter(title__icontains='pit'))
- items.extend(Item.objects.filter(description__icontains='pit'))
- items = set(items)
- return render(request,'shop/grills.html',{'items' : items})
- def checkout(request):
- cart = Cart(request.session)
- tems = Item.objects.filter(published_date__lte=timezone.now()).order_by('category')
- t = []
- if request.method == 'POST':
- name = request.POST['name']
- email = request.POST['email']
- phone = request.POST['phone']
- address = request.POST['address']
- memo = request.POST['memo']
- for item in cart.items:
- for i in tems:
- if item.price == i.price:
- det = "Product: "+ str(i.title)+" \nAmount per piece: "+str(i.price)+"\nTotal Quantity: "+str(item.quantity)+"\n"
- t.append(det)
- t.append("\nTotal: ")
- t.append(str(cart.total))
- t = "\n".join(t[0:])
- da = str(datetime.datetime.now().strftime("%Y%m%d-%H%M-"))+str(randrange(10000,100000))
- send_mail(
- 'i-Shoppa ORDER: '+da,
- 'Hello '+ name+
- '! Your order '+da+' has been confirmed. We have received your order and will get back to you on '+
- 'your number, '+phone+', as soon as possible.\nThese are the Items you have requested: '+
- '\n\n Items \n\n'+
- t + "\n\nWe will get back to you and have a great day.\n\ni-Regards,\n\ni-Shoppa Team.",
- 'ishoppake@gmail.com',
- [email],
- fail_silently=True,
- )
- send_mail(
- 'i-Shoppa ORDER: '+da,
- '\nCustomer name : '+ name+
- '\nCustomer email : '+ email+
- '\nPhone: '+phone+"\nAddress: "+ address + "\nMemo: "+ memo +
- '\nItems \n\n'+
- '\n'+t,
- 'ishoppake@gmail.com',
- ['ishoppake@gmail.com'],
- fail_silently=True,
- )
- cart.clear()
- return render(request,'shop/success.html',{'code' : da , 'name' : name, 'email' : email, 'phone' : phone, 'address' : address})
- return render(request,'shop/checkout.html',{'tems': tems })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement