def show_product(request, product_slug, template_name="catalog/product.html"):
    p = get_object_or_404(Product, slug=product_slug)
    categories = p.categories.filter(is_active=True)
    page_title = p.name
    meta_keywords = p.meta_keywords
    meta_description = p.meta_description
    
    if request.method == 'POST':
# add to cart ... create the bound form
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request,postdata)
# check if posted data is valid
        if form.is_valid():
            cart.add_to_cart(request)
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            url = urlresolvers.reverse('show_cart')
            return HttpResponseRedirect
    else:
        form = ProductAddToCartForm(request=request, label_suffix=':')
        
    form.fields['product_slug'].widget.attrs['value'] = product_slug
    request.session.set_test_cookie()
    return render_to_response(template_name, locals(),
        context_instance=RequestContext(request))
Beispiel #2
0
def show_product(request, product_slug):
    product = get_object_or_404(Product, slug=product_slug)
    #categories=product.categories.filter(is_active=True)
    categories = Category.objects.all()
    # need to evaluate the HTTP method
    if request.method == 'POST':
        # add to cart...create the bound form
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        #check if posted data is valid
        if form.is_valid():
            #add to cart and redirect to cart page
            cart.add_to_cart(request)
        # if test cookie worked, get rid of it
        if request.session.test_cookie_worked():
            request.session.delete_test_cookie()
        url = urlresolvers.reverse('show_cart')

        return HttpResponseRedirect(url)
    # it is a GET, create the unbound form. Note request as a kwarg
    else:
        form = ProductAddToCartForm(request=request, label_suffix=':')
    # assign the hidden input the product slug
    form.fields['product_slug'].widget.attrs['value'] = product_slug
    # set the test cookie on our first GET request
    request.session.set_test_cookie()
    context = {'categories': categories,'product': product, 'form':form}
    return render(request, 'product.html', context)
Beispiel #3
0
def product(request, category_slug, product_slug, template_name="spiritbuzz/product.html"):
    # Request our context from the request passed to us.

    p = get_object_or_404(Product, slug = product_slug)
    #categories = p.categories.all()
    page_title = p.name
    meta_keywords = p.meta_keywords
    meta_description = p.meta_description
    stats.log_product_view(request, p)
    product_reviews = ProductReview.approved.filter(product = p).order_by('-date')
    review_form = ProductReviewForm()
    #form = ProductAddToCartForm()
    if request.method == 'POST':
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        if form.is_valid():

            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            cart.add_to_cart(request)
            url = urlresolvers.reverse('show_cart')
            return HttpResponseRedirect(url)


    else:
        form = ProductAddToCartForm(request = request, label_suffix = ':')
    form.fields['product_slug'].widget.attrs['value'] = product_slug


    request.session.set_test_cookie()


    return render_to_response(template_name, locals(), context_instance = RequestContext(request))
def show_product(request, product_slug):
    template_name="catalog/product.html"
    print(product_slug)
    p = get_object_or_404(Product, slug=product_slug)
    page_title = p.title
    # evaluate the HTTP method, change as needed
    if request.method == 'POST':
        #create the bound form
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        #check if posted data is valid
        if form.is_valid():
            #add to cart and redirect to cart page
            cart.add_to_cart(request)
            # if test cookie worked, get rid of it
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            url = reverse('show_cart')
            return HttpResponseRedirect(url)
    else:
        #create the unbound form. Notice the request as a keyword argument
        form = ProductAddToCartForm(request=request, label_suffix=':')
    # assign the hidden input the product slug
    form.fields['product_slug'].widget.attrs['value'] = product_slug
    # set test cookie to make sure cookies are enabled
    request.session.set_test_cookie()
    #return render_to_response(template_name, locals(), context_instance=RequestContext(request))

    context = {'p': p, 'page_title': p.title, 'form': form}
    return render(request, template_name, context)
