Changeset - 24254db0a05a
[Not reviewed]
default
0 1 0
Dennis Fink - 4 years ago 2021-03-20 12:35:41
dennis.fink@c3l.lu
Add redirect in views.py if nothing is in the request form
1 file changed with 3 insertions and 0 deletions:
0 comments (0 inline, 0 general)
spaceapi/views.py
Show inline comments
 
@@ -16,101 +16,104 @@ root_views = Blueprint("root", __name__)
 

	
 

	
 
@root_views.route("/")
 
def index():
 
    if request_wants_json():
 
        return jsonify(ActiveStatus())
 
    return render_template("index.html", status=ActiveStatus())
 

	
 

	
 
@root_views.route("/status.json")
 
def status_json():
 
    return jsonify(ActiveStatus())
 

	
 

	
 
@root_views.route("/v14/status.json")
 
def v14_json():
 
    return jsonify(ActiveStatusv14())
 

	
 

	
 
@root_views.route("/reload")
 
@httpauth.login_required
 
def reload():
 
    active = ActiveStatus()
 
    active.reload()
 
    return jsonify(active)
 

	
 

	
 
@root_views.route("/v14/reload")
 
@httpauth.login_required
 
def v14_reload():
 
    active = ActiveStatusv14()
 
    active.reload()
 
    return jsonify(active)
 

	
 

	
 
@root_views.route("/open", methods=("GET", "POST"))
 
@httpauth.login_required
 
def open():
 
    if request.method == "POST":
 
        active = ActiveStatus()
 
        activev14 = ActiveStatusv14()
 

	
 
        try:
 
            if (
 
                httpauth.username()
 
                in current_app.config["STATE_TRIGGER_PERSON_ALLOWED"]
 
            ):
 
                trigger_person = httpauth.username()
 
            else:
 
                trigger_person = None
 
        except KeyError:
 
            trigger_person = None
 

	
 
        if "close" in request.form:
 
            new_state = False
 
        elif "open" in request.form:
 
            new_state = True
 

	
 
        if "message" in request.form:
 
            message = request.form.get("message")
 
        else:
 
            message = None
 

	
 
        active.set_new_state(
 
            value=new_state, trigger_person=trigger_person, message=message
 
        )
 
        activev14.set_new_state(
 
            value=new_state, trigger_person=trigger_person, message=message
 
        )
 
        active.save_last_state()
 
        activev14.save_last_state()
 
        return redirect(url_for("root.index"))
 

	
 
    return render_template("open.html")
 

	
 

	
 
@root_views.route("/present", methods=("GET", "POST"))
 
@httpauth.login_required
 
def present():
 
    if request.method == "POST":
 

	
 
        active = ActiveStatus()
 
        activev14 = ActiveStatusv14()
 

	
 
        if active["state"]["open"]:
 
            user = (
 
                httpauth.username()
 
                if "user" not in request.form
 
                else request.form["user"]
 
            )
 
            if "present" in request.form:
 
                active.add_user_present(user)
 
                activev14.add_user_present(user)
 
            elif "leave" in request.form:
 
                active.remove_user_present(user)
 
                activev14.remove_user_present(user)
 
            else:
 
                return redirect(url_for("root.index"))
 

	
 
            active.save_last_state()
 
            activev14.save_last_state()
 
        return redirect(url_for("root.index"))
 

	
 
    return render_template("present.html")
0 comments (0 inline, 0 general)