コード例 #1
0
def view_blog_list(request):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['page_name'] = 'Blog'
	
	try:
		blog_list_page_size = System_Config.objects.get('blog_list_page_size')
	except:
		logger.debug('blog_list_page_size is not defined,use the default value 12.')
		blog_list_page_size = 12
	
	if request.method =='GET':
		product_list = None
		if 'sort_by' in request.GET:
			if 'direction' in request.GET:
				if 'desc' == request.GET['direction']:
					article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG).order_by(request.GET['sort_by']).reverse()
				else:
					article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG).order_by(request.GET['sort_by'])
			else:
				article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG).order_by(request.GET['sort_by'])
		else:
			article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG)
		
		if 'page_size' in request.GET:
			logger.debug('the page_size has been detacted')
			article_list, page_range = my_pagination(request=request, queryset=article_list,display_amount=request.GET['page_size'])
		else:
			article_list, page_range = my_pagination(request=request, queryset=article_list,display_amount=blog_list_page_size)
		
		ctx['article_list'] = article_list
		ctx['page_range'] = page_range
		return render(request,System_Config.get_template_name() + '/blog_list.html',ctx)
コード例 #2
0
ファイル: article.py プロジェクト: imycartorg/imycart
def view_blog_list(request):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['menu_products'] = get_menu_products()
	ctx['page_name'] = 'Blog'
	
	try:
		blog_list_page_size = System_Config.objects.get('blog_list_page_size')
	except:
		logger.debug('blog_list_page_size is not defined,use the default value 12.')
		blog_list_page_size = 12
	
	if request.method =='GET':
		product_list = None
		if 'sort_by' in request.GET:
			if 'direction' in request.GET:
				if 'desc' == request.GET['direction']:
					article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG).order_by(request.GET['sort_by']).reverse()
				else:
					article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG).order_by(request.GET['sort_by'])
			else:
				article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG).order_by(request.GET['sort_by'])
		else:
			article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG)
		
		if 'page_size' in request.GET:
			logger.debug('the page_size has been detacted')
			article_list, page_range = my_pagination(request=request, queryset=article_list,display_amount=request.GET['page_size'])
		else:
			article_list, page_range = my_pagination(request=request, queryset=article_list,display_amount=blog_list_page_size)
		
		ctx['article_list'] = article_list
		ctx['page_range'] = page_range
		return render(request,System_Config.get_template_name() + '/blog_list.html',ctx)