Beispiel #5
0
def show_product(request, product_slug, template_name="meadery/product.html"):
    p = get_object_or_404(Product, slug=product_slug)
    cname = [name for (value, name) in Product.MEAD_VIEWS if value == p.category][0]
    page_title = p.name
    # need to evaluate the HTTP method
    if request.method == 'POST':
        # add to cart...create the bound form
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        # check if posted data is valid
        if form.is_valid():
            add_to_cart(request)
            # if test cookie worked, get rid of it
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            url = reverse('cart:show_cart')
            return HttpResponseRedirect(url)
    else:
        # it's a GET, create the unbound form. Note request as a kwarg
        form = ProductAddToCartForm(request=request, label_suffix=':')
    # assign the hidden input the product slug
    form.fields['product_slug'].widget.attrs['value'] = product_slug
    # set the test cookie on our first GET request
    request.session.set_test_cookie()
    # log product view
    stats.log_product_view(request, p)
    # don't forget product reviews
    product_reviews = ProductReview.approved.filter(product=p).order_by('-date')
    review_form = ProductReviewForm()

    return render(request, 'meadery/product.html', locals())
Beispiel #6
0
def show_product(request, product_slug, template_name='catalog/product.html'):
	p = get_object_or_404(Product, slug=product_slug)
	categories = p.categories.filter(is_active=True)
	page_title = p.name
	meta_keywords = p.meta_keywords
	meta_description = p.meta_description

	# evaluate the HTTP method
	if request.method == 'POST':
		postdata = request.POST.copy()
		form = ProductAddToCartForm(request, postdata)
		# cart_item = CartItem()
		# my_form = ProductAddToCartForm(request, request.POST, instance=cart_item)
		# check if posted data is valid 
		if form.is_valid():
			# add to cart and redirect to cart page
			cart.add_to_cart(request)

			# if test cookie worked, get rid of it
			if request.session.test_cookie_worked():
				request.session.delete_test_cookie()

			url = urlresolvers.reverse('cart:show_cart')
			return HttpResponseRedirect(url)
		# return render(request,'catalog/forerror.html',{'form':form})
	else:
		form = ProductAddToCartForm(request=request,label_suffix=':')

	# assign the hidden input the product slug
	form.fields['product_slug'].widget.attrs['value'] = p.slug

	# set the test cookie on our first GET request
	request.session.set_test_cookie()
	return render(request, template_name,{'page_title':page_title,'categories':categories,'p':p,'form':form})
Beispiel #7
0
def show_product(request, product_slug, template_name="catalog/product.html"):
    product = get_object_or_404(Product, slug=product_slug)
    categories = product.categories.all()
    page_title = product.name
    stats.log_product_view(request, product)

    meta_keywords = product.meta_keywords
    meta_description = product.meta_description
    if request.method == 'POST':
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
   
        if form.is_valid():
            cart.add_to_cart(request)
        # if test cookie worked, get rid of it
        if request.session.test_cookie_worked():
            request.session.delete_test_cookie()
        url = urlresolvers.reverse('show_cart')
        return HttpResponseRedirect(url)
    else:
        form = ProductAddToCartForm(request=request, label_suffix=':')
        
    form.fields['product_slug'].widget.attrs['value'] = product_slug
    request.session.set_test_cookie()
    product_reviews = ProductReview.approved.filter(product=product).order_by('-date')
    review_form = ProductReviewForm()
    return render_to_response("catalog/product.html", locals(),
        context_instance=RequestContext(request))
Beispiel #8
0
def show_product(request, product_slug, template_name="catalog/product.html"):
    p = get_object_or_404(Product, slug=product_slug)
    categories = p.categories.filter(is_active=True)
    page_title = p.name
    meta_keywords = p.meta_keywords
    meta_description = p.meta_description
    stats.log_product_view(request, p) # add to product view
    product_reviews = ProductReview.approved.filter(product=p).order_by('-date') 
    review_form = ProductReviewForm()  
    if request.method == 'POST':
        # add to cart…create the bound form
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        #check if posted data is valid
        if form.is_valid():
        #add to cart and redirect to cart page
            cart.add_to_cart(request)
            # if test cookie worked, get rid of it
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            url = urlresolvers.reverse('show_cart')
            return HttpResponseRedirect(url)  
    else:
        # it’s a GET, create the unbound form. Note request as a kwarg
        form = ProductAddToCartForm(request=request, label_suffix=':')
        # assign the hidden input the product slug
        form.fields['product_slug'].widget.attrs['value'] = product_slug
        # set the test cookie on our first GET request
        request.session.set_test_cookie()
        return render_to_response("catalog/product.html", locals(), context_instance=RequestContext(request)) 
        
    return render_to_response(template_name, locals(),context_instance=RequestContext(request))  
