]> git.ipfire.org Git - ipfire.org.git/commitdiff
docs: Prevent deleting files if they are still in use
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 20 Dec 2023 14:52:26 +0000 (14:52 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 20 Dec 2023 14:52:26 +0000 (14:52 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/web/docs.py

index 25fc01c749b4648369487f6dfe7d7ccf25e4dca6..79a9986bdc97ce2b0b491dcdfc12219f52f001f3 100644 (file)
@@ -323,6 +323,10 @@ class DeleteFileHandler(base.BaseHandler):
                if not file:
                        raise tornado.web.HTTPError(404, "Could not find %s" % path)
 
+               # Check if this can be deleted
+               if not file.can_be_deleted():
+                       raise tornado.web.HTTPError(400, "%s cannot be deleted" % file)
+
                self.render("docs/confirm-delete.html", file=file)
 
        @tornado.web.authenticated
@@ -337,6 +341,10 @@ class DeleteFileHandler(base.BaseHandler):
                if not file:
                        raise tornado.web.HTTPError(404, "Could not find %s" % path)
 
+               # Check if this can be deleted
+               if not file.can_be_deleted():
+                       raise tornado.web.HTTPError(400, "%s cannot be deleted" % file)
+
                with self.db.transaction():
                        file.delete(self.current_user)