def create(): username = request.form.get('username') email = request.form.get('email') password = request.form.get('password') hash_password = generate_password_hash(password) x = User_(username=username, email=email, password=hash_password) if x.save(): flash('Successfully signed up!', "success") return redirect(url_for('sessions.new')) else: for error in x.errors: flash(error, 'danger') return redirect(url_for('users.new'))
def get_topic(chart_topic): students = User_.select().where(User_.role == "student") print(chart_topic) studentlist = [] studentids = [] for s in students: studentlist.append(s.username) studentids.append(s.id) confidencelevel = [] confidencestudents = [] scorelevel = [] scorestudents = [] # chart_topic = request.form.get('chart_topic') # survey = User_survey.select().where(User_survey.user_id.row == "students") # surveys = User_survey.select().join(User_, on=(User_survey.user_id == User_.id)).where(User_.role == 'student') # final = surveys.join(Survey, on=(Survey.id == User_survey.survey_id)).where(Survey.topic == 'Mathematics') surveys = User_survey.select().join( User_, on=(User_survey.user_id == User_.id)).join( Survey, on=(User_survey.survey_id == Survey.id)).where( User_.role == 'student', Survey.topic == chart_topic) # print(final) for c in surveys: confidencelevel.append(c.confidence_level) confidencestudents.append(c.user_id.username) scorelevel.append(c.percentage_correct) scorestudents.append(c.user_id.username) return jsonify({ "confidence": confidencelevel, "confidencestudents": confidencestudents, "scoring": scorelevel, "scorestudents": scorestudents })
def create(): username = request.form.get('username') input_password = request.form.get('password') user = User_.get_or_none( username=username ) #get_or_none so that it wont show the bad looking error message when there's no such user in the db. if user: result = check_password_hash(user.password, input_password) if result: flash("Log in successful!", "success") login_user(user) return redirect(url_for('home')) else: flash("Wrong password, try again!") # session["user_id"]= user.id return redirect(url_for('sessions.new')) else: flash('No user with such username,try again!') return redirect(url_for('sessions.new')) # @sessions_blueprint('/destroy') # @login_required # def destroy(): # logout_user() # flash("Successfully logged out.") # return redirect(url_for('home'))
def login(): username = request.form.get('username') entered_password = request.form.get('password') look_for_user = User_.get_or_none(User_.username == username) if look_for_user: user_password = look_for_user.password result = check_password_hash(user_password, entered_password) if result: login_user(look_for_user) flash('Successfully logged in!', 'success') return render_template('home.html') else: flash('Login failed! Password incorrect', 'danger') return redirect(url_for('sessions.new')) else: flash('Login failed! No user with that username', 'danger') return redirect(url_for('sessions.new'))
def update_picture(id_): file_to_upload = request.files['user_file'] if not file_to_upload: flash('Please choose a file to upload', 'danger') return redirect(url_for('users.edit', id_=id_)) elif file_to_upload and allowed_file(file_to_upload.filename): file_to_upload.filename = secure_filename(file_to_upload.filename) output = upload_file_to_s3(file_to_upload) x = (User_.update({ User_.profile_picture: output }).where(User_.id == current_user.id)) x.execute() flash('Profile picture updated successfully!', 'success') return redirect(url_for('users.edit', id_=id_)) else: flash('Inavlid file type!', 'danger') return redirect(url_for('users.edit', id_=id_))
def update(id_): password = request.form.get('current-password') user = User_.get(User_.id == id_) if check_password_hash(user.password, password): username = request.form.get('current-username') email = request.form.get('current-email') user.username = username user.email = email if user.save(): flash('Successfully Updated!', 'success') return redirect(url_for('users.edit', id_=id_)) else: for error in user.errors: flash(error, 'danger') return render_template('users/edit_form.html', id_=id_) else: flash('Invalid Password!', 'danger') return redirect(url_for('users.edit', id_=id_))
def load_user(user_id): return User_.get_or_none(id=user_id) #to retrieve the current user
def charts(): students = User_.select().where(User_.role == "student") return render_template('teachers/charts.html', student=students)
def load_user(user_id): return User_.get_or_none(id=user_id)