コード例 #3
0
def query_product_show(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['menu_products'] = get_menu_products()
    ctx['page_name'] = 'Product'

    if request.method == 'GET':
        query_condition = request.GET.get('query', '')
        logger.debug('Query_String is %s ' % query_condition)
        from django.db.models import Q
        product_list = Product.objects.filter(
            Q(name__icontains=query_condition))
        #icontains是大小写不敏感的,contains是大小写敏感的

        if 'page_size' in request.GET:
            product_list, page_range = my_pagination(
                request=request,
                queryset=product_list,
                display_amount=request.GET['page_size'])
        else:
            product_list, page_range = my_pagination(request=request,
                                                     queryset=product_list)

        ctx['product_list'] = product_list
        ctx['page_range'] = page_range
        return render(request,
                      System_Config.get_template_name() + '/product_list.html',
                      ctx)
コード例 #4
0
ファイル: user.py プロジェクト: icetusorg/cetusshop
def user_list(request):
	ctx = {}
	ctx['page_name'] = '用户管理'

	result_dict = {}
	result_dict['success'] = False
	result_dict['message'] = '用户信息保存失败'

	if request.method == 'GET':
		#user_list = MyUser.objects.filter(is_staff=False).filter(is_superuser=False).order_by('-update_time')
		#user_list = MyUser.objects.order_by('-update_time')
		user_list = MyUser.objects.order_by('-create_time')
		
		item_value = request.GET.get('item_value','')
		
		if item_value:
			from django.db.models import Q
			user_list = user_list.filter(Q(email__icontains=item_value))
			
		count = len(user_list)
	
		page_size = get_page_size()
		user_list, page_range,current_page = my_pagination(request=request, queryset=user_list,display_amount=page_size)	
		
		ctx['user_list'] = user_list
		ctx['page_range'] = page_range
		ctx['page_size'] = page_size
		ctx['current_page'] = current_page
		ctx['item_count'] = count
		return TemplateResponse(request,System_Config.get_template_name('admin') + '/user_list.html',ctx)
	else:
		raise Http404		
コード例 #5
0
ファイル: recruit.py プロジェクト: icetusorg/cetusshop
def list_view(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['page_name'] = '招聘管理'

    if request.method == 'GET':

        all = Recruit.objects.all().order_by('-sort_order')

        page_size = get_page_size()

        count = len(all)
        recruit_list, page_range, current_page = my_pagination(request=request, queryset=all, display_amount=page_size)
        logger.debug('current_page:%s' % current_page)

        # 为页面准备分类的下拉列表
        # from shopcart.myadmin.article_busi_category import get_all_category
        # busi_category_list = get_all_category()
        # logger.debug('busi_category_list : %s' % busi_category_list)
        # ctx['busi_category_list'] = busi_category_list

        ctx['recruit_list'] = recruit_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['current_page'] = current_page
        ctx['recruit_count'] = count
        return TemplateResponse(request, System_Config.get_template_name('admin') + '/recruit_list.html', ctx)
    else:
        raise Http404
コード例 #6
0
def list(request):
    ctx = {}
    ctx['page_name'] = '商品推荐管理'

    if request.method == 'GET':
        push_list = ProductPushGroup.objects.all().order_by('-create_time')

        logger.debug('push_list:%s' % push_list)

        count = push_list.count()
        page_size = get_page_size()
        push_list, page_range, current_page = my_pagination(
            request=request, queryset=push_list, display_amount=page_size)

        ctx['page_range'] = page_range
        ctx['current_page'] = current_page
        ctx['page_size'] = page_size
        ctx['item_count'] = count

        ctx['push_list'] = push_list
        return TemplateResponse(
            request,
            System_Config.get_template_name('admin') +
            '/product_push_list.html', ctx)
    else:
        raise Http404
コード例 #7
0
def list(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['page_name'] = '文章分类管理'

    if request.method == 'GET':
        # category_list = ArticleBusiCategory.objects.all().order_by('-update_time')
        category_list = ArticleBusiCategory.objects.all().order_by(
            '-sort_order')

        count = category_list.count()

        page_size = get_page_size()
        category_list, page_range, current_page = my_pagination(
            request=request, queryset=category_list, display_amount=page_size)

        ctx['category_list'] = category_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['current_page'] = current_page
        ctx['count'] = count

        return TemplateResponse(
            request,
            System_Config.get_template_name('admin') +
            '/article_busi_category_list.html', ctx)
    elif request.method == 'POST':
        raise Http404
    else:
        raise Http404
コード例 #8
0
def list(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['page_name'] = '文章分类管理'

    if request.method == 'GET':
        # category_list = ArticleBusiCategory.objects.all().order_by('-update_time')
        category_list = ArticleBusiCategory.objects.all().order_by('-sort_order')

        count = category_list.count()

        page_size = get_page_size()
        category_list, page_range, current_page = my_pagination(request=request, queryset=category_list,
                                                                display_amount=page_size)

        ctx['category_list'] = category_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['current_page'] = current_page
        ctx['count'] = count

        return TemplateResponse(request, System_Config.get_template_name('admin') + '/article_busi_category_list.html',
                                ctx)
    elif request.method == 'POST':
        raise Http404
    else:
        raise Http404
コード例 #9
0
def user_list(request):
    ctx = {}
    ctx['page_name'] = '用户管理'

    result_dict = {}
    result_dict['success'] = False
    result_dict['message'] = '用户信息保存失败'

    if request.method == 'GET':
        #user_list = MyUser.objects.filter(is_staff=False).filter(is_superuser=False).order_by('-update_time')
        #user_list = MyUser.objects.order_by('-update_time')
        user_list = MyUser.objects.order_by('-create_time')

        item_value = request.GET.get('item_value', '')

        if item_value:
            from django.db.models import Q
            user_list = user_list.filter(Q(email__icontains=item_value))

        page_size = get_page_size()
        user_list, page_range = my_pagination(request=request,
                                              queryset=user_list,
                                              display_amount=page_size)

        ctx['user_list'] = user_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['item_count'] = MyUser.objects.all().count()
        return TemplateResponse(
            request,
            System_Config.get_template_name('admin') + '/user_list.html', ctx)
    else:
        raise Http404
コード例 #10
0
ファイル: article.py プロジェクト: cnspica/cetusshop
def list_view(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['page_name'] = '文章管理'

    if request.method == 'GET':
        title = request.GET.get('title', '')
        ctx['title'] = title
        type = request.GET.get('type', '')
        ctx['type'] = type

        all = Article.objects.all()

        if title:
            from django.db.models import Q
            all = all.filter(Q(title__icontains=title))

        if type:
            all = all.filter(category=type)

        page_size = get_page_size()
        artile_list, page_range = my_pagination(request=request,
                                                queryset=all,
                                                display_amount=page_size)

        ctx['article_list'] = artile_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['article_count'] = all.count()
        return render(
            request,
            System_Config.get_template_name('admin') + '/article_list.html',
            ctx)
    else:
        raise Http404
コード例 #11
0
def list_view(request):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['page_name'] = '订单管理'
	
	if request.method == 'GET':
		order_number = request.GET.get('order_number','')
		ctx['order_number'] = order_number
		user_email = request.GET.get('user_email','')
		ctx['user_email'] = user_email
		
		all = Order.objects.all()
		
		if order_number != '':
			all = all.filter(order_number=order_number)
		
		if user_email != '':
			all = all.filter(user__email=user_email)
		
		
		page_size = get_page_size()
		order_list, page_range = my_pagination(request=request, queryset=all,display_amount=page_size)
		
		ctx['order_list'] = order_list
		ctx['page_range'] = page_range
		ctx['page_size'] = page_size
		ctx['order_count'] = all.count()
		return render(request,get_admin_template_name('order_list_content.html'),ctx)
	else:
		raise Http404
コード例 #12
0
ファイル: product.py プロジェクト: imycart/imycart
def view_list(request):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['page_name'] = 'Product'
	
	if request.method =='GET':
		product_list = None
		if 'sort_by' in request.GET:
			if 'direction' in request.GET:
				if 'desc' == request.GET['direction']:
					product_list = Product.objects.filter(is_publish=True).order_by(request.GET['sort_by']).reverse()
				else:
					product_list = Product.objects.filter(is_publish=True).order_by(request.GET['sort_by'])
				
				ctx['direction'] = request.GET['direction']
			else:
				product_list = Product.objects.filter(is_publish=True).order_by(request.GET['sort_by'])
		else:
			logger.debug("all products")
			product_list = Product.objects.filter(is_publish=True)
		
		logger.debug("no sort_by")
		if 'page_size' in request.GET:
			page_size = request.GET['page_size']
		else:
			try:
				page_size = int(System_Config.objects.get(name='product_page_size'))
			except:
				page_size = 12
		
		product_list, page_range = my_pagination(request=request, queryset=product_list,display_amount=page_size)
		
		ctx['product_list'] = product_list
		ctx['page_range'] = page_range
		return render(request,System_Config.get_template_name() + '/product_list.html',ctx)
コード例 #13
0
ファイル: wishlist.py プロジェクト: icetusorg/cetusshop
def view_wishlist(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['menu_products'] = get_menu_products()
    ctx['page_name'] = 'My Wishlist'
    if request.method == 'GET':
        wish_list = Wish.objects.filter(user=request.user)

        try:
            page_size = int(
                System_Config.objects.get(name='wish_list_page_size').val)
        except:
            logger.info(
                'The system parameter [wish_list_page_size] is not setted,use the default value 5.'
            )
            page_size = 5

        wish_list, page_range, current_page = my_pagination(
            request, wish_list, display_amount=page_size)
        ctx['wish_list'] = wish_list
        ctx['page_range'] = page_range
        ctx['current_page'] = current_page
        return TemplateResponse(
            request,
            System_Config.get_template_name() + '/wish_list.html', ctx)
コード例 #14
0
def get_product_list(request, ctx, exclude_id=None):
    query_item = request.GET.get('query_item', '')
    item_value = request.GET.get('item_value', '')
    query_category = request.GET.get('query_category', '')

    from django.db.models import Q
    if query_item == 'item_name':
        product_list = Product.objects.filter(Q(name__icontains=item_value))
    elif query_item == 'item_number':
        product_list = Product.objects.filter(
            Q(item_number__icontains=item_value))
    else:
        #product_list = Product.objects.all().order_by('update_time')
        product_list = Product.objects.all().order_by('-sort_order')
    #icontains是大小写不敏感的,contains是大小写敏感的

    cat = None
    try:
        cat = Category.objects.get(id=query_category)
        ctx['query_category'] = cat.id
        ctx['query_category_name'] = cat.name
    except Exception as err:
        logger.info('Can not find category %s .\n Error Message: %s' %
                    (query_category, err))

    if cat:
        #product_list = product_list.filter(categorys__id=query_category).order_by('update_time').reverse()
        product_list = product_list.filter(
            categorys__id=query_category).order_by('-sort_order')
    else:
        #product_list = product_list.order_by('update_time').reverse()
        product_list = product_list.order_by('-sort_order')

    logger.debug('exclude_id:%s' % exclude_id)
    if exclude_id:
        product_list = product_list.exclude(id=exclude_id)

    if 'page_size' in request.GET:
        page_size = request.GET['page_size']
    else:
        try:
            page_size = int(
                System_Config.objects.get(
                    name='admin_product_list_page_size').val)
        except:
            page_size = 12

    product_list, page_range = my_pagination(request=request,
                                             queryset=product_list,
                                             display_amount=page_size)
    ctx['product_list'] = product_list
    ctx['page_range'] = page_range
    ctx['item_count'] = Product.objects.all().count()
    ctx['page_size'] = page_size
    ctx['query_item'] = query_item
    ctx['item_value'] = item_value
    return ctx
コード例 #15
0
ファイル: wishlist.py プロジェクト: imycart/imycart
def view_wishlist(request):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['page_name'] = 'My Wishlist'
	if request.method =='GET':
		wish_list = Wish.objects.filter(user=request.user)
		wish_list, page_range = my_pagination(request, wish_list,display_amount=5)
		ctx['wish_list'] = wish_list
		ctx['page_range'] = page_range
		return render(request,System_Config.get_template_name() + '/wish_list.html',ctx)
コード例 #16
0
ファイル: product.py プロジェクト: imycart/imycart
def query_product_show(request):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['page_name'] = 'Product'
	
	if request.method =='GET':
		query_condition = request.GET.get('query','')
		logger.debug('Query_String is %s ' % query_condition)
		from django.db.models import Q
		product_list = Product.objects.filter(Q(name__contains=query_condition))
		
		if 'page_size' in request.GET:
			product_list, page_range = my_pagination(request=request, queryset=product_list,display_amount=request.GET['page_size'])
		else:
			product_list, page_range = my_pagination(request=request, queryset=product_list)
		
		ctx['product_list'] = product_list
		ctx['page_range'] = page_range
		return render(request,System_Config.get_template_name() + '/product_list.html',ctx)
コード例 #17
0
ファイル: product.py プロジェクト: icetusorg/cetusshop
def get_product_list(request, ctx, exclude_id=None):
    query_item = request.GET.get('query_item', '')
    item_value = request.GET.get('item_value', '')
    query_category = request.GET.get('query_category', '')

    from django.db.models import Q
    if query_item == 'item_name':
        product_list = Product.objects.filter(Q(name__icontains=item_value))
    elif query_item == 'item_number':
        product_list = Product.objects.filter(Q(item_number__icontains=item_value))
    else:
        # product_list = Product.objects.all().order_by('update_time')
        product_list = Product.objects.all().order_by('-sort_order')
    # icontains是大小写不敏感的,contains是大小写敏感的

    cat = None
    try:
        cat = Category.objects.get(id=query_category)
        ctx['query_category'] = cat.id
        ctx['query_category_name'] = cat.name
    except Exception as err:
        logger.info('Can not find category %s .\n Error Message: %s' % (query_category, err))

    if cat:
        # product_list = product_list.filter(categorys__id=query_category).order_by('update_time').reverse()
        product_list = product_list.filter(categorys__id=query_category).order_by('-sort_order')
    else:
        # product_list = product_list.order_by('update_time').reverse()
        product_list = product_list.order_by('-sort_order')

    logger.debug('exclude_id:%s' % exclude_id)
    if exclude_id:
        product_list = product_list.exclude(id=exclude_id)

    if 'page_size' in request.GET:
        page_size = request.GET['page_size']
    else:
        try:
            page_size = int(System_Config.objects.get(name='admin_product_list_page_size').val)
        except:
            page_size = 12

    count = len(product_list)

    product_list, page_range, current_page = my_pagination(request=request, queryset=product_list,
                                                           display_amount=page_size)
    ctx['product_list'] = product_list
    ctx['page_range'] = page_range
    ctx['item_count'] = count
    ctx['page_size'] = page_size
    ctx['query_item'] = query_item
    ctx['current_page'] = current_page
    ctx['item_value'] = item_value
    return ctx
コード例 #18
0
ファイル: wishlist.py プロジェクト: imycartorg/imycart
def view_wishlist(request):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['menu_products'] = get_menu_products()
	ctx['page_name'] = 'My Wishlist'
	if request.method =='GET':
		wish_list = Wish.objects.filter(user=request.user)
		wish_list, page_range = my_pagination(request, wish_list,display_amount=5)
		ctx['wish_list'] = wish_list
		ctx['page_range'] = page_range
		return render(request,System_Config.get_template_name() + '/wish_list.html',ctx)
コード例 #19
0
ファイル: order.py プロジェクト: icetusorg/cetusshop
def list_view(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['page_name'] = '订单管理'

    if request.method == 'GET':
        query_item = request.GET.get('query_item', '')
        ctx['query_item'] = query_item

        logger.debug('query item : %s' % query_item)

        item_value = request.GET.get('item_value', '')
        ctx['item_value'] = item_value
        query_status = request.GET.get('query_status', '')
        ctx['query_status'] = query_status

        #all = Order.objects.all().order_by('-update_time')
        all = Order.objects.all().order_by('-create_time')

        if query_item == 'order_number':
            if item_value:
                all = all.filter(order_number=item_value)
        elif query_item == 'order_user_email':
            if item_value:
                all = all.filter(user__email=item_value)
        else:
            pass

        if query_status:
            all = all.filter(status=query_status)

        count = len(all)

        page_size = get_page_size()
        order_list, page_range, current_page = my_pagination(
            request=request, queryset=all, display_amount=page_size)

        ctx['order_list'] = order_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['current_page'] = current_page
        ctx['order_count'] = count
        return TemplateResponse(
            request,
            System_Config.get_template_name('admin') +
            '/order_list_content.html', ctx)
    else:
        raise Http404
コード例 #20
0
ファイル: product.py プロジェクト: icetusorg/cetusshop
def product_sku_group_list(request):
    ctx = {}

    if request.method == 'GET':
        group_list = Attribute_Group.objects.all()

        page_size = 12
        group_list, page_range, current_page = my_pagination(request=request, queryset=group_list,
                                                             display_amount=page_size)
        ctx['group_list'] = group_list
        ctx['page_range'] = page_range
        ctx['current_page'] = current_page
        ctx['item_count'] = ProductParaGroup.objects.all().count()
        ctx['page_size'] = page_size
        return TemplateResponse(request, System_Config.get_template_name('admin') + '/product_sku_group_list.html', ctx)
    else:
        raise Http404
コード例 #21
0
ファイル: order.py プロジェクト: imycart/imycart
def show_order(request):
	logger.info('Start to show order.')
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['page_name'] = 'My Orders'
	if request.method == 'GET':
		order_list = Order.objects.filter(user=request.user)
		
		try:
			order_list_page_size = System_Config.objects.get('order_list_page_size')
		except:
			logger.debug('order_list_page_size is not defined,use the default value 10.')
			order_list_page_size = 10
		order_list, page_range = my_pagination(request, order_list,display_amount=order_list_page_size)
		ctx['order_list'] = order_list
		ctx['page_range'] = page_range
		return render(request,System_Config.get_template_name() + '/orders.html',ctx)	
コード例 #22
0
ファイル: order.py プロジェクト: icetusorg/cetusshop
def list_view(request):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['page_name'] = '订单管理'
	
	if request.method == 'GET':
		query_item = request.GET.get('query_item','')
		ctx['query_item'] = query_item
		
		logger.debug('query item : %s' % query_item)
		
		item_value = request.GET.get('item_value','')
		ctx['item_value'] = item_value
		query_status = request.GET.get('query_status','')
		ctx['query_status'] = query_status
		
		#all = Order.objects.all().order_by('-update_time')
		all = Order.objects.all().order_by('-create_time')
		
		if query_item == 'order_number':
			if item_value:
				all = all.filter(order_number=item_value)
		elif query_item == 'order_user_email':
			if item_value:
				all = all.filter(user__email=item_value)
		else:
			pass
		
		if query_status:
			all = all.filter(status=query_status)
		
		

		count = len(all)
		
		page_size = get_page_size()
		order_list, page_range,current_page = my_pagination(request=request, queryset=all,display_amount=page_size)
		
		ctx['order_list'] = order_list
		ctx['page_range'] = page_range
		ctx['page_size'] = page_size
		ctx['current_page'] = current_page
		ctx['order_count'] = count
		return TemplateResponse(request,System_Config.get_template_name('admin') + '/order_list_content.html',ctx)
	else:
		raise Http404
コード例 #23
0
ファイル: delivery.py プロジェクト: icetusorg/cetusshop
def express_list_view(request):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['page_name'] = '快递公司管理'
	
	if request.method == 'GET':
		express_list = Express.objects.filter(is_delete=False)
		express_list, page_range,current_page = my_pagination(request=request, queryset=express_list,display_amount=15)
		ctx['express_list'] = express_list
		ctx['page_range'] = page_range
		ctx['current_page'] = current_page
		ctx['item_count'] = Express.objects.all().count()
		ctx['page_size'] = 15
		
		
		return TemplateResponse(request,System_Config.get_template_name('admin') + '/express_list.html',ctx)
	else:
		raise Http404
コード例 #24
0
def list_view(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['page_name'] = '订单管理'

    if request.method == 'GET':
        inquiry_list = Inquiry.objects.all().order_by('-create_time')

        qry_field = request.GET.get('qry_field', '')
        qry_value = request.GET.get('qry_value', '')
        if qry_field:
            from django.db.models import Q
            if qry_field == 'email':
                inquiry_list = inquiry_list.filter(
                    Q(email__icontains=qry_value))
            elif qry_field == 'title':
                inquiry_list = inquiry_list.filter(
                    Q(title__icontains=qry_value))
            elif qry_field == 'message':
                inquiry_list = inquiry_list.filter(
                    Q(message__icontains=qry_value))
            else:
                pass

        count = inquiry_list.count()

        for inquiry in inquiry_list:
            get_product_detail_for_inquiry(inquiry)

        page_size = get_page_size()
        inquiry_list, page_range = my_pagination(request=request,
                                                 queryset=inquiry_list,
                                                 display_amount=page_size)

        ctx['inquiry_list'] = inquiry_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['inquiry_count'] = count
        return TemplateResponse(
            request,
            System_Config.get_template_name('admin') + '/inquiry_list.html',
            ctx)
    else:
        raise Http404
コード例 #25
0
ファイル: wishlist.py プロジェクト: icetusorg/cetusshop
def view_wishlist(request):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['menu_products'] = get_menu_products()
	ctx['page_name'] = 'My Wishlist'
	if request.method =='GET':
		wish_list = Wish.objects.filter(user=request.user)
		
		try:
			page_size = int(System_Config.objects.get(name='wish_list_page_size').val)
		except:
			logger.info('The system parameter [wish_list_page_size] is not setted,use the default value 5.')
			page_size = 5
		
		wish_list, page_range,current_page = my_pagination(request, wish_list,display_amount=page_size)
		ctx['wish_list'] = wish_list
		ctx['page_range'] = page_range
		ctx['current_page'] = current_page
		return TemplateResponse(request,System_Config.get_template_name() + '/wish_list.html',ctx)
コード例 #26
0
def show_order(request):
    logger.info('Start to show order.')
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['menu_products'] = get_menu_products()
    ctx['page_name'] = 'My Orders'
    if request.method == 'GET':
        order_list = Order.objects.filter(user=request.user)

        try:
            order_list_page_size = System_Config.objects.get('order_list_page_size')
        except:
            logger.debug('order_list_page_size is not defined,use the default value 10.')
            order_list_page_size = 10
        order_list, page_range, current_page = my_pagination(request, order_list, display_amount=order_list_page_size)
        ctx['order_list'] = order_list
        ctx['page_range'] = page_range
        ctx['current_page'] = current_page
        return TemplateResponse(request, System_Config.get_template_name() + '/orders.html', ctx)
コード例 #27
0
ファイル: slider.py プロジェクト: icetusorg/cetusshop
def list(request):
    ctx = {}
    ctx['page_name'] = '幻灯片管理'

    if request.method == 'GET':
        slider_list = Slider.objects.order_by('-create_time')

        page_size = get_page_size()
        slider_list, page_range, current_page = my_pagination(request=request, queryset=slider_list,
                                                              display_amount=page_size)

        ctx['slider_list'] = slider_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['current_page'] = current_page
        ctx['item_count'] = Slider.objects.all().count()
        return TemplateResponse(request, System_Config.get_template_name('admin') + '/slider_list.html', ctx)
    else:
        raise Http404
コード例 #28
0
ファイル: inquiry.py プロジェクト: icetusorg/cetusshop
def show_order(request):
    logger.info('Start to show order.')
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['menu_products'] = get_menu_products()
    ctx['page_name'] = 'My Orders'
    if request.method == 'GET':
        inquiry_list = Inquiry.objects.filter(user=request.user)

        try:
            order_list_page_size = System_Config.objects.get('order_list_page_size')
        except:
            logger.debug('order_list_page_size is not defined,use the default value 10.')
            order_list_page_size = 10
        inquiry_list, page_range, current_page = my_pagination(request, inquiry_list,
                                                               display_amount=order_list_page_size)
        ctx['inquiry_list'] = inquiry_list
        ctx['page_range'] = page_range
        ctx['current_page'] = current_page
        return TemplateResponse(request, System_Config.get_template_name() + '/inquiry.html', ctx)
コード例 #29
0
def product_sku_group_list(request):
    ctx = {}

    if request.method == 'GET':
        group_list = Attribute_Group.objects.all()

        page_size = 12
        group_list, page_range = my_pagination(request=request,
                                               queryset=group_list,
                                               display_amount=page_size)
        ctx['group_list'] = group_list
        ctx['page_range'] = page_range
        ctx['item_count'] = ProductParaGroup.objects.all().count()
        ctx['page_size'] = page_size
        return TemplateResponse(
            request,
            System_Config.get_template_name('admin') +
            '/product_sku_group_list.html', ctx)
    else:
        raise Http404
コード例 #30
0
ファイル: delivery.py プロジェクト: chree188/cetusshop
def type_list_view(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['page_name'] = '配送方式管理'

    if request.method == 'GET':
        express_type_list = ExpressType.objects.filter(is_delete=False)

        express_type_list, page_range = my_pagination(
            request=request, queryset=express_type_list, display_amount=15)
        ctx['page_range'] = page_range
        ctx['item_count'] = ExpressType.objects.all().count()
        ctx['page_size'] = 15

        ctx['express_type_list'] = express_type_list
        return TemplateResponse(
            request,
            System_Config.get_template_name('admin') +
            '/delivery_type_list.html', ctx)
    else:
        raise Http404
コード例 #31
0
def view_list_view(request, tdk=None):
    ctx = {}
    ctx['system_para'] = get_system_parameters()

    def get_all_top_menu():
        top_menu_list = Menu.objects.filter(parent=None)
        return top_menu_list

    top_menu_list = get_all_top_menu()

    ctx['menu_list'] = top_menu_list
    if tdk:
        customize_tdk(ctx, tdk)
    if request.method == 'GET':
        all = Recruit.objects.all().order_by('-sort_order')

        page_size = get_page_size()

        # count = len(all)
        recruit_list, page_range, current_page = my_pagination(
            request=request, queryset=all, display_amount=page_size)
        logger.debug('current_page:%s' % current_page)

        # 为页面准备分类的下拉列表
        # from shopcart.myadmin.article_busi_category import get_all_category
        # busi_category_list = get_all_category()
        # logger.debug('busi_category_list : %s' % busi_category_list)
        # ctx['busi_category_list'] = busi_category_list

        ctx['recruit_list'] = recruit_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['current_page'] = current_page
        # ctx['article_count'] = count
        logger.debug('正常访问招聘页面' + System_Config.get_template_name())
        return TemplateResponse(
            request,
            System_Config.get_template_name() + '/recruit_list.html', ctx)
    else:
        raise Http404
コード例 #32
0
ファイル: slider.py プロジェクト: icetusorg/cetusshop
def list(request):
    ctx = {}
    ctx['page_name'] = '幻灯片管理'

    if request.method == 'GET':
        slider_list = Slider.objects.order_by('-create_time')

        page_size = get_page_size()
        slider_list, page_range, current_page = my_pagination(
            request=request, queryset=slider_list, display_amount=page_size)

        ctx['slider_list'] = slider_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['current_page'] = current_page
        ctx['item_count'] = Slider.objects.all().count()
        return TemplateResponse(
            request,
            System_Config.get_template_name('admin') + '/slider_list.html',
            ctx)
    else:
        raise Http404
コード例 #33
0
ファイル: product.py プロジェクト: cnspica/cetusshop
def product_list(request):
    ctx = {}
    ctx['system_para'] = System_Para.get_default_system_parameters()
    if request.method == 'GET':

        name_condition = request.GET.get('name', '')
        item_number_condition = request.GET.get('item_number', '')
        from django.db.models import Q
        product_list = Product.objects.filter(
            Q(name__icontains=name_condition)).filter(
                Q(item_number__icontains=item_number_condition))
        #icontains是大小写不敏感的,contains是大小写敏感的

        if 'page_size' in request.GET:
            page_size = request.GET['page_size']
        else:
            try:
                page_size = int(
                    System_Config.objects.get(
                        name='admin_product_list_page_size').val)
            except:
                page_size = 12

        product_list, page_range = my_pagination(request=request,
                                                 queryset=product_list,
                                                 display_amount=page_size)
        ctx['product_list'] = product_list
        ctx['page_range'] = page_range
        ctx['item_count'] = Product.objects.all().count()
        ctx['page_size'] = page_size
        ctx['query_item_number'] = item_number_condition
        ctx['query_name'] = name_condition
        return render(
            request,
            System_Config.get_template_name('admin') +
            '/product_list_content.html', ctx)
    else:
        raise Http404
コード例 #34
0
ファイル: product_push.py プロジェクト: icetusorg/cetusshop
def list(request):
    ctx = {}
    ctx['page_name'] = '商品推荐管理'

    if request.method == 'GET':
        push_list = ProductPushGroup.objects.all().order_by('-create_time')

        logger.debug('push_list:%s' % push_list)

        count = push_list.count()
        page_size = get_page_size()
        push_list, page_range, current_page = my_pagination(request=request, queryset=push_list,
                                                            display_amount=page_size)

        ctx['page_range'] = page_range
        ctx['current_page'] = current_page
        ctx['page_size'] = page_size
        ctx['item_count'] = count

        ctx['push_list'] = push_list
        return TemplateResponse(request, System_Config.get_template_name('admin') + '/product_push_list.html', ctx)
    else:
        raise Http404
コード例 #35
0
ファイル: recruit.py プロジェクト: icetusorg/cetusshop
def view_list_view(request, tdk=None):
    ctx = {}
    ctx['system_para'] = get_system_parameters()

    def get_all_top_menu():
        top_menu_list = Menu.objects.filter(parent=None)
        return top_menu_list

    top_menu_list = get_all_top_menu()

    ctx['menu_list'] = top_menu_list
    if tdk:
        customize_tdk(ctx, tdk)
    if request.method == 'GET':
        all = Recruit.objects.all().order_by('-sort_order')

        page_size = get_page_size()

        # count = len(all)
        recruit_list, page_range, current_page = my_pagination(request=request, queryset=all, display_amount=page_size)
        logger.debug('current_page:%s' % current_page)

        # 为页面准备分类的下拉列表
        # from shopcart.myadmin.article_busi_category import get_all_category
        # busi_category_list = get_all_category()
        # logger.debug('busi_category_list : %s' % busi_category_list)
        # ctx['busi_category_list'] = busi_category_list

        ctx['recruit_list'] = recruit_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['current_page'] = current_page
        # ctx['article_count'] = count
        logger.debug('正常访问招聘页面' + System_Config.get_template_name())
        return TemplateResponse(request, System_Config.get_template_name() + '/recruit_list.html', ctx)
    else:
        raise Http404
コード例 #36
0
def query_product_show(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['menu_products'] = get_menu_products()
    ctx['page_name'] = 'Product'

    if request.method == 'GET':

        def get_all_top_menu():
            top_menu_list = Menu.objects.filter(parent=None)
            return top_menu_list

        top_menu_list = get_all_top_menu()

        ctx['menu_list'] = top_menu_list
        query_condition = request.GET.get('query', '')
        logger.debug('Query_String is %s ' % query_condition)
        from django.db.models import Q
        product_list = Product.objects.filter(
            Q(name__icontains=query_condition)
            | Q(item_number=query_condition))
        # icontains是大小写不敏感的,contains是大小写敏感的

        if 'page_size' in request.GET:
            page_size = request.GET['page_size']
        else:
            page_size = get_page_size()
        product_list, page_range, current_page = my_pagination(
            request=request, queryset=product_list, display_amount=page_size)

        ctx['product_list'] = product_list
        ctx['page_range'] = page_range
        ctx['current_page'] = current_page
        return TemplateResponse(
            request,
            System_Config.get_template_name() + '/product_list.html', ctx)
コード例 #37
0
ファイル: promotion_code.py プロジェクト: chree188/cetusshop
def list(request):
    ctx = {}
    ctx['page_name'] = '优惠码管理'

    if request.method == 'GET':
        promotion_list = Promotion.objects.all().order_by('-create_time')

        count = promotion_list.count()
        page_size = get_page_size()
        promotion_list, page_range = my_pagination(request=request,
                                                   queryset=promotion_list,
                                                   display_amount=page_size)

        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['item_count'] = count

        ctx['promotion_list'] = promotion_list
        return TemplateResponse(
            request,
            System_Config.get_template_name('admin') + '/promotion_list.html',
            ctx)
    else:
        raise Http404
コード例 #38
0
ファイル: file.py プロジェクト: icetusorg/cetusshop
def file_list_show(request, item_type, item_id):
	ctx = {}
	ctx['action_url'] = '/admin/file-upload/' + item_type + '/' + item_id + "/"
	ctx['file_delete_url'] = '/file-delete/' + item_type
	ctx['host_item_id'] = item_id
	ctx['item_type'] = item_type
	if request.method == 'GET':
		if item_type == 'product' or item_type == 'product_album':
			try:
				item = Product.objects.get(id=item_id)
				ctx['item'] = item
				try:
					image_list = Product_Images.objects.filter(product=item).order_by('create_time').reverse()
					if item_type == 'product_album':
						image_list = Album.objects.filter(item_type=item_type, item_id=item.id).order_by(
							'create_time').reverse()
				except:
					image_list = []
			except:
				raise Http404
		elif item_type == 'article':
			try:
				item = Article.objects.get(id=item_id)
				ctx['item'] = item
				try:
					image_list = Album.objects.filter(item_type=item_type, item_id=item.id).order_by(
						'create_time').reverse()
				except:
					image_list = []
			except:
				raise Http404
		elif item_type == 'attribute':
			try:
				item = Attribute_Group.objects.get(id=item_id)
				ctx['item'] = item
				try:
					image_list = Album.objects.filter(item_type=item_type, item_id=item.id).order_by(
						'create_time').reverse()
				except:
					image_list = []
			except:
				raise Http404
		elif item_type == 'slider':
			try:
				item = Slider.objects.get(id=item_id)
				ctx['item'] = item
				try:
					image_list = Album.objects.filter(item_type=item_type, item_id=item.id).order_by(
						'create_time').reverse()
				except:
					image_list = []
			except:
				raise Http404
		elif item_type == 'attachment':
			try:
				item = Product.objects.get(id=item_id)
				ctx['item'] = item
				try:
					image_list = Album.objects.filter(item_type=item_type, item_id=item.id).order_by(
						'create_time').reverse()
					logger.info(image_list)
				except:
					image_list = []
			except:
				raise Http404
		else:
			raise Http404

		page_size = 12
		count = image_list.count()
		image_list, page_range, current_page = my_pagination(request=request, queryset=image_list,
															 display_amount=page_size)
		ctx['image_list'] = image_list
		ctx['page_range'] = page_range
		ctx['page_size'] = page_size
		ctx['current_page'] = current_page
		ctx['item_count'] = count
		return TemplateResponse(request, System_Config.get_template_name('admin') + '/picture_list.html', ctx)
	else:
		raise Http404
コード例 #39
0
def view_blog_list(request, category_id=None, tdk=None):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['menu_products'] = get_menu_products()
    ctx['page_name'] = 'Blog'

    def get_all_top_menu():
        top_menu_list = Menu.objects.filter(parent=None)
        return top_menu_list

    top_menu_list = get_all_top_menu()
    ctx['menu_list'] = top_menu_list
    if tdk:
        customize_tdk(ctx, tdk)

    try:
        blog_list_page_size_item = System_Config.objects.get(name='blog_list_page_size')
        blog_list_page_size = blog_list_page_size_item.val
        logger.debug('blog_list_page_size is %s .' % blog_list_page_size)
    except Exception as err:
        logger.debug('blog_list_page_size is not defined,use the default value 12. \Error Message:%s' % err)
        blog_list_page_size = 12

    if request.method == 'GET':
        template = 'product_list.html'
        if 'sort_by' in request.GET:
            if 'direction' in request.GET:
                if 'desc' == request.GET['direction']:
                    article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG).order_by(
                        request.GET['sort_by']).reverse()
                else:
                    article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG).order_by(
                        request.GET['sort_by'])
            else:
                article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG).order_by(
                    request.GET['sort_by'])
        else:
            article_list = Article.objects.filter(category=Article.ARTICLE_CATEGORY_BLOG).order_by('-sort_order')

        # 按分类筛选
        logger.debug('category_id : %s ' % category_id)
        if category_id:
            # 查找该分类是否设置了自定义的分类模板
            try:
                category = ArticleBusiCategory.objects.get(id=category_id)
                ctx['page_key_words'] = category.keywords
                ctx['page_description'] = category.short_desc
                if category.page_title:
                    ctx['page_name'] = category.page_title
                else:
                    ctx['page_name'] = category.name

                if category.category_template:
                    template = '/custmize/article_category/' + category.category_template
                article_list = article_list.filter(busi_category=category)
            except Exception as err:
                logger.error('Can not find category which id is %s. Error message is %s ' % (category_id, err))

        if 'page_size' in request.GET:
            logger.debug('the page_size has been detacted')
            article_list, page_range, current_page = my_pagination(request=request, queryset=article_list,
                                                                   display_amount=request.GET['page_size'])
        else:
            article_list, page_range, current_page = my_pagination(request=request, queryset=article_list,
                                                                   display_amount=blog_list_page_size)

        ctx['article_list'] = article_list
        ctx['page_range'] = page_range
        ctx['current_page'] = current_page
        logger.info('template : ' + template)
        return TemplateResponse(request, System_Config.get_template_name() + '/' + template, ctx)
コード例 #40
0
def file_list_show(request,item_type,item_id):
	ctx = {}
	ctx['action_url'] = '/admin/file-upload/' + item_type + '/' + item_id + "/"
	ctx['file_delete_url'] = '/file-delete/' + item_type
	ctx['host_item_id'] = item_id
	ctx['item_type'] = item_type
	if request.method == 'GET':
		if item_type == 'product' or item_type == 'product_album':
			try:
				item = Product.objects.get(id=item_id)
				ctx['item'] = item
				try:
					image_list = Product_Images.objects.filter(product=item).order_by('create_time').reverse()
					if item_type == 'product_album':
						image_list = Album.objects.filter(item_type=item_type,item_id=item.id).order_by('create_time').reverse()
				except:
					image_list = []
			except:
				raise Http404
		elif item_type == 'article':
			try:
				item = Article.objects.get(id=item_id)
				ctx['item'] = item
				try:
					image_list = Album.objects.filter(item_type=item_type,item_id=item.id).order_by('create_time').reverse()
				except:
					image_list = []
			except:
				raise Http404
		elif item_type == 'attribute':
			try:
				item = Attribute_Group.objects.get(id=item_id)
				ctx['item'] = item
				try:
					image_list = Album.objects.filter(item_type=item_type,item_id=item.id).order_by('create_time').reverse()
				except:
					image_list = []
			except:
				raise Http404
		elif item_type == 'slider':
			try:
				item = Slider.objects.get(id=item_id)
				ctx['item'] = item
				try:
					image_list = Album.objects.filter(item_type=item_type,item_id=item.id).order_by('create_time').reverse()
				except:
					image_list = []
			except:
				raise Http404
		else:
			raise Http404
			
		page_size = 12
		count = image_list.count()
		image_list, page_range = my_pagination(request=request, queryset=image_list,display_amount=page_size)	
		ctx['image_list'] = image_list	
		ctx['page_range'] = page_range
		ctx['page_size'] = page_size
		ctx['item_count'] = count
		return TemplateResponse(request,System_Config.get_template_name('admin') + '/picture_list.html',ctx)
	else:
		raise Http404
コード例 #41
0
ファイル: product.py プロジェクト: cnspica/cetusshop
def view_list(request,category_id=None):
	ctx = {}
	ctx['system_para'] = get_system_parameters()
	ctx['menu_products'] = get_menu_products()
	ctx['page_name'] = 'Product'
	
	template = '/product_list.html'
	
	if request.method =='GET':
		product_list = None
		if 'sort_by' in request.GET:
			if 'direction' in request.GET:
				if 'desc' == request.GET['direction']:
					product_list = Product.objects.filter(is_publish=True).order_by(request.GET['sort_by']).reverse()
				else:
					product_list = Product.objects.filter(is_publish=True).order_by(request.GET['sort_by'])
				
				ctx['direction'] = request.GET['direction']
			else:
				product_list = Product.objects.filter(is_publish=True).order_by(request.GET['sort_by'])
		else:
			logger.debug("all products")
			product_list = Product.objects.filter(is_publish=True)
			logger.debug('Products count in product_list : [%s]' % len(product_list))
		
		#按分类筛选
		logger.debug('category_id : %s ' % category_id)
		if category_id:
			#查找该分类是否设置了自定义的分类模板
			try:
				category = Category.objects.get(id=category_id)
				from .category import get_all_children
				cat_list = get_all_children(category,[])
				logger.debug('cat_list: %s' % cat_list)
				ctx['page_key_words'] = category.keywords
				ctx['page_description'] = category.short_desc
				if category.page_title:
					ctx['page_name'] = category.page_title
				else:
					ctx['page_name'] = category.name
				if category.category_template:
					template = '/custmize/category/' + category.category_template
				product_list = product_list.filter(categorys__in = cat_list)
				product_list = list(set(product_list))
				logger.debug('Products count in product_list : [%s]' % len(product_list))
			except Exception as err:
				logger.error('Can not find category which id is %s. Error message is %s ' % (category_id,err))
			
		logger.debug("no sort_by")
		if 'page_size' in request.GET:
			page_size = request.GET['page_size']
		else:
			try:
				page_size = int(System_Config.objects.get(name='product_page_size').val)
			except:
				page_size = 12
		
		product_list, page_range = my_pagination(request=request, queryset=product_list,display_amount=page_size)
		
		ctx['product_list'] = product_list
		ctx['page_range'] = page_range
		return render(request,System_Config.get_template_name() + template,ctx)
コード例 #42
0
ファイル: article.py プロジェクト: icetusorg/cetusshop
def list_view(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['page_name'] = '文章管理'

    if request.method == 'GET':

        type = request.GET.get('type', '')
        ctx['type'] = type
        # 默认只查询博客文章
        if not type:
            type = '0'

        query_item = request.GET.get('query_item', '')
        ctx['query_item'] = query_item
        logger.debug('query item : %s' % query_item)

        item_value = request.GET.get('item_value', '')
        ctx['item_value'] = item_value
        logger.debug('item_value : %s' % item_value)
        query_busi_category = request.GET.get('query_busi_category', '')
        ctx['query_busi_category_id'] = query_busi_category
        try:
            busi_cat = ArticleBusiCategory.objects.get(id=query_busi_category)
            ctx['query_busi_category_name'] = busi_cat.name
        except:
            ctx['query_busi_category_name'] = ''

        logger.debug('query_busi_category : %s' % query_busi_category)

        # all = Article.objects.all().order_by('-update_time')
        all = Article.objects.all().order_by('-sort_order')
        if type:
            all = all.filter(category=type)

        if query_item == 'title':
            if item_value:
                from django.db.models import Q
                all = all.filter(Q(title__icontains=item_value))

        if query_busi_category:
            all = all.filter(busi_category=query_busi_category)

        page_size = get_page_size()

        count = len(all)
        artile_list, page_range, current_page = my_pagination(request=request, queryset=all, display_amount=page_size)
        logger.debug('current_page:%s' % current_page)

        # 为页面准备分类的下拉列表
        from shopcart.myadmin.article_busi_category import get_all_category
        busi_category_list = get_all_category()
        logger.debug('busi_category_list : %s' % busi_category_list)
        ctx['busi_category_list'] = busi_category_list

        ctx['article_list'] = artile_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['current_page'] = current_page
        ctx['article_count'] = count
        return TemplateResponse(request, System_Config.get_template_name('admin') + '/article_list.html', ctx)
    else:
        raise Http404
コード例 #43
0
def view_list(request, category_id=None):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['menu_products'] = get_menu_products()
    ctx['page_name'] = 'Product'

    def get_all_top_menu():
        top_menu_list = Menu.objects.filter(parent=None)
        return top_menu_list

    top_menu_list = get_all_top_menu()
    ctx['menu_list'] = top_menu_list
    template = '/product_list.html'

    logger.debug('Parameters in request:%s' % request.GET)

    if request.method == 'GET':
        product_list = None
        sort_by = None
        reverse = False

        if 'direction' in request.GET:
            direction = request.GET['direction']
            if 'asc' == direction:
                reverse = True
            else:
                reverse = False

        if 'sort_by' in request.GET:
            sort_by = request.GET['sort_by']
            if not reverse:
                logger.debug('desc')
                product_list = Product.objects.filter(
                    is_publish=True).order_by(request.GET['sort_by'])
            else:
                logger.debug('asc')
                product_list = Product.objects.filter(
                    is_publish=True).order_by(
                        request.GET['sort_by']).reverse()

            ctx['direction'] = request.GET['direction']
        else:
            logger.debug("all products")
            if not reverse:
                order_by = '-sort_order'
            else:
                order_by = 'sort_order'
            product_list = Product.objects.filter(
                is_publish=True).order_by(order_by)

            logger.debug('Products count in product_list : [%s]' %
                         len(product_list))

        # 按分类筛选
        logger.debug('category_id : %s ' % category_id)
        if category_id:
            # 查找该分类是否设置了自定义的分类模板
            category = None
            try:
                category = Category.objects.get(id=category_id)
                from .category import get_all_children
                cat_list = get_all_children(category, [])
                logger.debug('cat_list: %s' % cat_list)
                ctx['page_key_words'] = category.keywords
                ctx['page_description'] = category.short_desc
                if category.page_title:
                    ctx['page_name'] = category.page_title
                else:
                    ctx['page_name'] = category.name
                if category.category_template:
                    template = '/custmize/category/' + category.category_template
                product_list = product_list.filter(categorys__in=cat_list)
                product_list = list(set(product_list))
                # product_list = sorted(product_list,key= lambda product:product.update_time,reverse=True)
                if sort_by == 'create_time':
                    product_list = sorted(
                        product_list,
                        key=lambda product: product.create_time,
                        reverse=reverse)
                elif sort_by == 'market_price':
                    product_list = sorted(
                        product_list,
                        key=lambda product: product.market_price,
                        reverse=reverse)
                elif sort_by == 'name':
                    product_list = sorted(product_list,
                                          key=lambda product: product.name,
                                          reverse=reverse)
                else:
                    product_list = sorted(
                        product_list,
                        key=lambda product: product.sort_order,
                        reverse=reverse)
                logger.debug('Products count in product_list : [%s]' %
                             len(product_list))

                ctx['category'] = category
            except Exception as err:
                logger.error(
                    'Can not find category which id is %s. Error message is %s '
                    % (category_id, err))

            # 设置分类专用的标题和描述
            if category:
                ctx['category_title'] = category.name
                ctx['category_desc'] = category.description

        if 'page_size' in request.GET:
            page_size = request.GET['page_size']
        else:
            try:
                page_size = int(
                    System_Config.objects.get(name='product_page_size').val)
            except:
                page_size = 12

        product_list, page_range, current_page = my_pagination(
            request=request, queryset=product_list, display_amount=page_size)

        ctx['product_list'] = product_list
        ctx['page_range'] = page_range
        ctx['current_page'] = current_page
        return TemplateResponse(request,
                                System_Config.get_template_name() + template,
                                ctx)
コード例 #44
0
ファイル: article.py プロジェクト: chree188/cetusshop
def list_view(request):
    ctx = {}
    ctx['system_para'] = get_system_parameters()
    ctx['page_name'] = '文章管理'

    if request.method == 'GET':

        type = request.GET.get('type', '')
        ctx['type'] = type
        #默认只查询博客文章
        if not type:
            type = '0'

        query_item = request.GET.get('query_item', '')
        ctx['query_item'] = query_item
        logger.debug('query item : %s' % query_item)

        item_value = request.GET.get('item_value', '')
        ctx['item_value'] = item_value
        logger.debug('item_value : %s' % item_value)
        query_busi_category = request.GET.get('query_busi_category', '')
        ctx['query_busi_category_id'] = query_busi_category
        try:
            busi_cat = ArticleBusiCategory.objects.get(id=query_busi_category)
            ctx['query_busi_category_name'] = busi_cat.name
        except:
            ctx['query_busi_category_name'] = ''

        logger.debug('query_busi_category : %s' % query_busi_category)

        #all = Article.objects.all().order_by('-update_time')
        all = Article.objects.all().order_by('-sort_order')
        if type:
            all = all.filter(category=type)

        if query_item == 'title':
            if item_value:
                from django.db.models import Q
                all = all.filter(Q(title__icontains=item_value))

        if query_busi_category:
            all = all.filter(busi_category=query_busi_category)

        page_size = get_page_size()
        artile_list, page_range = my_pagination(request=request,
                                                queryset=all,
                                                display_amount=page_size)

        #为页面准备分类的下拉列表
        from shopcart.myadmin.article_busi_category import get_all_category
        busi_category_list = get_all_category()
        logger.debug('busi_category_list : %s' % busi_category_list)
        ctx['busi_category_list'] = busi_category_list

        ctx['article_list'] = artile_list
        ctx['page_range'] = page_range
        ctx['page_size'] = page_size
        ctx['article_count'] = all.count()
        return TemplateResponse(
            request,
            System_Config.get_template_name('admin') + '/article_list.html',
            ctx)
    else:
        raise Http404