diff options
author | rubenwardy <rw@rubenwardy.com> | 2018-05-25 18:28:24 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2018-05-25 18:28:24 +0100 |
commit | 8cf5c7204f0ebb787eafb9ffa04c9e61a8d6d3af (patch) | |
tree | 5ef4e040ed428a48319c325d93927508624c99c3 /app/views/admin.py | |
parent | f93394df753b7e2181f2a3eb3c1f3d45835ccc63 (diff) | |
download | cheatdb-8cf5c7204f0ebb787eafb9ffa04c9e61a8d6d3af.tar.xz |
Add package soft deletion
Diffstat (limited to 'app/views/admin.py')
-rw-r--r-- | app/views/admin.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/app/views/admin.py b/app/views/admin.py index d0dcf73..6c8c4ef 100644 --- a/app/views/admin.py +++ b/app/views/admin.py @@ -37,15 +37,25 @@ def admin_page(): elif action == "importscreenshots": packages = Package.query \ .outerjoin(PackageScreenshot, Package.id==PackageScreenshot.package_id) \ - .filter(PackageScreenshot.id==None).all() + .filter(PackageScreenshot.id==None) \ + .filter_by(soft_deleted=False).all() for package in packages: importRepoScreenshot.delay(package.id) return redirect(url_for("admin_page")) + elif action == "restore": + package = Package.query.get(request.form["package"]) + if package is None: + flash("Unknown package", "error") + else: + package.soft_deleted = False + db.session.commit() + return redirect(url_for("admin_page")) else: flash("Unknown action: " + action, "error") - return render_template("admin/list.html") + deleted_packages = Package.query.filter_by(soft_deleted=True).all() + return render_template("admin/list.html", deleted_packages=deleted_packages) class SwitchUserForm(FlaskForm): username = StringField("Username") |