This commit is contained in:
Daniel Ternyak 2019-01-27 20:09:58 -06:00
parent 85c50a47c1
commit 09c49ca44f
No known key found for this signature in database
GPG Key ID: DF212D2DC5D0E245
1 changed files with 3 additions and 53 deletions

View File

@ -180,33 +180,6 @@ class User(db.Model, UserMixin):
def set_password(self, password: str):
self.password = hash_password(password)
db.session.commit()
send_email(self.email_address, 'change_password', {
'display_name': self.display_name,
'recover_url': make_url('/auth/recover'),
'contact_url': make_url('/contact')
})
def set_email(self, email: str):
# Update email address
old_email = self.email_address
self.email_address = email
# Delete old verification(s?)
old_evs = EmailVerification.query.filter_by(user_id=self.id).all()
for old_ev in old_evs:
db.session.delete(old_ev)
# Generate a new one
ev = EmailVerification(user_id=self.id)
db.session.add(ev)
# Save changes & send notification & verification emails
db.session.commit()
send_email(old_email, 'change_email_old', {
'display_name': self.display_name,
'contact_url': make_url('/contact')
})
send_email(self.email_address, 'change_email', {
'display_name': self.display_name,
'confirm_url': make_url(f'/email/verify?code={ev.code}')
})
def login(self):
login_user(self)
@ -224,7 +197,7 @@ class User(db.Model, UserMixin):
})
class SelfUserSchema(ma.Schema):
class UserSchema(ma.Schema):
class Meta:
model = User
# Fields to expose
@ -245,33 +218,10 @@ class SelfUserSchema(ma.Schema):
return obj.id
self_user_schema = SelfUserSchema()
self_users_schema = SelfUserSchema(many=True)
user_schema = UserSchema()
users_schema = UserSchema(many=True)
class UserSchema(ma.Schema):
class Meta:
model = User
# Fields to expose
fields = (
"title",
"social_medias",
"avatar",
"display_name",
"userid"
)
social_medias = ma.Nested("SocialMediaSchema", many=True)
avatar = ma.Nested("AvatarSchema")
userid = ma.Method("get_userid")
def get_userid(self, obj):
return obj.id
user_schema = SelfUserSchema()
users_schema = SelfUserSchema(many=True)
class SocialMediaSchema(ma.Schema):
class Meta:
model = SocialMedia