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") db.session.delete(current_alias) 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 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 assign_alias(request,id): alias = get_object_or_404( TaskAlias, pk = id ) if 'POST' == request.method: form = AliasForm( request.POST, instance = alias ) form.fields['task'].queryset = Task.objects.all().order_by('name') # Make a task from this alias if 'makeonefromthis' in form.data: # Check this already hasnt been done existing = Task.objects.filter(name=alias.string) if existing: request.notifications.error('Looks like you have already done this') return HttpResponseRedirect(reverse('assign_alias', args=[id])) else: # No existing task with this name, create one based on this alias task = Task() task.name = alias.string task.save() alias.task = task alias.save() request.notifications.success('Proper task created from alias') return HttpResponseRedirect(reverse('home')) # Save alias against chosen task elif form.is_valid(): obj = form.save() request.notifications.success('Thanks, now %s is known as %s' % ( alias.string, obj.task ) ) return HttpResponseRedirect(reverse('home')) else: pass else: form = AliasForm(instance = alias) form.fields['task'].queryset = Task.objects.all().order_by('name') return render(request,'assign_alias.html', { 'title' : '"%s"' % alias.string, 'form' : form, 'success_url' : reverse('home') })
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"])