Пример #1
0
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)
Пример #2
0
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))
Пример #3
0
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"])