def change_email(self, token):
s = Serializer(current_app.config["SECRET_KEY"])
try:
data = s.loads(token)
except:
return False
if data.get("change_email") != self.id:
return False
new_email = data.get("new_email")
if new_email is None:
return False
if self.query.filter_by(email=new_email).first() is not None:
return False
self.email = new_email
try:
db.session.add(self)
db.session.commit()
except:
db.session.rollback()
raise Exception("Dirty session")
self.track_event("changed_email")
return True
评论列表
文章目录