Exemple #1
0
def tabs_list(id):
    likeform   = LikeForm()
    artist     = Artist.query.filter_by(id=id).first_or_404()
    dic_codes  = dict([(code.id,code.code_name) for code in Dic_code.query.all()])
    tabs_kind  = Dic_code.query.filter_by(parent_id=4).all()

    big_cates = Dic_code.query.filter_by(parent_id=1).all()
    for big_cate in big_cates:
        big_cate.children = Dic_code.query.filter(Dic_code.parent_id == big_cate.type_id).order_by(Dic_code.id)

    if request.method == 'POST' and likeform.validate_on_submit() and current_user.is_authenticated():
        if likeform.op.data == 'c':
            like = Like()
            like.save(likeform, current_user.id, 2)
            artist.fans = artist.fans + 1
        elif likeform.op.data == 'd':
            like = Like.query.filter_by(like_id=likeform.like_id.data).filter_by(uid=current_user.id)\
                    .filter_by(like_type=2).first()
            like.delete()
            if artist.fans != 0:
                artist.fans = artist.fans - 1
        db.session.commit()

    artist.hot = artist.hot + 1
    db.session.commit()


    if current_user.is_authenticated():
        like_tabs = [ like.like_id for like in Like.query.filter_by(uid=current_user.id)\
                    .filter_by(like_type=1).all() ]
    else:
        like_tabs = []

    kind_id =  request.args.get("kind")
    tabs    =  Tab.query.filter_by(artist=id).all()
    if kind_id:
        if kind_id == "all_tab" :
            tabs = tabs
        else:
            kind_id = int(kind_id)
            tabs    = Tab.query.filter(Tab.artist == id).filter(Tab.tabs_type == kind_id).all() 
        return render_template('artists/tabs_filter_ajax.html', tabs=tabs, dic_codes=dic_codes,\
            form=likeform, like_tabs=like_tabs)

    is_like = None
    if current_user.is_authenticated():
        is_like = Like.query.filter_by(uid=current_user.id).filter_by(like_type=2)\
                    .filter_by(like_id=id).first()
    
    return render_template('artists/tabs_list.html', artist=artist, tabs=tabs, is_like=is_like,\
        dic_codes=dic_codes, tabs_kind=tabs_kind, form=likeform, like_tabs=like_tabs, big_cates=big_cates)
Exemple #2
0
def index(subpath='newest'):
    form      = LikeForm()
    dic_codes = dict([(code.id,code.code_name) for code in Dic_code.query.all()])
    big_cates = Dic_code.query.filter_by(parent_id=1).all()
    for big_cate in big_cates:
        big_cate.children = Dic_code.query.filter(Dic_code.parent_id == big_cate.type_id).order_by(Dic_code.id)
    
    if current_user.is_authenticated():
        like_tabs = [ like.like_id for like in Like.query.filter_by(uid=current_user.id)\
                    .filter_by(like_type=1).all() ]
    else:
        like_tabs = []

    big_kind = request.args.get('big_kind')
    if big_kind:
        big_kind    = int(big_kind)
        little_kind = int(request.args.get('little_kind'))
        if big_kind == 3:
            tabs = Tab.query.filter_by(instrument=little_kind)
        elif big_kind == 4:
            tabs = Tab.query.filter_by(tabs_type=little_kind)
    else:
        tabs = Tab.query

    if subpath == 'hot':
        tabs = tabs.order_by(Tab.hot.desc())
    else:
        tabs = tabs.order_by(Tab.create_time.desc())

    page = request.args.get('page')
    if not page or int(page) < 1:
        page = 1
    #tabs = tabs.paginate(int(page), PER_PAGE, True)
    tabs = paginate(tabs, page=int(page), per_page=PER_PAGE)

    if request.method == 'POST' and form.validate_on_submit() and current_user.is_authenticated():
        if form.op.data == 'c':
            like = Like()
            like.save(form, current_user.id, 1)
        elif form.op.data == 'd':
            like = Like.query.filter_by(like_id=form.like_id.data).filter_by(uid=current_user.id)\
                    .filter_by(like_type=1).first()
            like.delete()
        db.session.commit()

    return render_template('tabs/index.html', tabs=tabs, big_cates=big_cates, dic_codes=dic_codes, \
        form=form, like_tabs=like_tabs, subpath=subpath)
Exemple #3
0
def like(request, hentai_id):
    hentai = get_object_or_404(Hentai, id=hentai_id)

    has_liked = bool(request.COOKIES.get('has_liked', False))
    if has_liked and request.user.is_anonymous():
        return HttpResponseRedirect(request.GET.get('destination', '/'))
    else:
        like_q = hentai.likes.filter(user=request.user)
        if like_q.count() > 0:
            return HttpResponseRedirect(request.GET.get('destination', '/'))

    if request.user.is_anonymous():
        like = Like(hentai=hentai)
    else:
        like = Like(hentai=hentai, user=request.user)
    like.save()
    response = HttpResponseRedirect(request.GET.get('destination', '/'))
    response.set_cookie("has_liked", True)
    return response