def addInviteKey(): form = InviteKey() if form.validate_on_submit(): if bcrypt.check_password_hash(current_user.password, form.password.data): inviteKeyList.append(form.key.data) flash('Added Invite Key.', 'success') else: flash('Password does not match.', 'danger') # Show page to the user return render_template('addInviteKey.html', keys=inviteKeyList, form=form)
def changePassword(): form = ChangePassword() if form.validate_on_submit(): if bcrypt.check_password_hash(current_user.password, form.password.data): if form.newPassword.data == form.confirmNewPassword.data: current_user.password = bcrypt.generate_password_hash( form.newPassword.data).decode('utf-8') db.session.commit() flash('Password Updated.', 'success') return redirect(url_for('settings')) else: flash( '"New Password" and "Confirm New Password" fields do not match.', 'warning') else: flash('Password does not match.', 'danger') # Show page to the user return render_template('changePassword.html', form=form)
def deleteAccount(): form = DeleteAccount() if form.validate_on_submit(): if bcrypt.check_password_hash(current_user.password, form.password.data): if current_user.username == 'admin': flash('Admin account cannot be deleted.', 'warning') else: # Delete the user #db.session.delete(current_user) db.session.execute('Delete from user where uid=:uid', {'uid': current_user.uid}) db.session.commit() # Tell user flash('Account Deleted.', 'success') # Log out user logout_user() return redirect(url_for('login')) else: flash('Password does not match.', 'danger') # Show page to the user return render_template('deleteAccount.html', form=form)
def changeUserName(): form = ChangeUsername() if form.validate_on_submit( ) and form.username.data != current_user.username: if bcrypt.check_password_hash(current_user.password, form.password.data): if current_user.username == 'admin': flash('Admin account change username.', 'warning') else: # Update username if form.username.data != "": current_user.username = form.username.data db.session.commit() # Tell user flash('Username Updated.', 'success') return redirect(url_for('settings')) else: flash('Username cannot be empty.', 'warning') else: flash('Password does not match.', 'danger') # Show page to the user return render_template('changeUsername.html', form=form)
def login(): # Check if logged in if current_user.is_authenticated: return redirect(url_for('listApp')) # login get Login Form form = LogInForm() if form.validate_on_submit(): # Get User using username user = User.query.filter_by(username=form.username.data).first() # Check password if user and bcrypt.check_password_hash(user.password, form.password.data): # User login login_user(user, remember=form.remember.data) # Log the user logUser(request, current_user) return redirect(url_for('listApp')) else: flash('Login Unsuccessful. Please check username and password', 'danger') return render_template('login.html', title='Login', form=form)