Beispiel #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")
            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)
Beispiel #2
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)