diff options
author | rubenwardy <rw@rubenwardy.com> | 2020-01-19 00:02:33 +0000 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2020-01-19 00:02:37 +0000 |
commit | 59039a14a5ebc1d006cfe72ac98aae74c0602de1 (patch) | |
tree | 7b18926db2c7eecf948fc9b3a07bf9469689900f /app/blueprints/packages/releases.py | |
parent | 0d6e2174055a9d82c59eee17e7e25fb047b18e89 (diff) | |
download | cheatdb-59039a14a5ebc1d006cfe72ac98aae74c0602de1.tar.xz |
Add ability to delete releases
Diffstat (limited to 'app/blueprints/packages/releases.py')
-rw-r--r-- | app/blueprints/packages/releases.py | 17 |
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()) |