Beispiel #9
0
def show_product(request, product_slug):
    p = get_object_or_404(Product, slug = product_slug)
    categories = p.categories.filter(is_active=True)
    page_title = p.name
    meta_keywords = p.meta_keywords
    meta_description = p.meta_description
    active_categories = Category.objects.filter(is_active=True)

    if request.method == 'POST':
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        # if form data valid
        if form.is_valid():
            # add product to cart and redirect
            cart.add_to_cart(request)
            # if test cookie worked get rid of it
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            url = urlresolvers.reverse('show_cart')
            return HttpResponseRedirect(url)
    else:
        form = ProductAddToCartForm(request=request, label_suffix=':')
        form.fields['product_slug'].widget.attrs['value'] = product_slug
        request.session.set_test_cookie()
        return render(request, 'catalog/product.html', locals())
Beispiel #10
0
def show_product(request, product_slug, template_name="catalog/product_page.html"):
  """Renders the product view, on POST adds product to cart
  """
  p = get_object_or_404(Product, slug=product_slug)
  context = set_context(request, {
    'product': p,
    # 'categories': p.categories.filter(is_active=True),
    'categories': p.categories.all(),
    'page_title': p.name,
    'meta_keywords': p.meta_keywords,
    'meta_description': p.meta_description,
  })

  if request.method == 'POST':
    # add to cart...create the bound form
    postdata = request.POST.copy()
    form = ProductAddToCartForm(request, postdata)

    # check if posted data is valid
    if form.is_valid():
      # add to cart and redirect to cart page
      cart.add_to_cart(request)

      # if test cookie worked, get rid of it
      if request.session.test_cookie_worked():
        request.session.delete_test_cookie()

      # redirect user to cart view
      url = urlresolvers.reverse('show_cart')
      return HttpResponseRedirect(url)
  else:
    # GET request, note the request as a kwarg
    form = ProductAddToCartForm(request=request, label_suffix=':')

  # assign the hidden input the product slug
  form.fields['product_slug'].widget.attrs['value'] = product_slug

  # add form to context
  context['form'] = form

  # set the test cookie on our first GET request
  request.session.set_test_cookie()

  return render(request, template_name, context)
Beispiel #11
0
def show_product(request, product_slug, template_name="catalog/product.html"):
    p = get_object_or_404(Product, slug=product_slug)
    categories = p.categories.filter(is_active=True)
    title = p.name
    if request.method == "POST":
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        if form.is_valid():
            cart.add_to_cart(request)
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            url = urlresolvers.reverse('show_cart')
            return redirect(url)
    else:
        form = ProductAddToCartForm(request=request, label_suffix=":")

    form.fields['product_slug'].widget.attrs['value'] = product_slug
    request.session.set_test_cookie()
    return render_to_response("catalog/product.html", locals(), context_instance=RequestContext(request))
Beispiel #12
0
def product(request, product_slug, template_name="product-details.html"):
    product = get_object_or_404(Product, slug=product_slug)
    categories = Category.objects.filter(is_active=True)
    page_title = product.name
    brands = Brand.objects.filter(is_active=True)
    cart_distinct = cart.cart_distinct_item_count(request)
    if request.method == 'POST':
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        if True:  # form.is_valid():
            cart.add_to_cart(request)
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            return HttpResponseRedirect('/cart/')
    else:
        form = ProductAddToCartForm(request=request, label_suffix=':')

    form.fields['product_slug'].widget.attrs['value'] = product_slug
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
Beispiel #13
0
def show_product(request, product_slug, template_name="catalog/product.html"):
    if request.method == "POST":
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        if form.is_valid():
            '''add to cart and redirect to cart page'''
            cart.add_to_cart(request)
            return HttpResponseRedirect(reverse('show_cart'))
    else:
        '''get'''
        form = ProductAddToCartForm()
        form.fields['product_slug'].widget.attrs['value'] = product_slug
        product = get_object_or_404(Product, slug=product_slug)
        categories = product.categories.filter(is_active=True)
        page_title = product.name
        meta_keywords = product.meta_keywords
        meta_description = product.meta_description
        return render_to_response(template_name, locals(),
                                  context_instance=RequestContext(request))
