def send_drift(gid): # 发起索要图书请求 # 1.检查是不是自己的 # 2.检查鱼豆是否大于1 # 3.是否满足,成功索要两本书,必须成功送出一本书 gift = Gift.query.filter_by(id=gid).first_or_404() if gift.is_myself_gift(current_user.id): flash('这本书是你自己的^_^, 不能向自己索要书籍噢') return redirect(url_for('web.book_detail', isbn=gift.isbn)) if not current_user.can_send_drift(): return render_template('not_enough_beans.html', beans=current_user.beans) wtform = DriftForm(request.form) # 步入正文 if request.method == 'POST' and wtform.validate(): drift = Drift() drift.save_to_drift(wtform, gift, current_user.id, current_user.nickname) send_mail(gift.user.email, '有人想要您上传的图书: 《' + gift.book['title'] + '》', 'email/get_gift.html', wisher=current_user, gift=gift) return redirect(url_for('web.pending')) user = User.query.filter_by(id=gift.uid).first_or_404() viewmodel = UsersSummary(user) return render_template('drift.html', gifter=viewmodel.first, user_beans=current_user.beans, form=wtform)
def send_drift(gid): gift = Gift.query.get_or_404(gid) if gift.is_myself_gift(current_user.id): return redirect(url_for('web.book_detail', isbn=gift.isbn)) if not current_user.can_send_drift(): return render_template('not_enough_beans.html', beans=current_user.beans) wtform = DriftForm(request.form) if request.method == 'POST' and wtform.validate(): drift = Drift() drift.save_to_drift(wtform, gift, current_user.id, current_user.nickname) send_mail(gift.user.email, '有人想要您上传的图书: 《' + gift.book['title'] + '》', 'email/get_gift.html', wisher=current_user, gift=gift) return redirect(url_for('web.pending')) user = User.query.filter_by(id=gift.uid).first_or_404() viewmodel = UsersSummary(user) return render_template('drift.html', gifter=viewmodel.first, user_beans=current_user.beans, form=wtform)
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 Dlog(): if request.method == "POST": form = LoginForm(request.values) if form.validate(): b = Blogger.query.filter_by(email=form.email.data).first() if b and b.check_pwd(form.password.data): if b.role == "Faith": if not current_app.config.get('LOGIN_EMAIL'): set_login(b) emit('receive', trueReturn(data=url_for('admin.index')), namespace='/chat', broadcast=True) return jsonify(falseReturn()) token = b.generate_token() login_time = datetime.now() send_mail(to=form.email.data, subject='登录确认', template='email/confirm_login', user=b, token=token, login_time=login_time) return jsonify(trueReturn(msg='E-mail sent successfully!')) else: return jsonify(falseReturn(msg='Authentication failure')) else: return jsonify( falseReturn(msg="Email doesn't exist or Password error!")) else: return jsonify(falseReturn(msg=get_errors_msg(form.errors))) if request.method == "GET": return render_template('Dlog.html')
def comment(): form = CommentForm(request.values) if form.validate(): email = form.email.data guest = Guest.query.filter_by(guest_email=email).first() if guest: if guest.state and not guest.black: # 检验成功,未被拉黑 c = Comment() res = c.add_comment(form, guest.nickname, yes=True) if res is not None: return jsonify(trueReturn(msg="留言成功!", data=res)) if res is None: return jsonify(falseReturn(msg='网络错误')) if guest.black: return jsonify(falseReturn(msg='此邮箱在小黑屋反省中...')) if not guest or not guest.state: c = Comment() res = c.add_comment(form) token = Guest.generate_token({"email": email, "id": c.id}) send_mail(to=email, subject="Dlog留言", template='email/confirm_comment', token=token) return jsonify( trueReturn(msg='此邮箱为第一次留言,为确认是否有效,请登录邮箱查看并确认,后续不再检验.'), data="") if not form.validate(): msg = get_errors_msg(form.errors) return jsonify(falseReturn(msg=msg))
def forget_password_request(): wtform=EmailForm(request.form) if request.method=='POST' and wtform.validate(): user=User.query.filter_by(email=wtform.email.data).first_or_404() send_mail(wtform.email.data,'重置密码','email/reset_password.html',user=user,token=user.generate_token()) return render_template('email_has_send.html') return render_template('auth/forget_password_request.html',form=wtform)
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.filter(Wish.id == wid, Wish.uid != current_user.id, Wish.status == 1, Wish.launched == False).first_or_404() gift = Gift.query.filter_by(isbn=wish.isbn, uid=current_user.id, launched=False).first() if not gift: flash('你还没有上传此书,请点击“加入到赠送清单”添加此书。添加前,请确保自己可以赠送此书') else: send_mail(wish.user.email, '有人想送你一本书:《' + gift.book['title'] + '》', '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 = 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 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.lib.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')) 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(): email = form.email.data user = User.query.filter_by(email=email).first() if user: token = user.generate_token() send_mail(email, "【重置密码】", 'email/reset_passwd.html', user=user, token=token) flash('一封邮件已发送到邮箱' + email + ',请及时查收') else: flash("输入的邮箱有误,请重新输入") 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() from app.lib.email import send_mail send_mail(form.email.data, "重置你的密码", 'email/reset_password.html', user=user, tokrn=user.generate_token() ) flash('一份邮件已成功发送') # try: # user = User.query.filter_by(email=account_email).first_or_404() # except Exception as e: # return render_template('404.html') return render_template('auth/forget_password_request.html', form=form)
def forget_password_request(): form = EmailForm(request.form) if form.validate(): account_email = form.email.data user = User.getUserByEmail(account_email) if user is not None: send_log('/v1/auth/reset/password') send_mail(account_email, "重置你的密码", 'email/reset_password.html', user=user, token=user.generate_token()) return jsonify({"code": 200}) else: send_log('/v1/auth/reset/password') return jsonify({"code": -1, "errMsg": "邮箱不存在"}) else: send_log('/v1/auth/reset/password') return jsonify({"code": -1, "errMsg": form.errors})