コード例 #1
0
def index(page=1, page_size=20):
    """快递列表"""
    g.page_type = 'search'
    g.title = u'快递列表'
    g.add_new = True
    g.button_name = u'新增快递'

    args = request.args
    shipping_name = args.get('shipping_name', '').strip()
    shipping_code = args.get('shipping_code', '').strip()
    is_default = toint(args.get('is_default', '-1'))

    q = Shipping.query

    if shipping_name:
        q = q.filter(Shipping.shipping_name.like(u'%' + shipping_name + u'%'))

    if shipping_code:
        q = q.filter(Shipping.shipping_code.like(u'%' + shipping_code + u'%'))

    if is_default >= 0:
        q = q.filter(Shipping.is_default == is_default)

    s_count = get_count(q)
    shipping_list  = q.order_by(Shipping.shipping_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, s_count, None)

    res = make_response(render_template('shipping/index.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #2
0
ファイル: comment.py プロジェクト: caiweipan/project_test
def goods_index(page=1, page_size=20):
    """商品评价列表"""
    g.title = u'商品评价列表'
    g.page_type = 'search'

    args = request.args
    goods_id = toint(args.get('goods_id', '0'))
    goods_name = args.get('goods_name', '')

    q = Goods.query

    if goods_id > 0:
        q = q.filter(Goods.goods_id == goods_id)

    if goods_name:
        q = q.filter(Goods.goods_name.like(u'%' + goods_name + u'%'))

    goods_count = get_count(q)
    goods_list = q.order_by(Goods.goods_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, goods_count, None)
    res = make_response(
        render_template('comment/goods_index.html',
                        goods_list=goods_list,
                        pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #3
0
def attr_group_list(page=1, page_size=20):
    """ 属性组列表 """
    g.page_type = 'search'
    g.title     = u'属性组列表'

    args = request.args
    ag_name = args.get('ag_name', '').strip()
    ag_type = toint(args.get('ag_type', -1))

    q = AttrGroup.query

    if ag_name:
        like_ag_name = u'%' + ag_name + u'%'
        q = q.filter(AttrGroup.ag_name.like(like_ag_name))

    if ag_type >= 0:
        ag_type = ag_type if ag_type in (1,2) else 0
        q = q.filter(AttrGroup.ag_type == ag_type)

    group_count = get_count(q)
    group_list  = q.order_by(AttrGroup.ag_id.desc()).all()
    pagination  = Pagination(None, page, page_size, group_count, None)

    res = make_response(render_template('goods/attr_group_list.html.j2',
                group_list=group_list, pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #4
0
def handle(**kwargs):

    HOST = "http://eutils.ncbi.nlm.nih.gov"
    SEARCH_URL = "{0}/entrez/eutils/esearch.fcgi/".format(HOST)
    SUMMARY_URL = "{0}/entrez/eutils/esummary.fcgi".format(HOST)

    search_args = {
        'db': kwargs.get("db", "pmc"),
        'term': kwargs.get("term", 'PD1'),
        'retstart': (int(kwargs.get("page", 1)) - 1) * 10,
        'retmax': '10',
        'retmode': 'json',
        'sort': 'pub+date',
    }
    result = {"data": [], "totalCount": 0, "retstart": 0, "retmax": 10}
    try:
        data = NCBISearch(**search_args)
        result["totalCount"] = int(data["esearchresult"]["count"])
        result["retstart"] = int(data["esearchresult"]["retstart"])
        result["retmax"] = 10
        ulist = ",".join(data["esearchresult"]["idlist"])
        result["data"] = NCBIFetch(**{
            "db": kwargs.get("db", "pmc"),
            "id": ulist
        })
    except:
        pass
    return Pagination(None, int(kwargs.get("page", 0)), 10,
                      result["totalCount"], result["data"])
コード例 #5
0
ファイル: coupon.py プロジェクト: caiweipan/project_test
def index(page=1, page_size=20):
    """优惠券列表"""
    g.title = u'优惠券列表'
    g.page_type = 'search'
    g.add_new = True
    g.button_name = u'发放优惠券'

    args = request.args

    cb_name = args.get('cb_name', '').strip()
    coupon_name = args.get('coupon_name', '').strip()
    is_valid = toint(args.get('is_valid', -1))
    begin_add_time = args.get('begin_add_time', '')
    end_add_time = args.get('end_add_time', '')

    query_dict = {
        'cb_name': cb_name,
        'coupon_name': coupon_name,
        'is_valid': is_valid,
        'begin_add_time': begin_add_time,
        'end_add_time': end_add_time,
    }
    q = CouponBatch.query
    q = easy_query_filter(CouponBatch, q, query_dict)

    coupon_count = get_count(q)
    coupon_list  = q.order_by(CouponBatch.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()
    pagination = Pagination(None, page, page_size, coupon_count, None)

    res = make_response(render_template('coupon/index.html', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #6
0
def question_detail(page=1, page_size=20):
    """回答详情"""
    g.page_type = ''
    g.title     = u'回答详情'

    args = request.args
    question_id = toint(args.get('question_id', '0'))
    uid         = toint(args.get('uid', '0'))
    check_type  = toint(args.get('check_type', '1'))
    query_type  = toint(args.get('query_type', '1'))

    user = User.get(uid)
    if not user:
        return u'找不到用户'

    question = Question.get(question_id)
    if not question:
        return u'找不到提问的问题'

    qa_query = QuestionAnswer.query.filter(QuestionAnswer.uid == uid).\
                filter(QuestionAnswer.question_id == question_id)

    qa_count = get_count(qa_query)

    qa_list  = qa_query.order_by(QuestionAnswer.add_time.desc()).\
                        offset((page-1)*page_size).limit(page_size).all()

    pagination = Pagination(None, page, page_size, qa_count, None)

    return render_template('user/question_detail.html.j2', f=question, **locals())
コード例 #7
0
def troy_list(page=1, page_size=20):
    """ 马甲用户列表 """
    g.page_type = 'search'
    g.title     = u'马甲用户列表'
    g.add_new = True
    g.button_name = u'添加马甲用户'
    args = request.args
    uid      = toint(args.get('uid', 0))
    nickname = args.get('nickname', '').strip()

    q = db.session.query(UserTroy.add_time, User.uid, User.nickname, User.avatar).\
                filter(UserTroy.uid == User.uid)

    if uid:
        q = q.filter(UserTroy.uid == uid)

    if nickname:
        like_nickname = u'%' + nickname + u'%'
        q = q.filter(User.nickname.like(like_nickname))

    troy_count = get_count(q)
    troy_list  = q.order_by(UserTroy.uid.desc()).\
                        offset((page-1)*page_size).limit(page_size).all()

    pagination = Pagination(None, page, page_size, troy_count, None)

    res = make_response(render_template('user/troy_list.html.j2', troy_list=troy_list, pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #8
0
def recharge_card_list(page=1, page_size=20):
    """充值卡列表"""
    g.page_type = 'search'
    g.title = u'充值卡列表'
    g.add_new = True
    g.button_name = u'新增充值卡'
    param_dict = get_params({'rc_id': int, 'amount': str, 'gift': str})

    query_dict = {
        'rc_id': param_dict['rc_id'],
        'amount': param_dict['amount'],
        'gift': param_dict['gift']
    }

    q = RechargeCard.query
    q = easy_query_filter(RechargeCard, q, query_dict)
    recharge_card_count = get_count(q)
    recharge_card_list  = q.order_by(RechargeCard.rc_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, recharge_card_count, None)

    res = make_response(
        render_template('sys/recharge_card_list.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #9
0
def index(page=1, page_size=20):
    """用户列表"""
    g.page_type = 'search'
    g.title = u'用户列表'

    args     = request.args
    mobile   = args.get('mobile', '').strip()
    nickname = args.get('nickname', '').strip()
    gender   = toint(args.get('gender', '0'))

    q = User.query

    if gender > 0:
        q = q.filter(User.gender == gender)

    if nickname:
        like_nickname = u'%' + nickname + u'%'
        q = q.filter(User.nickname.like(like_nickname))

    if mobile:
        like_mobile = u'%' + mobile + u'%'
        q = q.filter(User.mobile.like(like_mobile))

    user_count = get_count(q)
    user_list  = q.order_by(User.uid.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, user_count, None)

    res = make_response(render_template('user/index.html.j2',
                user_list=user_list, pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #10
0
def ic_list(page=1, page_size=20):
    """图片分类列表"""
    g.page_type = 'search'
    g.title = u'图片分类列表'
    g.add_new = True
    g.button_name = u'新增分类'

    args = request.args
    ic_name = args.get('ic_name', '').strip()

    q = ImgCategory.query

    if ic_name:
        like_mobile = u'%' + ic_name + u'%'
        q = q.filter(ImgCategory.ic_name.like(like_mobile))

    ic_count = get_count(q)
    ic_list  = q.order_by(ImgCategory.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, ic_count, None)

    res = make_response(render_template('img/ic_list.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #11
0
def admin_add(page=1, page_size=20):
    """用户角色添加"""
    g.title = u'用户角色添加'
    g.page_type = ''

    args = request.args
    errmsg = args.get('errmsg', '')
    mobile = args.get('mobile', '')
    role_id = toint(args.get('role_id', '0'))

    if errmsg:
        g.errmsg = eval(errmsg)
        log_debug('errmsg:%s'%g.errmsg)

    q = db.session.query(User.uid, User.avatar, User.mobile, User.nickname, UserAdmin.id, UserAdmin.role_id).\
            filter(User.uid == UserAdmin.uid).\
            filter(UserAdmin.role_id > 1)

    admin_count = get_count(q)
    admin_list  = q.order_by(UserAdmin.id.desc()).offset((page-1)*page_size).limit(page_size).all()

    role_list   = db.session.query(Role.role_id, Role.role_name).\
                    order_by(Role.role_id.asc()).all()

    # html页面显示角色名称
    role_dict = role_name()

    pagination  = Pagination(None, page, page_size, admin_count, None)

    return render_template('power/admin_add.html.j2', f={'mobile':mobile},**locals())
コード例 #12
0
def column_list(page=1, page_size=20):
    """ 商品栏目列表 """

    g.page_type = 'search'
    g.title     = u'商品栏目列表'

    args           = request.args
    gc_id          = toint(args.get('gc_id', '0'))
    column_name    = args.get('column_name', '').strip()
    status         = toint(args.get('status', '-1'))
    begin_add_time = args.get('begin_add_time', '')
    end_add_time   = args.get('end_add_time', '')

    gc_id = gc_id if gc_id > 0 or args.get('gc_id', '') == '0'  else -1

    query_dict = {'gc_id':gc_id,'column_name':column_name,'status':status,'begin_add_time':begin_add_time,'end_add_time':end_add_time,}

    q = GoodsColumn.query
    q = easy_query_filter(GoodsColumn,q,query_dict)

    column_count = get_count(q)
    column_list  = q.order_by(GoodsColumn.gc_id.desc()).all()

    pagination = Pagination(None, page, page_size, column_count, None)

    res = make_response(render_template('goods/column.html.j2',
                column_list=column_list, pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #13
0
def j_search_user():
    email = request.args.get('email', '')
    query = request.args.get('query', '')
    page = get_arg('page', 1)
    type = request.args.get('type', '')
    #print "query is ",query

    if (type == 'user'):
        type = User.USER_TYPE.USER

    try:
        if email:
            user = UserBiz.get_user_by_email(email, type)
            users_pager = Pagination(None, 1, 1, 1, [user])
        else:
            users_pager = UserBiz.get_by_like(query, type, page, per_page=10)
    except DaixieError as e:
        return j_err(e)

    users = [{
        'id': user.email,
        'text': user.email,
        'account': user.account
    } for user in users_pager.items if user]

    return j_ok(u'搜索成功', items=users, pages=users_pager.pages)
コード例 #14
0
def lottery_temp_detail(page=1, page_size=20):
    """一元云购活动模板详情"""
    g.page_type = ''
    g.title = u'一元云购活动模板详情'

    lt_id = toint(request.args.get('lt_id', '0'))

    lottery_temp_info = LotteryTemplate.query.filter(
        LotteryTemplate.lt_id == lt_id).first()
    goods_list = Goods.query.filter(Goods.kind == 2).\
                    filter(Goods.is_sale == 1).all()

    if lottery_temp_info is None:
        return u'一元云购活动模板不存在'

    param_dict = get_params({
        'lottery_id': int,
        'section_number': int,
        'query_goods_id': int,
        'lottery_name': str,
        'lottery_status': int,
        'begin_add_time': str,
        'end_add_time': str
    })

    query_dict = {
        'lottery_id': param_dict['lottery_id'],
        'section_number': param_dict['section_number'],
        'goods_id': param_dict['query_goods_id'],
        'lottery_name': param_dict['lottery_name'],
        'lottery_status': param_dict['lottery_status'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
    }

    q = db.session.query(Lottery.lottery_id, Lottery.section_number, Goods.goods_name, Lottery.goods_id, Lottery.lottery_name, Lottery.lottery_img, Lottery.lottery_price, Lottery.lottery_status, Lottery.schedule, Lottery.announced_time, Lottery.add_time).\
        filter(Lottery.goods_id == Goods.goods_id).\
        filter(Goods.kind == 2).\
        filter(Lottery.lt_id == lt_id)

    q = easy_query_filter(Lottery, q, query_dict)

    # 商品列表
    goods_query_list = [{'name': u'请选择……', 'value': '-1'}]
    goods_query_list_temp = db.session.query(Goods.goods_name, Goods.goods_id).\
                                group_by(Goods.goods_id).all()

    for goods in goods_query_list_temp:
        gs = {'name': goods.goods_name, 'value': goods.goods_id}
        goods_query_list.append(gs)

    lottery_count = get_count(q)
    lottery_list  = q.order_by(Lottery.lottery_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()
    pagination = Pagination(None, page, page_size, lottery_count, None)

    return render_template('lottery/add_template.html.j2',
                           f=lottery_temp_info,
                           **locals())
コード例 #15
0
def list_pagination(query_list, page=1, page_size=20):
    pagination = Pagination(None, page, page_size, len(query_list), None)
    if page and page_size and len(query_list) > 0:
        a = (page - 1) * page_size
        b = ((page - 1) * page_size + page_size) if page > 1 else page_size
        query_list = query_list[a:b]

    return [query_list, pagination]
コード例 #16
0
def index(page=1, page_size=20):
    """图片列表"""
    g.page_type = 'search'
    g.title = u'图片列表'
    g.add_new = True
    g.button_name = u'新增图片'

    args = request.args
    img_title = args.get('img_title', '').strip()
    ic_id = toint(args.get('ic_id', '0'))
    img_id = toint(args.get('img_id', '0'))
    is_display = toint(args.get('is_display', '-1'))
    begin_add_time = args.get('begin_add_time', '').strip()
    end_add_time = args.get('end_add_time', '').strip()

    q = Img.query

    if ic_id > 0:
        q = q.filter(Img.ic_id == ic_id)

    if img_id > 0:
        q = q.filter(Img.img_id == img_id)

    if is_display > 0:
        q = q.filter(Img.is_display == is_display)

    if img_title:
        like_mobile = u'%' + img_title + u'%'
        q = q.filter(Img.img_title.like(like_mobile))

    if begin_add_time:
        begin_time = time.mktime(time.strptime(begin_add_time, '%Y-%m-%d'))
        q = q.filter(Img.add_time >= begin_time)

    if end_add_time:
        end_add_time = time.mktime(time.strptime(end_add_time,
                                                 '%Y-%m-%d')) + 24 * 3600
        q = q.filter(Img.add_time < end_add_time)

    img_count = get_count(q)
    img_list  = q.order_by(Img.img_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    ic_temp = db.session.query(ImgCategory.ic_id, ImgCategory.ic_name).\
                order_by(ImgCategory.ic_id.desc()).all()

    ic_dict, ic_list = {}, []
    for ic in ic_temp:
        if ic.ic_name:
            ic_dict = {'value': ic.ic_id, 'name': ic.ic_name}
            ic_list.append(ic_dict)

    pagination = Pagination(None, page, page_size, img_count, None)

    res = make_response(render_template('img/index.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #17
0
def search(page):
    per_page = 50
    q = request.args.get("q", "")
    q = "%{}%".format(q)
    q = db.session.query(OnionAddress).filter(OnionAddress.address.ilike(q)).order_by(OnionAddress.last_seen.desc())
    total = q.count()
    onion_addresses = q.limit(per_page).offset((page - 1) * per_page).all()
    pagination = Pagination(q, page, per_page, total, onion_addresses)
    return render_template("index.html", pagination=pagination, total_count=total)
コード例 #18
0
ファイル: service.py プロジェクト: hansteve/hopapapa
 def get_home_page_paginate(cls, type, page, per_page):
     paginate = HomePage.query_home_page_paginate(
         type=type,
         page=page,
         is_online=1,
         per_page=per_page
     )
     items = Resource.format_paginate_items(paginate)
     return Pagination(None, page, per_page, paginate.total, items)
コード例 #19
0
def ordinary_list(page=1, page_size=20):
    """普通订单列表"""
    g.title = u'普通订单列表'
    g.page_type = 'search'

    param_dict = get_params({
        'order_id': int,
        'order_status': int,
        'pay_status': int,
        'order_amount': int,
        'begin_paid_time': str,
        'end_paid_time': str,
        'shipping_sn': str,
        'shipping_status': int,
        'deliver_status': int,
        'is_comment': int,
        'begin_add_time': str,
        'end_add_time': str
    })

    query_dict = {
        'order_id': param_dict['order_id'],
        'pay_status': param_dict['pay_status'],
        'order_status': param_dict['order_status'],
        'order_amount': param_dict['order_amount'],
        'shipping_sn': param_dict['shipping_sn'],
        'shipping_status': param_dict['shipping_status'],
        'deliver_status': param_dict['deliver_status'],
        'is_comment': param_dict['is_comment'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
        'begin_paid_time': param_dict['begin_paid_time'],
        'end_paid_time': param_dict['end_paid_time']
    }

    q = db.session.query(Order.order_id, Order.uid, Order.order_status, Order.order_desc, Order.order_amount, Order.shipping_sn, Order.shipping_status, Order.deliver_status, Order.is_comment, Order.add_time, Order.paid_time, Order.pay_status).\
        filter(Order.uid == User.uid).\
        filter(Order.order_type == 1)

    q = easy_query_filter(Order, q, query_dict)

    order_count = get_count(q)
    order_list = q.order_by(Order.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    (USERNAME, MOBILE, NICKNAME, AVATAR, REALNAME, GENDER) = get_user_data()
    pagination = Pagination(None, page, page_size, order_count, None)

    res = make_response(
        render_template('order/ordinary_list.html.j2',
                        f={
                            'lt_id': '',
                            'lottery_id': ''
                        },
                        **locals()))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #20
0
def route_forum_thread(thread, page):
    thread = ForumThread.query.filter(ForumThread.id == thread).first()
    if not thread:
        return redirect(url_for('route_forum'))

    if thread.deleted and session.get('access', 0) != ADMIN_ACCOUNT_TYPE:
        return redirect(url_for('route_forum'))

    player = db.session().query(
        Player.name, Player.level, Player.vocation, Player.town_id,
        Player.group_id, Player.postcount, Player.signature, Player.looktype,
        Player.lookhead, Player.lookbody, Player.looklegs, Player.lookfeet,
        Player.lookaddons).filter(Player.id == thread.author_id).first()
    if player:
        thread.player = player

    total = db.session().query(
        ForumPost.id).filter(ForumPost.thread_id == thread.id).count()
    perpage = POSTS_PER_PAGE

    posts = ForumPost.query.filter(ForumPost.thread_id == thread.id)

    if session.get('access', 0) != ADMIN_ACCOUNT_TYPE:
        posts = posts.filter(ForumPost.deleted == 0)

    posts = posts.order_by(ForumPost.timestamp.asc())
    posts = posts.offset((page - 1) * perpage)
    posts = posts.limit(perpage).all()

    for post in posts:
        player = db.session().query(
            Player.name, Player.level, Player.vocation, Player.town_id,
            Player.group_id, Player.postcount, Player.signature,
            Player.looktype, Player.lookhead, Player.lookbody, Player.looklegs,
            Player.lookfeet,
            Player.lookaddons).filter(Player.id == post.author_id).first()
        if player:
            post.player = player

    user = current_user()
    characters = None

    if user:
        characters = db.session().query(
            Player.id, Player.name).filter(Player.account_id == user.id).all()

    pagination = Pagination(posts, page, perpage, total, posts)

    return render_template('forum/thread.htm',
                           thread=thread,
                           posts=posts,
                           characters=characters,
                           pagination=pagination,
                           perpage=perpage,
                           page=page)
コード例 #21
0
def show_uncategorized(page):
    """Shows all posts which aren't in any category"""
    per_page = current_app.config['POSTS_PER_PAGE']
    posts = Post.query.filter(Post.categories==None)
    if not session.get('logged_in'): posts = posts.filter_by(visible=True)
    items = posts.limit(per_page).offset((page - 1) * per_page).all()
    pagination = Pagination(posts, page=page, per_page=per_page,
        total=posts.count(), items=items)
    flash("Uncategorized posts")
    return render_template('posts.html', pagination=pagination,
        endpoint_func=lambda x: url_for('main.show_uncategorized', page=x))
コード例 #22
0
def show_tag(tag, page):
    """Shows all posts with a specific tag"""
    per_page = current_app.config['POSTS_PER_PAGE']
    tag = Tag.query.filter_by(name=tag).first() or abort(404)
    posts = tag.posts.order_by(Post.id.desc())
    if not session.get('logged_in'): posts = posts.filter_by(visible=True)
    items = posts.limit(per_page).offset((page - 1) * per_page).all()
    pagination = Pagination(posts, page=page, per_page=per_page,
        total=posts.count(), items=items)
    flash("Posts tagged with '%s'" % tag.name)
    return render_template('posts.html', pagination=pagination,
        endpoint_func=lambda x: url_for('main.show_tag', tag=tag.name, page=x))
コード例 #23
0
def index(page=1, page_size=20):
    """一元云购活动列表"""
    g.page_type = 'search'
    g.title = u'一元云购活动列表'

    param_dict = get_params({
        'lottery_id': int,
        'section_number': int,
        'goods_id': int,
        'lottery_name': str,
        'lottery_status': int,
        'begin_add_time': str,
        'end_add_time': str
    })

    query_dict = {
        'lottery_id': param_dict['lottery_id'],
        'section_number': param_dict['section_number'],
        'goods_id': param_dict['goods_id'],
        'lottery_name': param_dict['lottery_name'],
        'lottery_status': param_dict['lottery_status'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
    }

    q = db.session.query(Lottery.lottery_id, Lottery.section_number, Goods.goods_name, Lottery.goods_id, Lottery.lottery_name, Lottery.lottery_img, Lottery.lottery_price, Lottery.lottery_status, Lottery.schedule, Lottery.announced_time, Lottery.add_time).\
        filter(Lottery.goods_id == Goods.goods_id).\
        filter(Goods.kind == 2)

    q = easy_query_filter(Lottery, q, query_dict)

    lottery_count = get_count(q)
    lottery_list  = q.order_by(Lottery.lottery_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    # 商品列表
    goods_id_list = [l.goods_id for l in lottery_list]
    goods_list = [{'name': u'请选择……', 'value': '-1'}]
    goods_list_temp = db.session.query(Goods.goods_name, Goods.goods_id).\
                                filter(Goods.goods_id.in_(goods_id_list)).\
                                group_by(Goods.goods_id).all()

    for goods in goods_list_temp:
        if goods.goods_name:
            gs = {'name': goods.goods_name, 'value': goods.goods_id}
            goods_list.append(gs)

    pagination = Pagination(None, page, page_size, lottery_count, None)

    res = make_response(render_template('lottery/index.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #24
0
def order_tran_list(page=1, page_size=20):
    """订单交易列表"""
    g.title = u'订单交易列表'
    g.page_type = 'search'

    param_dict = get_params({
        'tran_id': int,
        'pay_status': int,
        'begin_paid_time': str,
        'end_paid_time': str,
        'begin_add_time': str,
        'end_add_time': str,
        'order_id': int
    })

    query_dict = {
        'tran_id': param_dict['tran_id'],
        'pay_status': param_dict['pay_status'],
        'begin_paid_time': param_dict['begin_paid_time'],
        'end_paid_time': param_dict['end_paid_time'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
    }

    q = OrderTran.query
    q = easy_query_filter(OrderTran, q, query_dict)

    order_id = param_dict['order_id']
    if order_id > 0:
        q = q.filter(
            or_(OrderTran.order_id_list.like(u'%' + '%d,' % order_id + u'%'),
                OrderTran.order_id_list.like(u'%' + ',%d,' % order_id + u'%'),
                OrderTran.order_id_list.like(u'%' + ',%d' % order_id + u'%'),
                OrderTran.order_id_list.like(u'%' + '%d' % order_id + u'%')))

    tran_count = get_count(q)
    order_tran_list = q.order_by(OrderTran.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    for tran in order_tran_list:
        uid = tran.uid
        user_info = User.query.get(uid)
        tran.nickname = user_info.nickname if user_info else ''

    pagination = Pagination(None, page, page_size, tran_count, None)

    res = make_response(
        render_template('order/tran_list.html.j2',
                        order_tran_list=order_tran_list,
                        pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #25
0
    def paginate(self, query, page, per_page=20, error_out=True):
        if error_out and page < 1:
            abort(404)
        items = query.limit(per_page).offset((page - 1) * per_page).all()
        if not items and page != 1 and error_out:
            abort(404)

        if page == 1 and len(items) < per_page:
            total = len(items)
        else:
            total = query.order_by(None).count()

        return Pagination(query, page, per_page, total, items)
コード例 #26
0
def show_category(category, page):
    """Shows all posts in a category"""
    per_page = current_app.config['POSTS_PER_PAGE']
    category = Category.query.filter_by(name=category).first() or abort(404)
    posts = category.posts.order_by(Post.id.desc())
    if not session.get('logged_in'): posts = posts.filter_by(visible=True)
    items = posts.limit(per_page).offset((page - 1) * per_page).all()
    pagination = Pagination(posts, page=page, per_page=per_page,
        total=posts.count(), items=items)
    flash("Posts in category '%s'" % category.name)
    return render_template('posts.html', pagination=pagination,
        endpoint_func=lambda x: url_for('main.show_category',
        category=category.name, page=x))
コード例 #27
0
def lottery_detail(page=1, page_size=30):
    """一元云购活动详情"""
    g.page_type = ''
    g.title = u'一元云购活动详情'

    lottery_id = toint(request.args.get('lottery_id', '0'))

    lottery_info = Lottery.query.filter(
        Lottery.lottery_id == lottery_id).first()
    goods_list = Goods.query.filter(Goods.kind == 2).\
                    filter(Goods.is_sale == 1).all()

    if lottery_info is None:
        return u'一元云购活动不存在'

    param_dict = get_params({
        'lottery_name': str,
        'lottery_number': str,
        'nickname': str,
        'order_id': int,
        'is_prize': int,
        'add_time': str
    })
    query_dict = {
        'lottery_number': param_dict['lottery_number'],
        'order_id': param_dict['order_id'],
        'is_prize': param_dict['is_prize'],
        'add_time': param_dict['add_time']
    }

    q = db.session.query(LotteryNumber.ln_id, LotteryNumber.order_id, LotteryNumber.lottery_number, LotteryNumber.is_prize, LotteryNumber.add_time,Lottery.lottery_name,User.nickname).\
            filter(Lottery.lottery_id == LotteryNumber.lottery_id).\
            filter(LotteryNumber.uid == User.uid).\
            filter(LotteryNumber.lottery_id == lottery_id)

    q = easy_query_filter(LotteryNumber, q, query_dict)

    if param_dict['nickname']:
        q = q.filter(User.nickname.like(u'%' + param_dict['nickname'] + u'%'))

    if param_dict['lottery_name']:
        q = q.filter(
            Lottery.lottery_name.like(u'%' + param_dict['lottery_name'] +
                                      u'%'))

    lottery_count = get_count(q)
    lottery_number_list  = q.order_by(LotteryNumber.ln_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()
    pagination = Pagination(None, page, page_size, lottery_count, None)

    return render_template('lottery/add.html.j2', f=lottery_info, **locals())
コード例 #28
0
def goods_list(page=1, page_size=20):
    """ 商品列表 """
    g.page_type = 'search'
    g.title     = u'商品列表'
    g.add_new = True
    g.button_name = u'添加商品'
    args = request.args
    goods_id    = toint(args.get('goods_id', 0))
    goods_name  = args.get('goods_name', '').strip()
    gc_id       = toint(args.get('gc_id', 0))
    is_sale     = toint(args.get('is_sale', -1))
    kind        = toint(args.get('kind', '-1'))

    q = db.session.query(Goods.gc_id, Goods.goods_name, GoodsCategory.category_name, Goods.goods_img, Goods.goods_name, Goods.sort_order, Goods.goods_price, Goods.sale_count, Goods.kind, Goods.is_sale, Goods.goods_id, Goods.add_time).\
        filter(GoodsCategory.gc_id == Goods.gc_id)

    if goods_id:
        q = q.filter(Goods.goods_id == goods_id)

    if goods_name:
        like_goods_name = u'%' + goods_name + u'%'
        q = q.filter(Goods.goods_name.like(like_goods_name))

    if gc_id > 0:
        q = q.filter(Goods.gc_id == gc_id)

    if is_sale in (0, 1):
        q = q.filter(Goods.is_sale == is_sale)

    if kind >= 0:
        q = q.filter(Goods.kind == kind)

    # 商品分类列表
    goods_cat_list      = [{'name':u'请选择……', 'value':'-1'}]
    goods_cat_list_temp = db.session.query(GoodsCategory.category_name, GoodsCategory.gc_id).\
                                filter(GoodsCategory.gc_id == Goods.gc_id).\
                                group_by(GoodsCategory.gc_id).all()

    for goods_cat in goods_cat_list_temp:
        gc = {'name':goods_cat.category_name, 'value':goods_cat.gc_id}
        goods_cat_list.append(gc)

    goods_count = get_count(q)
    goods_list  = q.order_by(Goods.goods_id.desc()).all()

    pagination  = Pagination(None, page, page_size, goods_count, None)

    res = make_response(render_template('goods/goods_list.html.j2',**locals()))
    res.set_cookie('goback_url', request.url)
    return res
コード例 #29
0
def list_apps(page):
    per_page = 20
    offset = (page - 1) * per_page
    query = TableApp.query.order_by(TableApp.id)
    total_item = query.count()

    items = query.limit(per_page).offset(offset).all()
    pagination = Pagination(query, page, per_page, total_item, items)

    return render_template('list_apps.html',
                           recent_apps=recent_apps(),
                           permission_apps=permission_apps(),
                           items=items,
                           pagination=pagination)
コード例 #30
0
def temp_list(page=1, page_size=20):
    """一元云购模板列表"""
    g.page_type = 'search'
    g.title = u'一元云购模板列表'
    g.add_new = True
    g.button_name = u'新增一元云购模板'

    param_dict = get_params({
        'lt_id': int,
        'section_number': int,
        'goods_id': int,
        'lottery_name': str,
        'begin_add_time': str,
        'end_add_time': str
    })

    query_dict = {
        'lt_id': param_dict['lt_id'],
        'section_number': param_dict['section_number'],
        'goods_id': param_dict['goods_id'],
        'lottery_name': param_dict['lottery_name'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
    }

    q = db.session.query(LotteryTemplate.lt_id, LotteryTemplate.section_number, Goods.goods_name, LotteryTemplate.goods_id, LotteryTemplate.lottery_name, LotteryTemplate.lottery_img, LotteryTemplate.lottery_price, LotteryTemplate.add_time).\
        filter(LotteryTemplate.goods_id == Goods.goods_id).\
        filter(Goods.kind == 2)

    q = easy_query_filter(LotteryTemplate, q, query_dict)

    # 商品列表
    goods_list = [{'name': u'请选择……', 'value': '-1'}]
    goods_list_temp = db.session.query(Goods.goods_name, Goods.goods_id).\
                                group_by(Goods.goods_id).all()

    for goods in goods_list_temp:
        gs = {'name': goods.goods_name, 'value': goods.goods_id}
        goods_list.append(gs)

    lottery_temp_count = get_count(q)
    lottery_temp_list  = q.order_by(LotteryTemplate.lt_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()
    pagination = Pagination(None, page, page_size, lottery_temp_count, None)

    res = make_response(
        render_template('lottery/temp_list.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res