Beispiel #14
0
def show_product(request, product_slug, template_name="catalog/product.html"):
	p = get_object_or_404(Product, slug=product_slug)
	categories = p.categories.filter(is_active=True)
	p_detail = SellerProduct.objects.filter(product=p)
	price = p.price
	old_price = p.old_price
	quantity = 0
	for detail in p_detail:
		#retriving total quantity of a product
		quantity += detail.quantity
	name = p.name
	brand = p.brand
	sku = p.sku
	image = p.image
	description = p.description
	
	meta_keywords = p.meta_keywords
	meta_description = p.meta_description
	# need to evaluate HTTP method
	if request.method == 'POST':
		#add item to the cart
		postdata = request.POST.copy()
		form = ProductAddToCartForm(request, postdata)
		# check if posted data is valid
		if form.is_valid():
			#add to cart and redirect to cart page
			cart.add_to_cart(request)
			# if test cookie worked, get rid of it
			if request.session.test_cookie_worked():
				request.session.delete_test_cookie()
			url = urlresolvers.reverse('show_cart')
			return HttpResponseRedirect(url)
	else:
		# its GET request 
		form = ProductAddToCartForm(request=request, label_suffix=':')
	# assign the hidden input the product slug
	form.fields['product_slug'].widget.attrs['value'] = product_slug
	# set the test cookie on our first GET request
	request.session.set_test_cookie()
	return render_to_response(template_name, locals(),
		context_instance=RequestContext(request))
Beispiel #15
0
def show_product(request, product_slug):
    p = get_object_or_404(Product, slug=product_slug)
    categories = p.categories.filter(is_active=True)
    page_title = p.name
    meta_keywords = p.meta_keywords
    meta_description = p.meta_description
    
    # need to evaluate the HTTP method
    if request.method == 'POST':
        # add to cart...create the bound form
        postdata = request.POST.copy()
        form =ProductAddToCartForm(request.POST,instance=ProductAddToCartForm.cart_item)
        #check if posted data is valid
        if form.is_valid():
            cart_item =form.save(commit=False)
            #cart_item.cart_id = get_cart_id_function()
            cart_item.product = Product.objects.get(slug=product_slug)
            cart_item.save()
            message="added to cart"
            #add to cart and redirect to cart page
            cart.add_to_cart(request)
            # if test cookie worked, get rid of it
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            url = reverse('show_cart')
            return HttpResponseRedirect(url)
    else:
        form=FProductAddToCartForm()
    # assign the hidden input the product slug as the value
    #
    form.fields['product_slug'].widget.attrs['value']=product_slug
    # set the test cookie on our first GET request
    request.session.set_test_cookie()
    
    from stats import stats
    stats.log_product_view(request, p) # add to product view
    product_reviews = ProductReview.approved.filter(product=p).order_by('-date')
    review_form = ProductReviewForm()
    return render_to_response("catalog/product.html", locals(),context_instance=RequestContext(request))
