Beispiel #1
0
def update_cart(request):
    pending = ''
    qerror = ''
    from django.middleware.csrf import get_token
    csrf_token = get_token(request)
    reload = 'location.reload(true);'
    if request.method == 'POST':
        postdata = request.POST.copy()
        page_title = postdata['page_title']
        if postdata['submit'] == 'Remove':
            if pending_checker(request) == 0:
                pending = 'You have a pending transaction on this cart'
            else:
                cart.remove_from_cart(request)
        if postdata['submit'] == 'Update':
            if pending_checker(request) == 0:
                pending = 'You have a pending transaction on this cart'
            else:
                try:
                    int(postdata['quantity'])
                    cart.update_cart(request)
                except:
                    if cart.cart_distinct_item_count(request) > 0:
                        qerror = 'Invalid Quantity Value'
    paid = ''
    subtotal = cart.cart_subtotal(request)
    cart_items = cart.get_cart_items(request)
    cart_item_count = cart.cart_distinct_item_count(request)
    # Put this in here so that it cuts across all pages and it is related to cart. See function def for comments
    if bgprocess(request) == 0:
        paid = "(Paid)"
    cart_template = "tags/cart_box.html"
    cart_html = render_to_string(cart_template, locals())
    if len(pending) == 0 and len(qerror) == 0:
        cart_items = cart.get_cart_items(request)
        cart_subtotal = cart.cart_subtotal(request)
        template = "cart/cart_preview.html"
        html = render_to_string(template, locals())
        print(html)
        response = simplejson.dumps({
            'success': 'True',
            'html': html,
            'cart_html': cart_html
        })
    else:
        html = '<p class="errorlist">{{ qerror }}</p>'
        response = simplejson.dumps({'success': 'False', 'html': html})
    return HttpResponse(response,
                        content_type='application/javascript; charset=utf-8')
def cart_box(request):
  """Tag for shopping cart box
  """
  cart_item_count = cart.cart_distinct_item_count(request)
  return {
    'cart_item_count': cart_item_count
  }
Beispiel #3
0
def change_info(request, template_name="change-success.html"):
    success = "Не удалось сменить данные!"
    categories = Category.objects.filter(is_active=True)
    brands = Brand.objects.filter(is_active=True)
    cart_distinct = cart.cart_distinct_item_count(request)

    if (request.method=='POST'):
        phone = request.POST['username']
        username = ""
        num = ['0','1','2','3','4','5','6','7','8','9']
        for c in phone:
            if c in num:
                username+=c
        username = str(username)
        name = request.POST['first_name']
        address = request.POST['email']
        u = auth.models.User.objects.get(username=request.user.username)
        u.first_name = name
        u.email = address
        u.username = username

        try:
            u.save()
            success = "Данные изменены успешно!"
        except:
            success = "Такой номер телефона уже использует другой человек!"
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
Beispiel #4
0
def product_add_to_cart(request, template_name = "catalog/subcategory.html"):
	cart.add_to_cart(request)
	cart_items = serializers.serialize("json", cart.get_cart_items(request))
	cart_item_count = cart.cart_distinct_item_count(request)
	result = {'cart_items' : cart_items ,'cart_item_count' : cart_item_count}
	print(result)
	return HttpResponse(json.dumps(result),content_type='application/javascript; charset=utf-8')
Beispiel #5
0
def cart_item_change(request,template_name):
	print('cart_item_change')
	print(request.POST)
	cart.update_cart(request)
	print('updated')
	cart_items_list = []
	cart_items = cart.get_cart_items(request)
	# serializers.serialize("json", )
	cart_item_count = cart.cart_distinct_item_count(request)
	# result = {'cart_items' : cart_items ,'cart_item_count' : cart_item_count}
	print(cart_item_count)
	for c in cart_items:
		# print(c)
		item = {}
		item.setdefault('image',c.image())
		item.setdefault('name',c.name())
		item.setdefault('quantity',c.quantity)
		price = str(c.price())
		item.setdefault('unit_price',price)
		total = str(c.total())
		item.setdefault('total_price',total)
		item.setdefault('id',c.id)
		# print(item)
		cart_items_list.append(item)
	# print(cart_items_list)
	# cart_items = serializers.serialize("json", cart_items_list)
	# print(cart_items)
	result = {'cart_items' : cart_items_list ,'cart_item_count' : cart_item_count}
	print(json.dumps(result))
	print('++++++++++++++++++++++++++++++')
	return HttpResponse(json.dumps(result),content_type='application/javascript; charset=utf-8')
