예제 #1
0
def unhide_ad(url):
    room = Room.query.filter_by(urlname=url).first()
    if not room:
        abort(404)
    if room.dead or get_days_ago(room.created_at) > OLD_DAYS.days:
        abort(404)
    occupied = Occupied.query.filter_by(space=room.occupieds).order_by("created_at").first()
    if occupied and get_days_ago(occupied.created_at) > OCCUPIED_DAYS.days:
        abort(404)
    form = ConfirmActionForm()
    if form.validate_on_submit():
        if "yes" in request.form:
            if room.user == g.user:
                room.occupieds = OccupiedSpace()
                db.session.commit()
                flash("Your ghosla has been un-marked as occupied", category="success")
            else:
                abort(403)
            return redirect(url_for("index"))
        else:
            return redirect(url_for("view_ad", url=url))
    if room.user == g.user:
        message = u"""Do you really wish to remove all occupied marks on your Ghosla '%s, %s'?
            Please do this, only if your Ghosla is really unoccupied."""
    return render_template(
        "confirm_action.html", form=form, title=u"Confirm un-occupied", message=message % (room.address, room.city)
    )
예제 #2
0
def delete_ad(url):
    room = Room.query.filter_by(urlname=url).first()
    if not room:
        abort(404)
    if not lastuser.has_permission("siteadmin") and room.user != g.user:
        abort(403)
    if room.dead:  # We let people delete old ads... no check for age, occupied
        abort(404)
    form = ConfirmActionForm()
    if form.validate_on_submit():
        if "yes" in request.form:
            if len(room.comments.comments) > 0:
                room.dead = True
            else:
                db.session.delete(room)
                db.session.commit()
            flash("Your ad has been deleted", category="success")
            return redirect(url_for("index"))
        else:
            return redirect(url_for("view_ad", url=url))
    return render_template(
        "confirm_action.html",
        form=form,
        title=u"Confirm delete",
        message=u"Do you really wish to delete your ad for '%s, %s'? "
        u"This will remove all comments as well. This operation "
        u"is permanent and cannot be undone." % (room.address, room.city),
    )
예제 #3
0
def hide_ad(url):
    room = Room.query.filter_by(urlname=url).first()
    if not room:
        abort(404)
    if room.dead or get_days_ago(room.created_at) > OLD_DAYS.days:
        abort(404)
    occupied = Occupied.query.filter_by(space=room.occupieds).order_by("created_at").first()
    if occupied and get_days_ago(occupied.created_at) > OCCUPIED_DAYS.days:
        abort(404)
    form = ConfirmActionForm()
    if form.validate_on_submit():
        if "yes" in request.form:
            if room.user == g.user:
                room.dead = True
                db.session.commit()
                flash("Your ghosla has been marked occupied", category="success")
            else:
                room.occupieds.occupied(g.user)
                db.session.commit()
                flash("The ghosla has been marked occupied", category="success")
            return redirect(url_for("index"))
        else:
            return redirect(url_for("view_ad", url=url))
    if room.user == g.user:
        message = u"""Do you really wish to mark your Ghosla '%s, %s' as occupied?
                This will remove all comments as well. This operation is permanent
                and cannot be undone."""
    else:
        message = u"""Are you sure you want to mark '%s, %s' as occupied? Please
               do so, only if you have contacted the ad poster and confirmed."""
    return render_template(
        "confirm_action.html", form=form, title=u"Confirm occupied", message=message % (room.address, room.city)
    )