diff --git a/server.py b/server.py index 623c157..92112c8 100755 --- a/server.py +++ b/server.py @@ -143,10 +143,23 @@ def create_interface(): user = flask.request.headers.get("X-Preferred-Username") form = EntryForm() + + # handle modification # + modify_service_name = flask.request.args.get("service") + if modify_service_name: + service = db.session.query(Service).filter(Service.service == modify_service_name).first() + if service: + form.service.default = service.service + form.timeout.default = service.timeout + form.process() + else: + return ("Not a valid service to modify", 404) + if form.validate_on_submit(): create_entry(form, user) return flask.redirect('/service-details?service={}'.format(form.service.data)) - return flask.render_template('add_modify_service.html', form=form) + return flask.render_template('add_modify_service.html', form=form, + is_modification=bool(modify_service_name)) @app.route('/alive') def alive(): diff --git a/templates/add_modify_service.html b/templates/add_modify_service.html index 5ff31cf..e7c6824 100644 --- a/templates/add_modify_service.html +++ b/templates/add_modify_service.html @@ -7,7 +7,13 @@ }
-

Create a new Service

+

+ {% if is_modification %} + Modify Service + {% else %} + Create a new Service + {% endif %} +


{% if form.service.errors %} @@ -20,10 +26,22 @@
{{ form.csrf_token }} - {{ form.service.label }} {{ form.service(size=20) }}
+ {{ form.service.label }} + + {% if is_modification %} + {{ form.service(size=20, disabled=True) }} + {% else %} + {{ form.service(size=20) }} + {% endif %} + +
{{ form.timeout.label }} {{ form.timeout() }}
+ {% if is_modification %} + + {% else %} + {% endif %}
diff --git a/templates/service_info.html b/templates/service_info.html index dd83ce7..7c119d3 100644 --- a/templates/service_info.html +++ b/templates/service_info.html @@ -6,7 +6,7 @@

Service: {{ service.service }}

Modify + href="/entry-form?service={{ service.service }}">Modify Delete