Beispiel #16
0
def home(request, page_number=1, template_name="shop.html"):
    categories = Category.objects.filter(is_active=True)
    brands = Brand.objects.filter(is_active=True)
    items = Product.objects.filter(is_active=True)

    current_page = Paginator(items, 12)
    cart_distinct = cart.cart_distinct_item_count(request)
    login = request.user.is_authenticated()

    if request.method == 'POST':
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        if True:  # form.is_valid()
            cart.add_to_cart(request)
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            return HttpResponseRedirect('/cart/')
    else:
        form = ProductAddToCartForm(request=request, label_suffix=':')

    items = current_page.page(page_number)
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
Beispiel #17
0
def show_product(request, slug, template_name="catalog/product.html"):
    p = get_object_or_404(Product, slug=slug)
    if request.method == 'POST':
        # add to cart...create the bound form
        post_data = request.POST.copy()
        form = ProductAddToCartForm(request, post_data)
        #check if posted data is valid
        if form.is_valid():
            #add to cart and redirect to cart page
            add_to_cart(request)
             # if test cookie worked, get rid of it
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            url = urlresolvers.reverse('show_cart')
            return HttpResponseRedirect(url)
    else:
        # it’s a GET, create the unbound form. Note request as a kwarg
        form = ProductAddToCartForm(request=request, label_suffix=':')
    # assign the hidden input the product slug
    form.fields['slug'].widget.attrs['value'] = slug
    # set the test cookie on our first GET request
    request.session.set_test_cookie()
    content = {"categories":p.categories.filter(is_active=True),"page_title":p.name,"meta_keywords":p.meta_keywords,"meta_description":p.meta_description,'p':p, 'form':form }
    return render(request,template_name,content)
Beispiel #18
0
def search(request, template_name = "catalog/subcategory.html"):
	currency_symbol = request.session.get('currency_symbol','$');
	currency_rate = request.session.get('currency_rate',1);
	getdata = request.GET.copy().urlencode()
	show_list_num = [3,6]
	show_num = 3
	paginator_page_range =[]
	page=request.GET.get('page')
	if(page==None):
		page=1	
	view_style = 'grid-view'
	if request.method == 'POST':
		postdata = request.POST.copy()
		print('===========')
		print(postdata['mode'])
		if(postdata['mode']=='add'):
			show_num = postdata['show_num']
			view_style = postdata['view_style']
			cart.add_to_cart(request)
			added_product = get_object_or_404(Product, slug=postdata.get('product_slug',''))
			action_mode = "add"
			# if request.session.test_cookie_worked():
			# 	request.session.delete_test_cookie()
		elif(postdata['mode']=='show_num'):
			show_num = postdata['show_num']
			view_style = postdata['view_style']
			page=1
			mode = "show_num"
	else:	
		action_mode = "search"
		# request.session.set_test_cookie()
		if(request.GET.get('view_style')==None):
			view_style = 'grid-view'
		else:
			view_style =request.GET.get('view_style')	
		if(request.GET.get('show_num')==None):
			show_num = 3
		else:
			show_num = request.GET.get('show_num')
	
	search_value = request.GET.get('search_value')
	mode = "search"
	if search_value:
		search_result = Product.objects.filter(
			Q(name__contains=search_value) | Q(slug__contains=search_value) | Q(brand__contains=search_value)
			)

		products = search_result
		product_list = search_result
	else:
		products = []
		product_list = []
	print('--------------------------------------')
	print(products)
	# product_items = serializers.serialize("json", products)
	# print(product_items)
	for p_item in products:
		p_item.price/=Decimal(currency_rate)
		p_item.price = math.floor(p_item.price*100)/100

	paginator = Paginator(products, show_num)
	try:
		products=paginator.page(page)
		current_page = int(page)
		if(current_page<3 or paginator.num_pages<3):
			p=1
			while current_page-p>0:
				paginator_page_range.append(p)
				p+=1
		else:
			paginator_page_range.append(current_page-2)
			paginator_page_range.append(current_page-1)
		if(paginator.num_pages>0):
			paginator_page_range.append(current_page)
		if(paginator.num_pages<current_page+3):
			p=1
			while Decimal(page)+p<=paginator.num_pages:
				paginator_page_range.append(current_page+p)
				p+=1
		else:
			paginator_page_range.append(current_page+1)
			paginator_page_range.append(current_page+2)
	except PageNotAnInteger:
		products=paginator.page(1)
		paginator_page_range.append(1)
		if(paginator.num_pages<3):
			for p in range(2,paginator.num_pages+1):
				paginator_page_range.append(p)
		else:
			paginator_page_range.append(2)
			paginator_page_range.append(3)
	except EmptyPage:
		products=paginator.page(paginator.num_pages)
	paginator_list = json.dumps(paginator_page_range)
	show_num = int(show_num)
	print('---show_num----')
	print(show_num)
	return render_to_response(template_name, locals(),context_instance=RequestContext(request))