Beispiel #6
0
def get_cart_data(request, context={}):
    from cart import cart
    # expand : boolean; if true then the cart items will returned in dictionary along with values, else direct browsed objects will be returned
    cart_items = cart.get_cart_items(request)
    item_ids = []
    res = {'cart_items': {}}
    for item in cart_items:
        item_ids.append(item.product.id)
        res['cart_items'].update(get_item_deails(item))
    result_quantities = get_products_availability(item_ids)
    final_items_list = []
    for item in cart_items:
        available_qty = result_quantities.get(str(item.product_id),
                                              {'virtual_available': 0})
        res['cart_items'][item.id].update({'qty': available_qty})
        if canbe_checkedout(res['cart_items'][item.id]):
            final_items_list.append(item)
    cart_total = cart.get_cart_total(final_items_list)
    discount = cart.get_cart_discount(final_items_list, request)
    discount_percentage = cart.get_discount_percentage(cart_total, discount)
    net_total = round(cart.get_net_total(discount_percentage, cart_total), 2)
    cart_item_count = cart.cart_distinct_item_count(final_items_list)
    res.update({
        'cart_item_count': cart_item_count,
        'discount_percentage': discount_percentage,
        'discount': discount,
        'net_total': net_total,
        'cart_total': cart_total,
        'checkout_cart_items': final_items_list,
        'actual_cart_items': cart_items
    })
    return res
def cart_box_menu(request):
  """Tag for shopping cart box in menu bar
  """
  cart_item_count = cart.cart_distinct_item_count(request)
  cart_items = cart.get_cart_items(request)
  return {
    'cart_item_count': cart_item_count,
    'cart_items': cart_items
  }
Beispiel #8
0
def ecomstore(request):
    return {
        'site_name': settings.SITE_NAME,
        'meta_keywords': settings.META_KEYWORDS,
        'meta_description': settings.META_DESCRIPTION,
        'MEDIA_URL': settings.MEDIA_URL,
        'request': request,
        'cart_item_count': cart_distinct_item_count(request),
        'pending': pending_checker(request)
    }
Beispiel #9
0
def del_item(request, template_name="catalog/subcategory.html"):
    cart.remove_from_cart(request)
    cart_item_count = cart.cart_distinct_item_count(request)
    cart_subtotal = cart.cart_subtotal(request)
    result = {
        'cart_item_count': cart_item_count,
        'cart_subtotal': str(cart_subtotal)
    }
    print(result)
    return HttpResponse(json.dumps(result),
                        content_type='application/javascript; charset=utf-8')
Beispiel #10
0
def profile(request, template_name='profile.html'):
    user = auth.get_user(request)
    categories = Category.objects.filter(is_active=True)
    brands = Brand.objects.filter(is_active=True)
    cart_distinct = cart.cart_distinct_item_count(request)

    username = user.username

    u = auth.models.User.objects.get(username=username)
    first_name = u.first_name
    email = u.email

    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
Beispiel #11
0
def showForm(request, template_name='checkout.html'):
    if request.user.is_authenticated:
        try:
            u = auth.get_user(request)
            phone = u.username
            address = u.email
            name = u.first_name
        except:
            pass
    cart_distinct = cart.cart_distinct_item_count(request)
    categories = Category.objects.filter(is_active=True)
    brands = Brand.objects.filter(is_active=True)

    return HttpResponse(render_to_response(template_name, locals(), context_instance=RequestContext(request)))
Beispiel #12
0
def cart_box(request):
    paid = ''
    subtotal = cart.cart_subtotal(request)
    cart_items = cart.get_cart_items(request)
    cart_item_count = cart.cart_distinct_item_count(request)
    # Put this in here so that it cuts across all pages and it is related to cart. See function def for comments
    if bgprocess(request) == 0:
        paid = "(Paid)"
    return {
        'cart_item_count': cart_item_count,
        'paid': paid,
        'cart_items': cart_items,
        'subtotal': subtotal
    }
