def news_detail(request, slug): about = About.objects.all() existing_order = get_user_pending_order(request) banner = Banner.objects.get(title='news-detail') news = New.objects.get(slug=slug) recent = New.objects.order_by() form = CommentForm() form_reply = RelpayForm(instance=news) if request.method == 'POST': form = CommentForm(request.POST) form_reply = RelpayForm(request.POST, instance=news) if form.is_valid() and form_reply.is_valid(): form.save() form_reply.save() comments = New.objects.all() context = { 'news': news, 'form': form, 'comments': comments, 'about': about, 'banner': banner, 'order': existing_order, } return render(request, 'news/news-detail.html', context)
def detail_view(request, pk): template = 'shop/product_detail.html' img = Images.objects.filter(product=pk) existing_order = get_user_pending_order(request) reviews = Review.objects.filter(product=pk) filtered_orders = Order.objects.filter(owner=request.user.profile, is_ordered=False) current_order_products = [] if filtered_orders.exists(): user_order = filtered_orders[0] user_order_items = user_order.items.all() current_order_products = [ product.product for product in user_order_items ] product = get_object_or_404(Product.objects.all(), pk=pk) # get ProductOrderItemForm context = { 'product': product, 'img': img, 'reviews': reviews, 'order': existing_order, 'current_order_products': current_order_products, # 'images': Images.objects.filter(slug__iexact=img) } return render(request, template, context)
def home(request): category = Category.objects.all() product = Product.objects.all() existing_order = get_user_pending_order(request) Featured = Product.objects.filter(status='Featured') On_Sale = Product.objects.filter(status='On_Sale') Best_Rated = Product.objects.filter(status='Best_Rated') Best_Seller = Product.objects.filter(status='Best_Seller') DOF = Product.objects.filter(status='DOF') In_Stock = Product.objects.filter(status='In_Stock') # home = Product.objects.filter(Category_id=3) context = { 'categories': category, 'product': product, 'On_Sale': On_Sale, 'Featured': Featured, 'Best_Seller': Best_Seller, 'DOF': DOF, 'Best_Rated': Best_Rated, 'In_Stock': In_Stock, 'order': existing_order } return render(request, 'home/index.html', context)
def music_detail(request): existing_order = get_user_pending_order(request) template = 'music/music-detail.html' context = { 'order': existing_order, } return render(request, template, context)
def event_detail(request, slug): about = About.objects.all() existing_order = get_user_pending_order(request) event = Event.objects.get(slug=slug) banner = Banner.objects.get(title='event-detail') context = { 'event': event, 'about': about, 'banner': banner, 'order': existing_order, } return render(request, 'event/event-detail.html', context)
def payment_done(request): order_to_purchase = get_user_pending_order(request) order_to_purchase.is_ordered = True order_to_purchase.date_ordered = datetime.datetime.now() order_items = order_to_purchase.items.all() pincode = DeliveryLocation.objects.get(user_name=request.user) url = 'http://127.0.0.1:7000/ordered_log/' profile = Profile.objects.get(user_name=request.user) for item in order_items: product = Product.objects.get(prod_name=item.product) product.stock -= item.qty if item.delivery_cost > 0: print('before delivery options') d = DeliveryOptions.objects.get(product=product, cost=item.delivery_cost, location=pincode.location) print('entring json dump') data = json.dumps( {'name': d.name_id, 'product': d.product.id, 'location': pincode.location, 'pincode': pincode.pin_code, 'prod_name': d.product.prod_name, 'address': profile.address, 'phonenum': profile.phone_number, 'customer_name': request.user.username, 'mail': request.user.email, 'order_id': order_to_purchase.ref_code}) print('requesting') requests.post(url=url, data=data) product.save() order_items.update(is_ordered=True, date_ordered=datetime.datetime.now()) u = User.objects.get(pk=request.user.pk) profile = Profile.objects.get(user_name=u) transaction = Transaction(profile=profile, order_id=order_to_purchase.ref_code, amount=order_to_purchase.get_cart_total(), success=True) transaction.save() order_to_purchase.save() subject = 'Your order has been successfully placed' context = { 'ordre': order_to_purchase, 'user': request.user, 'total': order_to_purchase.get_cart_total(), } html = render_to_string('cart/message.html', context) message = render_to_string('cart/message.html', context) email_from = settings.EMAIL_HOST_USER recipient_list = [request.user.email] send_mail(subject, message, email_from, recipient_list, fail_silently=False, html_message=html) messages.info(request, "Thank you! Your purchase was successful!") return render(request, 'payment/done.html', {'Shopping': 'active'})
def album_detail(request, slug): song = Song.objects.all() existing_order = get_user_pending_order(request) about = About.objects.all() album = Album.objects.get(slug=slug) banner = Banner.objects.get(title='album-detail') context = { 'song': song, 'album': album, 'about': about, 'banner': banner, 'order': existing_order, } return render(request, 'album/album-detail.html', context)
def shop_detail(request, slug): banner = Banner.objects.get(title='shop-detail') about = About.objects.all() existing_order = get_user_pending_order(request) shop = Shop.objects.get(slug=slug) related = Shop.objects.exclude(slug=slug)[:3] context = { 'shop': shop, 'about': about, 'related': related, 'banner': banner, 'order': existing_order, } return render(request, 'shop/shop-detail.html', context)
def home(request): event = Event.objects.all() album = Album.objects.all() news = New.objects.all() about = About.objects.all() photo = Gallery.objects.all()[1:6] existing_order = get_user_pending_order(request) context = { 'events': event, 'albums': album, 'news': news, 'about': about, 'photos': photo, 'order': existing_order, } return render(request, 'home/home.html', context)
def music_list(request): existing_order = get_user_pending_order(request) music = Music.objects.all() banner = Banner.objects.get(title='music') paginator = Paginator(music, 10) # Show 25 contacts per page. page_number = request.GET.get('page') page_obj = paginator.get_page(page_number) template = 'music/music-list.html' context = { 'order': existing_order, 'page_obj': page_obj, 'banner': banner, 'music': music } return render(request, template, context)
def contact(request): existing_order = get_user_pending_order(request) about = About.objects.all() banner = Banner.objects.get(title='contact') form = ContactModelForm() if request.method == 'POST': form = ContactModelForm(request.POST) if form.is_valid(): form.save() context = { 'form': form, 'about': about, 'banner': banner, 'order': existing_order, } return render(request, 'contact/contact.html', context)
def news(request): about = About.objects.all() news = New.objects.all() paginator = Paginator(news, 10) # Show 25 contacts per page. page_number = request.GET.get('page') page_obj = paginator.get_page(page_number) existing_order = get_user_pending_order(request) banner = Banner.objects.get(title='news') context = { 'news': news, 'about': about, 'banner': banner, 'order': existing_order, 'page_obj': page_obj, } return render(request, 'news/news-list.html', context)
def album(request): existing_order = get_user_pending_order(request) album = Album.objects.all() about = About.objects.all() paginator = Paginator(album, 10) # Show 25 contacts per page. page_number = request.GET.get('page') page_obj = paginator.get_page(page_number) banner = Banner.objects.get(title='album') context = { 'albums': album, 'about': about, 'banner': banner, 'order': existing_order, 'page_obj': page_obj, } return render(request, 'album/album-list.html', context)
def shop(request): about = About.objects.all() shop = Shop.objects.all() existing_order = get_user_pending_order(request) banner = Banner.objects.get(title='shop') paginator = Paginator(shop, 10) # Show 25 contacts per page. page_number = request.GET.get('page') page_obj = paginator.get_page(page_number) context = { 'shops': shop, 'about': about, 'banner': banner, 'order': existing_order, 'page_obj': page_obj, } return render(request, 'shop/shop.html', context)
def event_list(request): about = About.objects.all() event = Event.objects.all() paginator = Paginator(event, 10) # Show 25 contacts per page. page_number = request.GET.get('page') page_obj = paginator.get_page(page_number) existing_order = get_user_pending_order(request) banner = Banner.objects.get(title='event-list') context = { 'events': event, 'about': about, 'banner': banner, 'order': existing_order, 'page_obj': page_obj, } return render(request, 'event/event-list.html', context)
def payment_done(request): order_to_purchase = get_user_pending_order(request) order_to_purchase.is_ordered = True order_to_purchase.date_ordered = datetime.datetime.now() order_to_purchase.save() order_items = order_to_purchase.items.all() for item in order_items: product = Product.objects.get(prod_name=item.product) product.stock -= item.qty product.save() order_items.update(is_ordered=True, date_ordered=datetime.datetime.now()) u = User.objects.get(pk=request.user.pk) profile = Profile.objects.get(user_name=u) transaction = Transaction(profile=profile, order_id=order_to_purchase.ref_code, amount=order_to_purchase.get_cart_total(), success=True) transaction.save() subject = 'Your order has been successfully placed' context = { 'ordre': order_to_purchase, 'user': request.user, 'total': order_to_purchase.get_cart_total(), } html = render_to_string('cart/message.html', context) message = render_to_string('cart/message.html', context) email_from = settings.EMAIL_HOST_USER recipient_list = [request.user.email] send_mail(subject, message, email_from, recipient_list, fail_silently=False, html_message=html) messages.info(request, "Thank you! Your purchase was successful!") return render(request, 'payment/done.html', {'Shopping': 'active'})
def list_view(request): template = 'shop/product_list.html' product = Product.objects.all() existing_order = get_user_pending_order(request) benar = Benar.objects.all() category = Category.objects.all() # get_banner = Benar.objects.get(id=benar.id) paginator = Paginator(product, 20) # Show 25 contacts per page. page_number = request.GET.get('page') page_obj = paginator.get_page(page_number) context = { 'categories': category, 'page_obj': page_obj, 'product': product, 'benar': benar, 'order': existing_order, } return render(request, template, context)
def contact(request): template = 'contact/contact.html' category = Category.objects.all() existing_order = get_user_pending_order(request) context = {'categories': category, 'order': existing_order} return render(request, template, context)