Beispiel #19
0
def show_subcategory(request, subcategory_slug, template_name="catalog/subcategory.html"):
	getdata = request.GET.copy().urlencode()
	currency_symbol = request.session.get('currency_symbol','$')
	currency_rate = request.session.get('currency_rate',1)
	show_list_num = [3,6]
	show_num = 3
	subc = get_object_or_404(SubCategory, slug=subcategory_slug)
	products = subc.product_set.all()
	for p_item in products:
		p_item.price/=Decimal(currency_rate)
		p_item.price = math.floor(p_item.price*100)/100
		#wordwrap
		if len(p_item.description)>100:
			re_description = p_item.description
			p_item.description = re_description[0:100]+'...'
			print(len(p_item.description))
	page=request.GET.get('page')
	if(page == None):
		page=1
	paginator_page_range=[]
	view_style = 'grid-view'

	if request.method == 'POST':
		postdata = request.POST.copy()
		print(postdata)
		if(postdata['mode']=='add'):
			view_style = postdata['view_style']
			show_num = postdata['show_num']
			cart.add_to_cart(request)
			added_product = get_object_or_404(Product, slug=postdata.get('product_slug',''))
			action_mode = "add"
			# if request.session.test_cookie_worked():
			# 	request.session.delete_test_cookie()
		elif(postdata['mode']=='show_num'):
			view_style = postdata['view_style']
			show_num = postdata['show_num']
			page=1
			mode = "show_num"
	else:	
		mode = "view"
		if(request.GET.get('view_style')==None):
			view_style = 'grid-view'
		else:
			view_style =request.GET.get('view_style')	
		request.session.set_test_cookie()
		if(request.GET.get('show_num')==None):
			show_num = 3
		else:
			show_num = request.GET.get('show_num')
	paginator = Paginator(products, show_num)
	try:
		products=paginator.page(page)
		current_page = int(page)
		print(current_page)
		print('------------page_range-------------------')
		####################################
		if(current_page<3 or paginator.num_pages<3):
			p=1
			while current_page-p>0:
				paginator_page_range.append(p)
				p+=1
		else:
			paginator_page_range.append(current_page-2)
			paginator_page_range.append(current_page-1)
		if(paginator.num_pages>0):
			paginator_page_range.append(current_page)
		print(paginator_page_range)
		if(paginator.num_pages<current_page+3):
			print('small')
			p=1
			while Decimal(page)+p<=paginator.num_pages:
				paginator_page_range.append(current_page+p)
				p+=1
		else:
			print('else')
			paginator_page_range.append(current_page+1)
			paginator_page_range.append(current_page+2)
		###########################################
		print(paginator_page_range)
		# no_ref=(Decimal(page)-1)*1
	except PageNotAnInteger:
		products=paginator.page(1)
		paginator_page_range.append(1)
		print(paginator.num_pages)
		if(paginator.num_pages<3):
			for p in range(2,paginator.num_pages+1):
				paginator_page_range.append(p)
		else:
			paginator_page_range.append(2)
			paginator_page_range.append(3)
		print('------------PageNotAnInteger-------------------')
		print(paginator_page_range)
		# no_ref=0
	except EmptyPage:
		products=paginator.page(paginator.num_pages)

	paginator_list = json.dumps(paginator_page_range)
	show_num = int(show_num)
	print(paginator_list)
	page_title = subc.name
	meta_keywords = subc.meta_keywords
	meta_description = subc.meta_description
	cate = subc.categories.all()
	recent_category = {}
	for a in cate:
		recent_category = a
	path = [{'name' : recent_category.name, "slug" : recent_category.get_absolute_url},{'name' : subc.name, "slug" : subc.get_absolute_url}];
	active_category = recent_category.slug
	active_subcategory = subc.slug
	 # path[0] = {'name' : recent_category.name, "slug" : recent_category.slug};
	 # path[1] = {'name' : subc.name, "slug" : subcategory_slug};
	 # path_list = list(path)
	 # key = path[0].keys()
	 # print(path[0].get("name"))
	 # sql="SELECT SubCategory.name\
		# 	FROM (SubCategory, Category) \
		# 	Where SubCategory.name = "+subc.name+"book_manage.book_idtfy=lending_manage.book_idtfy AND student_manage.std_idtfy=lending_manage.std_idtfy \
		# 	ORDER BY lending_manage.id"
	# sql="SELECT lending_manage.id, student_manage.name, lending_manage.lending_date \
	# 		FROM student_manage \
	# 		INNER JOIN lending_manage ON student_manage.std_idtfy = lending_manage.std_idtfy;"
	# cursor=connection.cursor()
	# cursor.execute(sql)
	#///////////////////////////////////////////////
	c = get_object_or_404(Category, slug=recent_category.slug)
	subcategory = c.subcategory_set.all()
	return render_to_response(template_name, locals(),context_instance=RequestContext(request))
