def replay_alias(_id): """ Allows a user to set a custom name for a replay. """ # Get replay _replay = Replay.query.filter(Replay.id == _id).first_or_404() # Get existing or create new alias current_alias = ReplayAlias.query.filter( ReplayAlias.replay_id == _id, ReplayAlias.user_id == current_user.get_id()).first() or ReplayAlias( _id, current_user.get_id()) # Get form and set default value alias_form = AliasForm(current_alias) # If form validates, save alias if alias_form.validate_on_submit(): current_alias.alias = alias_form.alias.data.strip( ) # Strip any leading or trailing whitespace; we don't like them white folk. # If the alias evalutes to true we can save it, otherwise we delete the alias object (user is blanking their alias) if current_alias.alias: flash( "Set alias for replay {} to \u201C{}\u201D.".decode( 'unicode-escape').format(_replay.id, current_alias.alias), "success") db.session.add(current_alias) else: flash("Removed alias for replay {}.".format(_replay.id), "success") # If this object doesn't exist in the database, then all we need to do is if current_alias in db.session.new: db.session.expunge(current_alias) else: try: db.session.delete(current_alias) except InvalidRequestError: pass # We tried to delete an object not in the database, whoops. db.session.commit() return redirect(request.referrer or url_for("index")) # Render form return render_template('replays/alias.html', replay=_replay, form=alias_form)
def profile(request): user = request.user temp_args = {} temp_args['prof_user'] = user votes = RelVote.objects.filter(user=user).all() rel_o = RelList(votes) temp_args['rel_o'] = rel_o temp_args['now'] = datetime.now() RelPosFormSet = formset_factory(RelPositionForm, extra=9) data = rel_o.make_data_fs() rpfs = RelPosFormSet(data) temp_args['formset'] = rpfs formlist = [] for i in range(len(rpfs)): formlist.append((rpfs[i], rel_o.votes[i])) temp_args['formlist'] = formlist temp_args['alias_form'] = AliasForm() return render_to_response('profile.html', temp_args, RequestContext(request))
def alias_sub(request): af = AliasForm(request.POST) if not af.is_valid(): messages.error(request, af.errors) messages.info(request, "alias posted! nothing done") return HttpResponseRedirect(request.META["HTTP_REFERER"])