aboutsummaryrefslogtreecommitdiff
path: root/app/blueprints/packages/releases.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-01-19 00:02:33 +0000
committerrubenwardy <rw@rubenwardy.com>2020-01-19 00:02:37 +0000
commit59039a14a5ebc1d006cfe72ac98aae74c0602de1 (patch)
tree7b18926db2c7eecf948fc9b3a07bf9469689900f /app/blueprints/packages/releases.py
parent0d6e2174055a9d82c59eee17e7e25fb047b18e89 (diff)
downloadcheatdb-59039a14a5ebc1d006cfe72ac98aae74c0602de1.tar.xz
Add ability to delete releases
Diffstat (limited to 'app/blueprints/packages/releases.py')
-rw-r--r--app/blueprints/packages/releases.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/app/blueprints/packages/releases.py b/app/blueprints/packages/releases.py
index a7f161e..6ef19d2 100644
--- a/app/blueprints/packages/releases.py
+++ b/app/blueprints/packages/releases.py
@@ -225,3 +225,20 @@ def bulk_change_release(package):
return redirect(package.getDetailsURL())
return render_template("packages/release_bulk_change.html", package=package, form=form)
+
+
+@bp.route("/packages/<author>/<name>/releases/<id>/delete/", methods=["POST"])
+@login_required
+@is_package_page
+def delete_release(package, id):
+ release = PackageRelease.query.get(id)
+ if release is None or release.package != package:
+ abort(404)
+
+ if not release.checkPerm(current_user, Permission.DELETE_RELEASE):
+ return redirect(release.getEditURL())
+
+ db.session.delete(release)
+ db.session.commit()
+
+ return redirect(package.getDetailsURL())