def send_drift(gid): current_gift = Gift.query.get_or_404(gid) if current_gift.is_yourself_gift(current_gift): flash('please do not require the book that you posted') return redirect(url_for('web.book_detail', isbn=current_gift.isbn)) can = current_user.can_send_drift() if not can: return render_template('not_enough_beans.html', beans=current_user.beans) form = DriftForm(request.form) if request.method == 'POST' and form.validate(): save_drift(form, current_gift) send_mail(current_gift.user.email, 'Some One Want Your Book', 'email/get_gift.html', wisher=current_gift, gift=current_gift) return redirect(url_for('web.pending')) gifter = current_gift.user.summary return render_template('drift.html', gifter=gifter, user_beans=current_user.beans, form=form)
def send_drift(gid): #该方法是索要书籍 current_gift = Gift.query.get_or_404(gid) if current_gift.is_yourself_gift(current_user.id): flash('这本书是自己的,不能向自己索要书籍') return redirect(url_for('web.book_detail', isbn=current_gift.isbn)) can = current_user.can_send_drift() if not can: return render_template('not_enough_beans.html', beans=current_user.beans) form = DriftForm(request.form) if request.method == 'POST' and form.validate(): save_drift(form, current_gift) #赠送书籍页面保存信息 #交易通知的方式,邮箱,短信 send_mail(current_gift.user.email, '有人想要这本书', 'email/get_gift.html', wisher=current_user, gift=current_gift) return redirect(url_for('web.pending')) gifter = current_gift.user.summary #id没用, 是relationship来操作另一个表 return render_template('drift.html', gifter=gifter, user_beans=current_user.beans, form=form)
def send_drift(gid): """ 发送鱼漂,请求书籍 :param gid: :return: """ current_gift = Gift.query.get_or_404(gid) # 自己不能向自己请求书籍 if current_gift.is_yourself_gift(current_user.id): flash('这本书是你自己的^_^,不能向自己索要书籍嗷~~') return redirect(url_for('web.book_detail', isbn=current_gift.isbn)) # 判断鱼豆以及索取和赠送关系是否满足条件 can = current_user.can_send_drift() if not can: return render_template('not_enough_beans.html', beans=current_user.beans) # 输入的参数校验 form = DriftForm(request.form) if request.method == 'POST' and form.validate(): save_drift(form, current_gift) send_mail(current_gift.user.email, '有人想要一本书', 'email/get_gift.html', wisher=current_user, gift=current_gift) return redirect(url_for('web.pending')) gifter = current_gift.user.summary return render_template('drift.html', gifter=gifter, user_beans=current_user.beans, form=form)
def send_drift(gid): ''' 向他人请求此书 1 判断能否请求 2 判断书籍的id 与 归属 3 请求的详情页面 4 发送邮件申请 :param gid: :return: ''' current_gift = Gift.query.get_or_404(gid) if current_gift.is_yourself_gift(current_user.id): flash('这本书属于你,不能向自己所要哦!!') return redirect(url_for('web.book_detail', isbn=current_gift.isbn)) else: can = current_user.can_send_drift() if not can: return render_template('not_enough_beans.html', beans=current_user.beans) form = DriftForm(request.form) if request.method == 'POST' and form.validate(): save_drift(form, current_gift) send_mail(current_gift.user.email, '有人想要一本书', 'email/get_gift.html', wisher=current_user, gift=current_gift) return redirect(url_for('web.pending')) gifter = current_gift.user.summary return render_template('drift.html', gifter=gifter, user_beans=current_user.beans, form=form)
def send_drift(gid): current_gift = Gift.query.get_or_404(gid) if current_gift.is_yourself_gift(current_user.id): flash('这本书是你自己的^-^,不能向自己索要书籍噢') return redirect(url_for('web.book_detail', isbn=current_gift.isbn)) can = current_user.can_send_drift() if not can: return render_template('not_enough_beans.html', beans=current_user.beans) form = DriftForm(request.form) if request.method == 'POST' and form.validate(): save_drift(form, current_gift) send_mail(current_gift.user.email, '有人想要一本书', 'email/get_gift.html', wisher=current_user, gift=current_gift) return redirect(url_for('web.pending')) gifter = current_gift.user.summary return render_template('drift.html', gifter=gifter, user_beans=current_user.beans, form=form)
def send_drift(gid): # filter_by(id=gid, launched=True)没有下面这条语句好。下面的语句可以多判断一种状态 current_gift = Gift.query.get_or_404(gid) # if current_gift.launched: # flash('这本书正处于交易状态,暂时不可以索要') # return redirect(url_for('web.book_detail', isbn=current_gift.isbn)) if current_gift.is_yourself_gift(current_user.id): flash('这本书是你自己的^_^,不能向自己索要书籍哦') return redirect(url_for('web.book_detail', isbn=current_gift.isbn)) can = current_user.can_send_drift() if not can: return render_template('not_enough_beans.html', beans=current_user.beans) form = DriftForm(request.form) if request.method == 'POST' and form.validate(): save_drift(form, current_gift) send_mail(current_gift.user.email, '有人想要一本书', 'email/get_gift.html', wisher=current_user, gift=current_gift) gifter = current_gift.user.summary return render_template('drift.html', gifter=gifter, user_beans=current_user.beans, form=form)
def send_drift(gid): current_gift = Gift.query.get_or_404(gid) if current_gift.is_yourself_gift(current_user.id): flash("这本是你自己的书, 请勿向自己索要书籍") return redirect(url_for("web.book_detail", isbn=current_gift.isbn)) can = current_user.can_send_drift() if not can: return render_template("not_enough_beans.html", beans=current_user.beans) form = DriftForm(request.form) if request.method == "POST" and form.validate(): save_drift(form, current_gift) send_mail(current_gift.user.email, "有人想要一本书", "email/get_gift.html", wisher=current_user, gift=current_gift) return redirect(url_for("web.pending")) gifter = current_gift.user.summary return render_template("drift.html", gifter=gifter, user_beans=current_user.beans, form=form)
def forget_password_request(): form = EmailForm(request.form) if request.method == 'POST' and form.validate(): account_email = form.email.data user = User.query.filter_by(email=account_email).first_or_404() send_mail(form.email.data, '重置你的密码', 'email/reset_password.html', user=user, token=user.generate_token()) flash('重置密码邮件已经发送' + account_email + ',请到邮箱中查收') return render_template('auth/forget_password_request.html', form=form)
def satisfy_wish(wid): wish = Wish.query.get_or_404(wid) gift = Gift.query.filter_by(uid=current_user.id, isbn=wish.isbn).first() if not gift: flash('你还没有上传此书,请点击”加入到赠送清单“添加此书。添加前,请确保自己可以赠送此书') else: send_mail(wish.user.email, '有人想送你一本书','email/satisify_wish.html', wish=wish, gift=gift) flash('已向他/她发送了一封邮件,如果他/她愿意接受你的赠送,你将收到一个鱼漂') return redirect(url_for('web.book_detail', isbn=wish.isbn))
def satisfy_wish(wid): wish = Wish.query.get_or_404(wid) gift = Gift.query.filter_by(uid=current_user.id, isbn=wish.isbn).first() if not gift: flash('你还没有上传此书,' '请点击“加入到赠送清单”添加此书。添加前,请确保自己可以赠送此书') else: send_mail(wish.user.email, '有人赠送你一本书', 'email/satisify_wish', wish=wish, gift=gift) flash('已向他/她发送了一封邮件,如果她/他愿意接受你的赠送,你将收到一个鱼漂') return redirect(url_for('web.book_detail', isbn=wish.isbn))
def forget_password_request(): form = EmailForm(request.form) if request.method== 'POST' and form.validate(): account_email = form.email.data user = User.query.filter_by(email=account_email).first_or_404() from app.libs.email import send_mail send_mail(form.email.data,'重置你的密码','email/reset_password.html', user=user.nickname,token=user.generate_token()) flash('一封邮件已发送到邮箱'+ account_email + '请注意查收!') return render_template('auth/forget_password_request.html',form=form)
def forget_password_request(): form = EmailForm(request.form) if request.method == 'POST': if form.validate(): account_email = form.email.data user = User.query.filter_by(email=account_email).first_or_404() send_mail(form.email.data, '重置你的密码', 'email/reset_password.html', user=user, token=user.generate_token()) flash('一封邮件已经发送到邮箱{},请及时查收'.format(account_email)) return redirect(url_for('web.login')) return render_template('auth/forget_password_request.html', form=form)
def forget_password_request(): form = EmailForm(request.form) if request.method == 'POST' and form.validate(): account_email = form.email.data user = User.query.filter_by(email=account_email).first_or_404() send_mail( account_email, "重置你的密码", 'email/reset_password.html', user=user, token=user.generate_token()) flash('重置密码邮件已经发送成功,请到邮箱中查收') return render_template('auth/forget_password_request.html', form=form)
def forget_password_request(): if request.method == 'POST': form = EmailForm(request.form) if form.validate(): account_email = form.email.data user = User.query.filter_by(email=account_email).first_or_404() from app.libs.email import send_mail send_mail(form.email.data, '重置你的密码', 'email/reset_password.html', user=user, token=123) return render_template('auth/forget_password_request.html')
def register(): form = RegisterForm(request.form) if request.method == 'POST' and form.validate(): with db.auto_commit(): user = User() user.set_attrs(form.data) db.session.add(user) send_mail(form.email.data, '您已注册成功', 'email/register.html', user=user) flash('注册成功,请重新登录') return redirect(url_for('web.login')) # 重定向 return render_template('auth/register.html', form=form)
def forget_password_request(): form = EmailForm(request.form) if request.method == 'POST': if form.validate(): account_email = form.email.data user = User.query.filter_by(email=account_email).first_or_404() from app.libs.email import send_mail send_mail(form.email.data, '重置密码', 'email/reset_password.html', user=user, token=user.generate_token()) flash('一封邮件已发送到您的邮箱' + account_email + '请查收邮件进行重置密码操作') redirect(url_for('web.index')) return render_template('auth/forget_password_request.html', form=form)
def __register_user_by_email(): form = UserEmailForm().validate_for_api() token = create_token(email=form.account.data, type=form.type.data.value, secret=form.secret.data, nickname=form.nickname.data) send_mail(form.account.data, '用户注册', 'email/register.html', [], form=form, token=token)
def satisfy_wish(wid): #向他人赠送此书(满足愿望,赠送书籍) wish = Wish.query.get_or_404(wid) gift = Gift.query.first_by(isbn=wish.isbn, uid=current_user.id).first() if not gift: flash('你还没有上传此书,请点击“加入到赠送清单”添加此书,添加前,请确保自己可以赠送此书') else: send_mail(wish.user.email, '赠送你书', 'email/satisify_wish.html', wish=wish, gift=gift) flash('已发送成功,如果愿意接收赠送,你会收到一个鱼漂') return redirect(url_for('web.book_detail', isbn=wish.isbn))
def forget_password_request(): form = EmailForm(request.form) if form.validate(): account_email = form.email.data user = User.query.filter_by(email=account_email).first_or_404() from app.libs.email import send_mail send_mail(form.email.data, '重置你的密码', 'email/reset_password.html', user=user, token=user.generate_token()) flash('一封邮件已发送到邮箱'+account_email+',请及时查收') # return redirect(url_for('web.login')) # aop 基于蓝图的app_errorhandler return render_template('auth/forget_password_request.html', form=form)
def satisfy_wish(wid): wish = Wish.query.get_or_404(wid) gift = Gift.query.filter_by(uid=current_user.id,isbn=wish.isbn).first() if not gift: flash('你还没有上传此书' '请点击“加入到赠送清单”添加此书。添加前,请确保自己可以赠送此书') else: send_mail(wish.user.email, '有人想送你一本书','email/satisify_wish.html',wish=wish, gift=gift) return "已向ta发送了一封邮件,如果他愿意接收你的赠送,你将收到一个鱼鳔" return redirect(url_for('web.book_detail',isbn=wish.isbn))
def forget_password_request(): form = EmailForm(request.form) if request.method == 'POST' and form.validate(): # first_or_404 如果账户不存在会返回提示not found 抛出的异常是HttpExcepton的子类 # 这里可以使用try except自定义异常信息,但是太啰嗦,在web 初始化里定义一个方法来处理 user = User.query.filter_by(email=form.email.data).first_or_404() from app.libs.email import send_mail send_mail(form.email.data, '重置你的密码', 'email/reset_password.html', user=user, token=user.generate_token()) return render_template('auth/forget_password_request.html', form=form)
def forget_password_request(): form = EmailForm(request.form) if request.method == 'POST': if form.validate(): from app.libs.email import send_mail user = User.query.filter_by(email=form.email.data).first_or_404() send_mail(to=form.email.data, subject='重置你的密码', template='email/reset_password.html', user=user, token=user.generate_token()) flash('重置链接已发送至您的邮箱') return render_template('auth/forget_password_request.html', form=form)
def satisfy_wish(wid): wish = Wish.query.get_or_404(wid) gift = Gift.query.filter_by(uid=current_user.id, isbn=wish.isbn).first() if not gift: flash('你还没上传此书') else: send_mail(wish.user.email, '有人想送你一本书', 'email/satisify_wish.html', wish=wish, gift=gift) flash('已经向他发送了一封邮件') return redirect(url_for('web.book_detail', isbn=wish.isbn))
def forget_password_request(): form = EmailForm(request.form) if request.method == 'POST': if form.validate(): account_email = form.email.data # 如果 user 为空后续的流程不会处理, 页面会呈现 Not_Found # fist_or_404 -> first -> Abort -> HttpException user = User.query.filter_by(email=account_email).first_or_404() send_mail(account_email, '重置密码', 'email/reset_password.html', user=user, token=user.generate_token()) flash('验证邮件已经发送到 {}, 请注意查收'.format(account_email)) return render_template('auth/forget_password_request.html', form=form)
def satisfy_wish(wid): wish = Wish.query.get_or_404(wid) gift = Gift.query.filter_by(uid=current_user.id, isbn=wish.isbn).first() if not gift: flash('你还没有上传此书,请点击"加入到赠送清单"添加此书。') else: send_mail(wish.user.email, '有人想送你一本书', 'email/satisfy_wish.html', wish=wish, gift=gift) flash('已发送邮件,如果他愿意接受,你将已收到一个鱼漂') return redirect(url_for('web.book_detail', isbn=wish.isbn))
def forget_password_request(): form = EmailForm(request.form) if request.method == 'POST': if form.validate(): account_email = form.email.data user = User.query.filter_by(email=account_email).first_or_404() send_mail(form.email.data, '重置你的密码', 'email/reset_password.html', user=user, token=user.generate_token()) flash(f'一封邮件已发送到您的邮箱{account_email},请及时查收!') return render_template('auth/forget_password_request.html', form=form)
def forget_password(): form = EmailForm(request.form) if request.method == 'POST': if form.validate(): email = form.email.data user = User.query.filter_by(email=email).first_or_404() from app.libs.email import send_mail send_mail(email, "重置您的密码", 'email/reset_password', user=user, token=user.generate_token()) return render_template('auth/forget_password.html', form=form)
def forget_password_request(): form = EmailForm(request.form) if request.method == "POST" and form.validate(): user = User.query.filter_by(email=form.email.data).first_or_404() from app.libs.email import send_mail account_email = form.email.data send_mail('*****@*****.**', '重置您的密码', 'email/reset_password.html', user=user, token=user.generate_token()) flash('一封邮件已发到邮箱' + account_email + '请及时处理') return render_template('auth/forget_password_request.html', form=form)
def forget_password_request(): form = EmailForm(request.form) if request.method == 'POST': if form.validate(): account_email = form.email.data user = User.query.filter_by(email=account_email).first_or_404() send_mail(form.email.data, 'Reset your password', 'email/reset_password.html', user=user, token=user.generate_token()) flash('Please check in your Email: ' + account_email) return render_template('pages/forget-password-request.html', form=form)
def statisfy_wish(wid): wish = Wish.query.get_or_404(wid) gift = Gift.query.filter_by(uid=current_user.id, isbn=wish.isbn).fitst() if not gift: flash('你还没有上传此书,请先点击"加入到赠送清单",点击前请确保您拥有此书') else: send_mail(wish.user.email, '有人想送您一本书', 'email/satisify_wish.html', wish=wish, gift=gift) flash('已向他/她发送了一封邮件,如果对方同意,您将收到一个鱼漂') return redirect(url_for('web.book_detail', isbn=wish.isbn))
def satisfy_wish(wid): wish = Wish.query.get(wid) gift = Gift.query.filter_by(isbn=wish.isbn, uid=current_user.id).first() if not gift: flash('您还没有上传此书,' '请点击“加入到赠送清单”添加此书。添加前,请确保自己可以赠送此书') else: send_mail(wish.user.email, '有人想赠送您一本书', 'email/satisify_wish.html', wish=wish, gift=gift) flash('已像他/她发送了一封邮件,如果对方愿意接受您的赠送,您将收到一个鱼漂') return redirect(url_for('web.book_detail', isbn=wish.isbn))
def satisfy_wish(wish_id): wish = Wish.query.get_or_404(wish_id) gift = Gift.query.filter_by(user_id=current_user.id, isbn=wish.isbn).first() if not gift: flash('你还没有上传此书, 请点击"加入到赠送清单"添加此书, 添加前, 请确保自己可以赠送此书') else: send_mail(wish.user.email, '有人向送你一本书', 'email/satisfy_wish', wish=wish, gift=gift) flash('已向他/她发送了一封邮件, 如果他/她愿意接受你的赠送, 你将收到一个鱼漂') return redirect(url_for('book.detail', isbn=wish.isbn))
def forget_password(): form = ClientForm().validate_for_api() user = User.query.filter_by(email=form.account.data).first_or_404() if user: token = create_token(email=form.account.data, type=form.type.data.value, secret=form.secret.data) send_mail(form.account.data, '重置密码', 'email/reset_password.html', [], user=user, token=token) return Success()
def satisfy_wish(wid): """ 向想要这本书的人发送一封邮件 注意,这个接口需要做一定的频率限制 这接口比较适合写成一个ajax接口 """ wish = Wish.query.get_or_404(wid) gift = Gift.query.filter_by(uid=current_user.id, isbn=wish.isbn).first() if not gift: flash('你还没有上传此书,请点击“加入到赠送清单”添加此书。添加前,请确保自己可以赠送此书') else: send_mail(wish.user.email, '有人想送你一本书', 'email/satisify_wish.html', wish=wish, gift=gift) flash('已向他/她发送了一封邮件,如果他/她愿意接受你的赠送,你将收到一个鱼漂') return redirect(url_for('web.book_detail', isbn=wish.isbn))
def send_drift(gid): current_gift = Gift.query.first_or_404() if current_gift.is_yourself_gift(current_user.id): flash('这本书是你自己的,不能像自己索要书籍哦') return redirect(url_for('web.book_detail', isbn=current_gift.isbn)) can = current_user.can_send_drift() if not can: return render_template('not_enough_beans.html', beans=current_user.beans) form = DriftForm(request.form) if request.method == 'POST' and form.validate(): save_drift(form, current_gift) send_mail(current_gift.user.email, '有人想要一本书', 'email/get_gift.html', wisher=current_user, gift=current_gift) return redirect(url_for('web.pending')) gifter = current_gift.user.summary return render_template('drift.html', gifter=gifter, user_beans=current_user.beans, form=form)