Add confirmation page for project deletion

This commit is contained in:
Drew DeVault 2020-07-20 10:04:29 -04:00
parent 5c742bcfe3
commit 7b76b9d5eb
3 changed files with 56 additions and 23 deletions

View File

@ -154,6 +154,13 @@ def config_POST(owner, project_name):
owner=current_user.canonical_name,
project_name=project.name))
@projects.route("/<owner>/<project_name>/delete")
@loginrequired
def delete_GET(owner, project_name):
owner, project = get_project(owner, project_name, ProjectAccess.write)
return render_template("project-delete.html", view="add more",
owner=owner, project=project)
@projects.route("/<owner>/<project_name>/delete", methods=["POST"])
@loginrequired
def delete_POST(owner, project_name):

View File

@ -197,34 +197,19 @@
</div>
</div>
<form
class="event"
method="POST"
action="{{url_for("projects.delete_POST",
owner=owner.canonical_name, project_name=project.name)}}"
>
{{csrf_token()}}
<div class="event">
<h3>Delete project</h3>
<p>
This will permanently delete your project,
<strong>{{project.name}}</strong>. This cannot be undone.
</p>
<p>Remove {{project.name}} from the project hub.</p>
<div class="row">
<div class="col-md-3">
<button class="btn btn-danger btn-block" type="submit">
Delete project {{icon('caret-right')}}
</button>
<a
href="{{url_for("projects.delete_GET",
owner=owner.canonical_name, project_name=project.name)}}"
class="btn btn-danger btn-block"
>Delete project {{icon('caret-right')}}</a>
</div>
{#
<div class="col-md-9">
<label class="checkbox">
<input type="checkbox" name="delete-resources" />
Permanently delete project resources (repos, mailing lists, etc)
</label>
</div>
#}
</div>
</form>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,41 @@
{% extends "project-base.html" %}
{% block title %}
<title>Delete {{project.name}}</title>
{% endblock %}
{% block content %}
<div class="container">
<div class="row">
<div class="col-md-12">
<form method="POST">
{{csrf_token()}}
<p>
This will <strong>permanently</strong> delete your project,
<strong>{{project.name}}</strong>. This cannot be undone.
</p>
<div class="row">
<div class="col-md-3">
<button class="btn btn-danger btn-block" type="submit">
Delete {{project.name}} {{icon('caret-right')}}
</button>
</div>
<div class="col-md-3">
<a
href="{{url_for("projects.config_GET",
owner=owner.canonical_name, project_name=project.name)}}"
class="btn btn-default btn-block"
>Cancel, keep project {{icon('caret-right')}}</a>
</div>
{#
<div class="col-md-6">
<label class="checkbox">
<input type="checkbox" name="delete-resources" />
Also delete project resources (repos, mailing lists, etc)
</label>
</div>
#}
</div>
</form>
</div>
</div>
</div>
{% endblock %}