Beispiel #20
0
def show_product(request, product_slug, template_name="catalog/product.html"):
	# getdata = request.GET.copy()
	currency_symbol = request.session.get('currency_symbol','$');
	currency_rate = request.session.get('currency_rate',1);
	getdata = request.GET.copy().urlencode()
	currency_symbol = request.session.get('currency_symbol','$')
	p = get_object_or_404(Product, slug=product_slug)
	p.price/=Decimal(currency_rate)
	p.price = math.floor(p.price*100)/100
	
	search_value = request.GET.get('search_value')
	if search_value:
		search_result = Product.objects.filter(
			Q(name__contains=search_value) | Q(slug__contains=search_value) | Q(brand__contains=search_value)
			)
		products = search_result
		product_list = search_result
		mode="search"
		active_product = product_slug
	else:
		mode = 'view'
		subcategories = p.subcategories.filter(is_active=True)

		subc = {}
		for sc in subcategories:
			categories = sc.categories
			subc = sc
		for c in categories.all():
			category_slug = c.slug
		c = get_object_or_404(Category, slug=category_slug)

		subcategory = c.subcategory_set.all()

		path = [{'name' : c.name, "slug" : c.get_absolute_url},{'name' : subc.name, "slug" : subc.get_absolute_url},{'name' : p.name, "slug" : p.get_absolute_url}];
		active_category = c.slug
		active_subcategory = subc.slug

	

	page_title = p.name
	meta_keywords = p.meta_keywords
	meta_description = p.meta_description
	form = ProductAddToCartForm(request = request, label_suffix=':')
	form.fields['product_slug'].widget.attrs['value'] = product_slug
	
	# if request.method == 'GET':
	# 	getdata = request.GET.copy()
	# 	mode = getdata.get('mode','')
	# 	if mode == 'search':
	# 		search_value = mode = getdata.get('search_value','')
	# 		search_result = Product.objects.filter(Q(name__contains=search_value) | Q(slug__contains=search_value) | Q(brand__contains=search_value))
	# 		product_list = search_result
	# 		mode = 'search'
	# 		active_product = p.slug
	# 		active_category = ''
	# 		path = [{'name' : p.name, "slug" : p.get_absolute_url}];

	if request.method == 'POST':
		postdata = request.POST.copy()
		form = ProductAddToCartForm(request,postdata)
		if form.is_valid():
			cart.add_to_cart(request)
			added_product = get_object_or_404(Product, slug=postdata.get('product_slug',''))
			action_mode = "add"
			# if request.session.test_cookie_worked():
			# 	request.session.delete_test_cookie()
			# url = urlresolvers.reverse('show_cart')
			# return HttpResponseRedirect(url)
			return render_to_response(template_name, locals(),context_instance=RequestContext(request))
		else:
			print(form)
			form = ProductAddToCartForm(request = request, label_suffix=':')
		form.fields['product_slug'].widget.attrs['value'] = product_slug
		request.session.set_test_cookie()
		
	return render_to_response(template_name, locals(),context_instance=RequestContext(request))