def edit_profile(): """Updates a profile""" form = dict(name=g.user.name, email=g.user.email, group=g.user.group) if request.method == 'POST': if 'delete' in request.form: g.user.delete() safe_commit() session['openid'] = None flash(u'Profile deleted', 'success') return redirect(url_for('index')) form['name'] = request.form['name'] form['email'] = request.form['email'] form['group'] = request.form['group'] if not form['name']: flash(u'Error: you have to provide a name', 'error') elif '@' not in form['email']: flash(u'Error: you have to enter a valid email address', 'error') else: flash(u'Profile successfully updated', 'success') g.user.name = form['name'] g.user.email = form['email'] g.user.group = form['group'] safe_commit() return redirect(url_for('edit_profile')) return render_template('edit_profile.html', form=form, work_groups=app.config['WORK_GROUPS'])
def edit_profile(): """Updates a profile""" if g.user is None: abort(401) form = dict(name=g.user.name, email=g.user.email) if request.method == 'POST': if 'delete' in request.form: g.user.delete() safe_commit() session['openid'] = None flash(u'Profile deleted', 'success') return redirect(url_for('index')) form['name'] = request.form['name'] form['email'] = request.form['email'] if not form['name']: flash(u'Error: you have to provide a name', 'error') elif '@' not in form['email']: flash(u'Error: you have to enter a valid email address', 'error') else: flash(u'Profile successfully created', 'success') g.user.name = form['name'] g.user.email = form['email'] safe_commit() return redirect(url_for('edit_profile')) return render_template('edit_profile.html', form=form)
def add_announcement(): """ Adds a new announcment linked to the currently logged in user. """ if request.form['announcement']: new_a = Announcement(user_id=g.user.id, text=request.form['announcement']) new_a.insert() safe_commit() flash('Your announcement was stored', 'success') return redirect(url_for('announcements'))
def set_song(): if request.form['spotify_uri'] and request.form['song_date']: song_details = get_song_details(request.form['spotify_uri']) new_song = DailySong(created_on=dateutil.parser.parse(request.form['song_date']).date(), **song_details) new_song.insert() safe_commit() flash('Song set successfully!', 'success') return redirect(url_for('get_daily_songs'))
def create_profile(): """If this is the user's first login, the create_or_login function will redirect here so that the user can set up his profile. """ if g.user is not None or 'openid' not in session: return redirect(url_for('index')) if request.method == 'POST': name = request.form['name'] email = request.form['email'] if not name: flash(u'Error: you have to provide a name', 'error') elif '@' not in email: flash(u'Error: you have to enter a valid email address', 'error') else: flash(u'Profile successfully created', 'success') user = User(name, email, session['openid']) user.insert() safe_commit() return redirect(oid.get_next_url()) return render_template('create_profile.html', next_url=oid.get_next_url())