diff --git a/app/developer/templates/developer/client_details/advanced.html b/app/developer/templates/developer/client_details/advanced.html new file mode 100644 index 00000000..51e11406 --- /dev/null +++ b/app/developer/templates/developer/client_details/advanced.html @@ -0,0 +1,11 @@ +{% extends 'developer/client_details/base.html' %} + +{% set client_details_page = "advanced" %} + +{% block client_details_content %} +
+ {{ form.csrf_token }} +

Please note that this operation is not reversible!

+ +
+{% endblock %} \ No newline at end of file diff --git a/app/developer/templates/developer/client_details/base.html b/app/developer/templates/developer/client_details/base.html index a080cc8c..4e2754ef 100644 --- a/app/developer/templates/developer/client_details/base.html +++ b/app/developer/templates/developer/client_details/base.html @@ -29,6 +29,11 @@ OAuth Endpoints + + Advanced Setting + +
diff --git a/app/developer/views/client_detail.py b/app/developer/views/client_detail.py index fc5a2b1b..7844dac6 100644 --- a/app/developer/views/client_detail.py +++ b/app/developer/views/client_detail.py @@ -119,3 +119,35 @@ def client_detail_oauth_endpoint(client_id): return render_template( "developer/client_details/oauth_endpoint.html", client=client ) + + +class AdvancedForm(FlaskForm): + pass + + +@developer_bp.route("/clients//advanced", methods=["GET", "POST"]) +@login_required +def client_detail_advanced(client_id): + form = AdvancedForm() + client = Client.get(client_id) + if not client: + flash("no such app", "warning") + return redirect(url_for("developer.index")) + + if client.user_id != current_user.id: + flash("you cannot see this app", "warning") + return redirect(url_for("developer.index")) + + if form.validate_on_submit(): + # delete client + client_name = client.name + Client.delete(client.id) + db.session.commit() + LOG.d("Remove client %s", client) + flash(f"{client_name} has been deleted successfully", "success") + + return redirect(url_for("developer.index")) + + return render_template( + "developer/client_details/advanced.html", form=form, client=client + )