Beispiel #13
0
def show_cart(request, template_name="cart/cart.html"):
    if request.method == 'POST':
        post_data = request.POST.copy()
        if post_data['submit'] == 'Remove':
            cart.remove_from_cart(request)
        if post_data['submit'] == 'Update':
            cart.update_cart(request)
        if post_data['submit'] == 'Checkout':
            url = urlresolvers.reverse('show_checkout')
            return HttpResponseRedirect(url)

    cart_items = cart.get_cart_items(request)
    cart_item_count = cart.cart_distinct_item_count(request)
    cart_subtotal = cart.cart_subtotal(request)
    page_title = 'Shopping Cart'
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
Beispiel #14
0
def cart_box(request):
    currency_symbol = request.session.get('currency_symbol', '$')
    currency_rate = request.session.get('currency_rate', 1)
    cart_item_count = cart.cart_distinct_item_count(request)

    # return {'cart_item_count' : cart_item_count }
    cart_items = cart.get_cart_items(request)
    print('++++++++++++++++++++++++')
    for c_item in cart_items:
        c_item.price = math.floor(
            c_item.price() / decimal.Decimal(currency_rate) * 100) / 100
    cart_subtotal = cart.cart_subtotal(request)
    print(cart_subtotal)
    return {
        'cart_items': cart_items,
        'cart_item_count': cart_item_count,
        'cart_subtotal': cart_subtotal,
        'currency_symbol': currency_symbol
    }
Beispiel #15
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 #16
0
def change_password(request, template_name="change-success.html"):
    success = "Пароль сменить не удалось"
    categories = Category.objects.filter(is_active=True)
    brands = Brand.objects.filter(is_active=True)
    cart_distinct = cart.cart_distinct_item_count(request)

    if (request.method=='POST'):
        oldpassword = request.POST['oldpassword']
        newpassword = request.POST['newpassword']
        username = request.user.username
        user = auth.authenticate(username=username, password=oldpassword)
        if user is not None and user.is_active:
            u = auth.models.User.objects.get(username=username)
            u.set_password(newpassword)
            u.save()
            success = "Пароль успешно изменен!"
        else:
            success = "Неверно введен текущий пароль!"
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
Beispiel #17
0
def show_cart(request, template_name="cart/cart.html"):
    request.session.set_test_cookie()
    next1 = ''
    recent_views = stats.recommended_from_views(request)
    if request.method == 'POST':
        print(request.session['cart_id'])
        postdata = request.POST.copy()
        if postdata['submit'] == 'Remove':
            if pending_checker(request) == 0:
                url = reverse('show_checkout', args=['Lipa'])
                return HttpResponseRedirect(url)
            cart.remove_from_cart(request)
            next1 = request.GET.get('next', '')
            if len(next1) > 0:
                url = reverse('show_checkout', args=[next1])
                return HttpResponseRedirect(url)
        if postdata['submit'] == 'Update':
            if pending_checker(request) == 0:
                url = reverse('show_checkout', args=['Lipa'])
                return HttpResponseRedirect(url)
            try:
                int(postdata['quantity'])
                cart.update_cart(request)
                next1 = request.GET.get('next', '')
                if len(next1) > 0:
                    url = reverse('show_checkout', args=[next1])
                    return HttpResponseRedirect(url)
            except:
                if cart.cart_distinct_item_count(request) > 0:
                    qerror = 'Invalid Quantity Value'
        if postdata['submit'] == 'Card Checkout':
            checkout_url = checkout.get_checkout_url(request)
            return HttpResponseRedirect(checkout_url)
        if postdata['submit'] == 'Mpesa Checkout':
            checkout_url = checkout.get_checkout_url(request)
            return HttpResponseRedirect(checkout_url)
    if len(next1) > 0:
        url = reverse('show_checkout', args=[next1])
        return HttpResponseRedirect(url)
    cart_items = cart.get_cart_items(request)
    page_title = 'Shopping Cart'
    cart_subtotal = cart.cart_subtotal(request)
    return render(request, template_name, locals(), RequestContext(request))
Beispiel #18
0
def show_cart(request, template_name="cart/cart.html"):
    if request.method == 'POST':
        postdata = request.POST.copy()
        if postdata['submit'] == 'Remove':
            cart.remove_from_cart(request)
        if postdata['submit'] == 'Update':
            try:
                int(postdata['quantity'])
                cart.update_cart(request)
            except:
                if cart.cart_distinct_item_count(request) > 0:
                    qerror = 'Invalid Quantity Value'
        if postdata['submit'] == 'Card Checkout':
            checkout_url = checkout.get_checkout_url(request)
            return HttpResponseRedirect(checkout_url)
        if postdata['submit'] == 'Mpesa Checkout':
            checkout_url = checkout.get_checkout_url(request)
            return HttpResponseRedirect(checkout_url)
    cart_items = cart.get_cart_items(request)
    page_title = 'Shopping Cart'
    cart_subtotal = cart.cart_subtotal(request)
    return render(request, template_name, locals(), RequestContext(request))
