Пример #1
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.uid = current_user.id
            wish.isbn = isbn
            db.session.add(wish)
    else:
        flash('这本书已经添加至你的赠送清单或者已存在于你的心愿清单,请不要重复添加')
Пример #2
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        wish = Wish()
        wish.isbn = isbn
        wish.uid = current_user.id
        with db.auto_commit():
            db.session.add(wish)
    else:
        flash('你当前有赠送这本书或你心愿清单里有这本书')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #3
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash('此书已存在您的心愿单或赠送单,请不要重复添加')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #4
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.uid = current_user.id
            wish.isbn = isbn
            db.session.add(wish)
    else:
        flash('这本书已在您的愿望清单或赠送清单')
    return render_template(url_for('web.book_detail', isbn=isbn))
Пример #5
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.uid = current_user.id
            wish.isbn = isbn
            db.session.add(wish)
    else:
        flash("you already added this book in your wish list")
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #6
0
def save_to_wish(isbn):
    if current_user.can_save_to_db(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash("这本书已经添加至你的赠送清单或者已经存在于你的心愿清单,请勿重复添加。")
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #7
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash("这本书已添加至您的赠送清单或心愿清单,请勿重复添加")
    return redirect(url_for("web.book_detail", isbn=isbn))
Пример #8
0
def save_to_wish(isbn):
    if current_user.can_add_list(isbn):
        with db.auto_commit():
            gift = Wish()
            gift.isbn = isbn
            gift.uid = current_user.id
            db.session.add(gift)
    else:
        flash('已经加入了赠送清单或已经存在与你的心愿清单,请不要重复添加')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #9
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.uid = current_user.id
            wish.isbn = isbn
            db.session.add(wish)
    else:
        flash('这本书已添加到你的赠送清单或已存在于你的心愿清单,请不要重复添加')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #10
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash('请勿将同一本书加入心愿清单和赠送清单!')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #11
0
def save_to_wish(isbn):
    if current_user.can_save_gift_to_list(isbn):
        # 事务 只要使用db.session 都要使用rollback
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash('您已将此书加入心愿清单不能重复加入!')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #12
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            wish.add()
        flash('添加成功!')
    else:
        flash('添加失败')
    return redirect(url_for('web.book:detail', isbn=isbn))
Пример #13
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        # try:
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash('这本书已经在你的赠送或者心愿清单中存在,请不要重复提交')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #14
0
def save_to_wish(isbn):
    if current_user.can_save_to_wish_list(isbn):
        with db.auto_commit():  # 由上下文管理函数来封装提交与回滚的 try  except  代码块。
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash("这本书已经添加了或在你的心愿列表中,请勿重复添加")
    # 视图函数必须有返回,此业务逻辑下可以重定向到某个页面,但更合适的是保留在当前页面,应使用ajax技术,涉及前端技术,此处先用普通重定向
    return redirect(url_for("web.book_detail", isbn=isbn))
Пример #15
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id

            db.session.add(wish)
    else:
        flash("这本书以添加进您的赠送清单或已经存在于您的心愿清单,请不要重复添加")
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #16
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash('这本书已经添加至你的心愿清单或赠送清单了,请不要重复添加')
    # redirect可以使用AJAX技术
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #17
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK']
            db.session.add(wish)
    else:
        flash('这本书已经添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #18
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        # auto_commit为自定义上下文管理器
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash("书籍已经存在心愿清单或者愿望清单中")
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #19
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id #current_user 与user中的模型get_user方法相对
            db.session.add(wish)
    else:
        flash('这本书已存在你的赠送清单,或者你的心愿清单,请不要重复添加')
    # ajax技术不刷新页面返回数据  或者将整个页面缓存起来,从而提高服务器性能
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #20
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            # current_user实例化User的模型,和user中定义的get_user方法
            # current_user.beans += current_app.config['BEAN']
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash('这本书已添加至你的赠送清单或存在于你的心愿清单,请不要重复操作')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #21
0
def save_to_wish(isbn):         # 保存到心愿清单
    yushu_book = YuShuBook()
    yushu_book.search_by_isbn(isbn)
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.uid = current_user.id
            wish.isbn = isbn
            db.session.add(wish)
    else:
        flash('这本书已添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #22
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        # 事务 回滚
        # try:
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash('这本书已添加至你的礼物清单或已经存在与你的心愿清单')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #23
0
def save_to_wish(isbn):
    if current_user.cansavetolist(isbn):
        #rollback
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id  # 根据getuser方法,login模块自动实现模型的转换关联
            db.session.add(wish)
    else:
        #可以使用ajax技术实现返回之前页面,避免重复刷新
        #也可以使用页面缓存技术
        flash('这本书已添加至愿望清单或想要清单,请不要重复添加')
Пример #24
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.uid = current_user.id
            wish.isbn = isbn
            # 获取book id
            book = Book.query.filter_by(isbn=isbn).first()
            wish.bid = book.id
            db.session.add(wish)
    else:
        flash('这本书已添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #25
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            # current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK']
            db.session.add(wish)
    else:
        flash('这本书已经在赠送清单或心愿清单,请不要重复添加')
        # book_detail -> save_to_gifts -> book_detail
        # 这里 book_detail会重新渲染,可以考虑 使用 Ajax 和静态文件缓存
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #26
0
def create_wish(isbn):
    uid = g.user.uid
    with db.auto_commit():
        Book.query.filter_by(isbn=isbn).first_or_404()
        gift = Gift.query.filter_by(isbn=isbn, uid=uid, launched=False).first()
        wish = Wish.query.filter_by(isbn=isbn, uid=uid, launched=False).first()
        if gift or wish:
            raise DuplicateGift()
        wish = Wish()
        wish.isbn = isbn
        wish.uid = uid
        db.session.add(wish)
    return Success(code=201)
Пример #27
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        with db.auto_commit():

            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id  # current_user就是一个user模型,可理解为user类的实例化对象
            # current_user.beans += current_usent_app.config['BEANS_UPLOAD_ONE_BOOK']  # 增加鱼豆
            db.session.add(wish)
            # db.session.commit()
    else:
        flash('这本书已经添加至你的心愿清单或存在于你的赠送清单,请不要重复添加')
    return redirect(url_for('web.book_detail', isbn=isbn))  # isbn为视图函数需要的参数
Пример #28
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        # 事务
        # rollback
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            # current_user和get_user有关系
            wish.uid = current_user.id
            db.session.add(wish)
    else:
        flash("这本书已经添加到您的赠送清单或已存在于您的心愿清单,请不要重复添加")

    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #29
0
def save_to_wish(isbn):
    if current_user.can_save_tolist(isbn):

        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
    else:

        flash("这本书已经添加到你的赠送清单里面了. Sorry,can't save isbn:{}".format(isbn))
        # return "sorry,can't save isbn:{}".format(isbn)

    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #30
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        # 事务,操作了两张表,因此要保证数据的一致性
        # rollback 数据库回滚
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id

            db.session.add(wish)

    else:
        flash('这本书已经添加至你的赠送清单或已存在于你的心愿清单,请不要重复操作')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #31
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        try:
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            db.session.add(wish)
            db.session.commit()
        except Exception as e:
            db.session.rollback()
            raise e
    else:
        flash('这本书已添加至你的赠送清单或已存在于你的心愿清单,请不要重复添加')
    return redirect(url_for('web.book_detail', isbn=isbn))
Пример #32
0
def save_to_wish(isbn):
    if current_user.can_save_to_list(isbn):
        # 事务,保证user和gift的一致性,rollback
        # try:
        with db.auto_commit():
            wish = Wish()
            wish.isbn = isbn
            wish.uid = current_user.id
            #################################################
            # current_user.beans += current_app.config['BEANS_UPLOAD_ONE_BOOK']
            db.session.add(wish)
            # db.session.commit()
        # except Exception as e:
        #     db.session.rollback()
        #     raise e
    else:
        flash('这本书已经添加至你的赠送清单或者一存在于你的心愿清单,请不要重复添加')
    return redirect('web.book_detail', isbn=isbn)