diff --git a/app/dashboard.py b/app/dashboard.py index 8539eca..2484dbe 100644 --- a/app/dashboard.py +++ b/app/dashboard.py @@ -1,4 +1,5 @@ from app import app, db, login +from app.forms import ProfileSettingsForm from app.models import User, Search from app.custom import require_role from flask import render_template, redirect, url_for, request, jsonify @@ -9,11 +10,19 @@ from flask_login import current_user, login_required def dashboard(): return render_template('/dashboard/dashboard.html') -@app.route('/dashboard/profile_settings') +@app.route('/dashboard/profile_settings', methods=['GET']) @login_required def profile_settings(): - return render_template('/dashboard/profile_settings.html') + form = ProfileSettingsForm() + return render_template('/dashboard/profile_settings.html', form=form) +@app.route('/dashboard/profile_settings/submit', methods=['POST']) +@login_required +def profile_settings_submit(): + form = ProfileSettingsForm() + if form.validate_on_submit(): + return jsonify(data={'message' : 'hello {}'.format(form.show_email.data)}) + return '$' @app.route('/dashboard/constants') @login_required @require_role(roles=['Admin']) diff --git a/app/forms.py b/app/forms.py index 4c20a65..b38c08e 100644 --- a/app/forms.py +++ b/app/forms.py @@ -1,5 +1,5 @@ from flask_wtf import FlaskForm -from wtforms import StringField, PasswordField, BooleanField, SubmitField +from wtforms import StringField, PasswordField, BooleanField, SubmitField, RadioField from wtforms.validators import ValidationError, DataRequired, EqualTo, Email from app.models import User @@ -27,4 +27,5 @@ class RegistrationForm(FlaskForm): raise ValidationError('That email address is not available.') class ProfileSettingsForm(FlaskForm): - show_email = BooleanField('Show ') \ No newline at end of file + show_email = RadioField('Show Email', choices=[('p', 'Public'), ('r', 'Registered Users Only'), ('h', 'Hidden')]) + submit = SubmitField('Save Profile Settings') \ No newline at end of file diff --git a/app/templates/dashboard/profile_settings.html b/app/templates/dashboard/profile_settings.html index 64a1ab9..91006a2 100644 --- a/app/templates/dashboard/profile_settings.html +++ b/app/templates/dashboard/profile_settings.html @@ -5,7 +5,7 @@