Beispiel #19
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 #20
0
def category(request, cat, page_number=1):
    categories = Category.objects.filter(is_active=True)
    brands = Brand.objects.filter(is_active=True)
    category = Category.objects.get(slug=cat)
    items = Product.objects.filter(categories=category).filter(is_active=True)

    # maxPrice = str(Product.objects.all().aggregate(Max('price'))['price__max'])
    # minPrice = str(Product.objects.all().aggregate(Min('price'))['price__min'])

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

    context = {
        'categories': categories,
        'brands': brands,
        # 'minPrice': minPrice,
        # 'maxPrice': maxPrice,
        'items': current_page.page(page_number),
        'category': cat,
        'cart_distinct': cart_distinct,
    }
    return HttpResponse(render_to_string('shop-category.html', context))
Beispiel #21
0
def cart_box(request):
    cart_item_count = cart.cart_distinct_item_count(request)
    return {'cart_item_count': cart_item_count}
def cart_box(request):
    cart_item_count = cart.cart_distinct_item_count(request)
    return {'cart_item_count': cart_item_count }
Beispiel #23
0
def cart_box(request):
    cart_subtotal=cart.cart_subtotal(request)
    cart_item_count = cart.cart_distinct_item_count(request)
    return locals()
Beispiel #24
0
def cart_box(request):
    box_count = cart.cart_distinct_item_count(request)
    return {
        'box_count': box_count,
}
Beispiel #25
0
def loginpage(request,template_name='login.html'):
    categories = Category.objects.filter(is_active=True)
    brands = Brand.objects.filter(is_active=True)
    cart_distinct = cart.cart_distinct_item_count(request)
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
Beispiel #26
0
def getOrder(request, type):
    categories = Category.objects.filter(is_active=True)
    brands = Brand.objects.filter(is_active=True)
    if request.method == 'POST':
        postdata = request.POST.copy()
        try:
            address = postdata.get('address')
        except:
            address = ' '
        name = postdata.get('namefield')
        phone = postdata.get('phone')
        delivery = postdata.get('delivery')
        payment = postdata.get('payment')

        # post form sends a string value
        if delivery == 'True':
            delivery = True
        else:
            delivery = False

        if payment == 'True':
            payment = True
        else:
            payment = False

        p = 0
        if int(type) == 0:
            total = cart.cart_subtotal(request)
        else:
            p = Product.objects.get(id=type)
            p.quantity -= 1
            p.save()
            total = p.price

        newOrder = Order(name=name, phone=phone, address=address, total=total, is_card_payment=payment,
                         is_delivery=delivery)
        newOrder.save()

        if int(type) == 0:
            oCart = cart.get_cart_items(request)
            for ci in oCart:
                oi = OrderItem(product=ci.product, order=newOrder, quantity=ci.quantity)
                oi.save()
                ci.product.quantity -= ci.quantity
                ci.product.save()
            cart.empty_cart(request)

        else:
            oi = OrderItem(product=p, order=newOrder, quantity=1)
            oi.save()

        context = {
            'id': newOrder.id,
            'opened': newOrder.opened_at,
            'success': True,
            'cart_distinct': 0,
            'categories': categories,
            'brands': brands,
        }

    else:
        cart_distinct = cart.cart_distinct_item_count(request)
        context = {
            'success': False,
            'cart_distinct': cart_distinct,
            'categories': categories,
            'brands': brands,
        }

    return HttpResponse(render_to_response('checkout-success.html', context, context_instance=RequestContext(request)))
Beispiel #27
0
def login_error(request,template_name="login_error.html"):
    user = auth.get_user(request)
    categories = Category.objects.filter(is_active=True)
    brands = Brand.objects.filter(is_active=True)
    cart_distinct = cart.cart_distinct_item_count(request)
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
Beispiel #28
0
def add_model(request,model,template_name=""):
	# show_model(request,model,template_name)
	# print();
	result = "";
	if request.method == 'POST':
		print('add')
		if request.POST.get('mode')=='add_cart_item':

			cart.add_to_cart(request)
			cart_items_list = []
			cart_items = cart.get_cart_items(request)
			# serializers.serialize("json", )
			cart_item_count = cart.cart_distinct_item_count(request)
			# result = {'cart_items' : cart_items ,'cart_item_count' : cart_item_count}
			# print(cart_item_count)
			for c in cart_items:
				# print(c)
				item = {}
				item.setdefault('image',c.image())
				item.setdefault('name',c.name())
				item.setdefault('quantity',c.quantity)
				price = str(c.price())
				item.setdefault('unit_price',price)
				total = str(c.total())
				item.setdefault('total_price',total)
				item.setdefault('id',c.id)
				# print(item)
				cart_items_list.append(item)
			# print(cart_items_list)
			# cart_items = serializers.serialize("json", cart_items_list)
			# print(cart_items)
			result = {'cart_items' : cart_items_list ,'cart_item_count' : cart_item_count}
			# print(json.dumps(result))
			print('++++++++++++++++++++++++++++++')
			return HttpResponse(json.dumps(result),content_type='application/javascript; charset=utf-8')				
		else:
			if model == 'people':
				name = request.POST.get('name')
				islug = slug(name)
				category = Category()
				category.name = name
				category.description = request.POST.get('description')
				is_active = request.POST.get('is_active')
				if is_active=="on":
					category.is_active = True
				else:
					category.is_active = False
				category.slug = islug
				category.updated_at = datetime.datetime.now().strftime("%m/%d/%Y")
				category.created_at = datetime.datetime.now().strftime("%m/%d/%Y")
				category.save()
				result = "saved"
				print('add people')
			elif model == 'subcategory':
				subcategory = SubCategory()
				subcategory.name = request.POST.get('name')
				subcategory.description = request.POST.get('description')
				subcategory.slug = slug(subcategory.name)
				is_active = request.POST.get('is_active')
				subcategory.updated_at = datetime.datetime.now().strftime("%m/%d/%Y")
				subcategory.created_at = datetime.datetime.now().strftime("%m/%d/%Y")
				if is_active=="on":
					subcategory.is_active = True
				else:
					subcategory.is_active = False
				subcategory.save()
				selected_c = json.loads(request.POST.get('selected_categories'))
				for s_c in selected_c:
					c = get_object_or_404(Category, slug=s_c)
					subcategory.categories.add(c)
				subcategory.save()		
				print('add subcategory')
			elif model == 'product':
				p = Product()
				postdata = request.POST.copy()
				p.name = postdata.get('name','a')
				product_name = postdata.get('name','a')
				p.brand = postdata.get('brand')
				p.sku = postdata.get('sku')
				p.price = postdata.get('price')
				p.old_price = postdata.get('old_price')
				p.quantity = postdata.get('quantity')
				p.description = postdata.get('description')
				# print(postdata.get('user'))
				user = get_object_or_404(MyUser, username=postdata.get('user'))
				p.user = user
				p.slug = slug(p.name)
				is_active = request.POST.get('is_active')
				if is_active=="on":
					p.is_active = True
				else:
					p.is_active = False
				p.updated_at = datetime.datetime.now().strftime("%m/%d/%Y")
				p.created_at = datetime.datetime.now().strftime("%m/%d/%Y")
				if request.FILES:
					print('image_exist')
					p_main_file=request.FILES['img']
					file_extention = os.path.splitext(str(request.FILES['img']))[1]
					# print(file_extention)
					# file_name = str(request.FILES['img']).split('.')
					# file_extention = file_name[len(file_name)-1]
					image_name = str(user)+'_'+p.name+file_extention
					p_thumbnail_file=request.FILES['img']
					with open(MEDIA_ROOT+'images/products/thumbnails/'+image_name, 'wb+') as destination:
						if p_thumbnail_file.multiple_chunks():
							for chunk in p_thumbnail_file.chunks():
								destination.write(chunk)
						else:
							destination.write(p_thumbnail_file.read())
					with open(MEDIA_ROOT+'images/products/thumbnails/'+image_name, 'rb+') as destination:
						image_file = destination.read()
					with open(MEDIA_ROOT+'images/products/main/'+image_name, 'wb+') as destination:
						destination.write(image_file)
					p.image=image_name
				else:
					print('image_empty')
					p.image='default'
				p.save()
				selected_subc = json.loads(request.POST.get('selected_subcategories'))
				for p_subc in selected_subc:
					subc = get_object_or_404(SubCategory, slug=p_subc)
					p.subcategories.add(subc)
				p.save()
				print('add product')
			elif model == 'myuser':
				user = MyUser()
				postdata = request.POST.copy()
				user.username = postdata.get('name')
				user.first_name = postdata.get('first_name')
				user.last_name = postdata.get('last_name')
				##########change date format###########YYYY-MM-DD
				# date_of_birth = postdata.get('date_of_birth')
				# date_list = date_of_birth.split('/')
				# join_str = '-'
				# user.date_of_birth = join_str.join(date_list)
				user.date_of_birth = postdata.get('date_of_birth')
				########################################
				user.address = postdata.get('address','a')
				user.telephone = postdata.get('telephone')
				user.password = make_password(postdata.get('password'))
				user.is_active = True
				user.is_staff = True
				user.save()
				print('add myuser')
			elif model == 'order':
				order = Order()
				postdata = request.POST.copy()
				myuser = get_object_or_404(MyUser, username=postdata.get('user'))
				print(postdata)
				order.address = myuser.address
				order.phone = myuser.telephone
				order_status = get_object_or_404(OrderStatus, id=postdata.get('status'))
				print(order_status.name)
				order.status = order_status
				order.ip_address = postdata.get('ip_address')
				# user = get_object_or_404(MyUser, username=postdata.get('user'))
				order.user = myuser
				order.transaction_id = postdata.get('transaction_id')
				order.last_updated = datetime.datetime.now().strftime("%m/%d/%Y")	
				order.save()
				print(order.id);
				cart_items = cart.get_cart_items(request)
				for c in cart_items:
					orderitem = OrderItem()
					orderitem.product = c.product
					orderitem.price = c.price()
					orderitem.quantity = c.quantity
					orderitem.order = order
					orderitem.save()
				print('add order')
			elif model == 'orderitem':
				orderitem = OrderItem()
				postdata = request.POST.copy()
				product = get_object_or_404(Product, slug=postdata.get('product'))
				orderitem.product = product
				orderitem.price = product.price
				orderitem.quantity = postdata.get('quantity') 
				order = get_object_or_404(Order, id=postdata.get('order'))
				orderitem.order = order
				orderitem.save()
				print('add orderitem')
			# return show_model(request,model,'')
			url = urlresolvers.reverse('model',kwargs = {'model':model})
			return HttpResponseRedirect(url)
	else:
		app_list = permission_app(request)
		# print('_________________addpermission_________________')
		if check_permission(request,'add',model):
			if model == 'people':
				print('category')
			elif model == 'subcategory':
				category = Category.objects.all()
				print('subcategory')
			elif model == 'product':
				user_list = MyUser.objects.all()
				subcategory = SubCategory.objects.all()
				print('product')
				print(subcategory)
			elif model == 'myuser':
				print('myuser')
			elif model == 'order':
				cart.clean(request)
				user_list = MyUser.objects.all()
				product = Product.objects.all()
				order_status = OrderStatus.objects.all()
					# print(request.GET)
					# print('-------------------------------')
					# cart.add_to_cart(request)
					# cart_items = serializers.serialize("json", cart.get_cart_items(request))
					# cart_item_count = cart.cart_distinct_item_count(request)
					# result = {'cart_items' : cart_items ,'cart_item_count' : cart_item_count}
					# print(result)
					# print('++++++++++++++++++++++++++++++=')
					# return HttpResponse(json.dumps(result),content_type='application/javascript; charset=utf-8')				
				print('order')
			elif model == 'orderitem':
				product = Product.objects.all()
				order_list = Order.objects.all()
				print('orderitem')
			# subcategories = SubCategory.objects.all()
			
			template_name = 'myadmin/add/'+model+'.html'
			return render_to_response(template_name, locals(),context_instance=RequestContext(request))
		else:
			template_name = 'myadmin/err.html'
			return render_to_response(template_name, locals(),context_instance=RequestContext(request))
Beispiel #29
0
def cart_box(request):
    cart_item_count = cart_distinct_item_count(request)
    return {"cart_item_count": cart_item_count}