Don't try to delete optional file twice on fileDelete API command
This commit is contained in:
parent
9adec79401
commit
6b926b12a4
1 changed files with 9 additions and 5 deletions
|
@ -562,8 +562,10 @@ class UiWebsocket(object):
|
||||||
self.log.error("File delete error: you don't own this site & you are not approved by the owner.")
|
self.log.error("File delete error: you don't own this site & you are not approved by the owner.")
|
||||||
return self.response(to, {"error": "Forbidden, you can only modify your own files"})
|
return self.response(to, {"error": "Forbidden, you can only modify your own files"})
|
||||||
|
|
||||||
|
need_delete = True
|
||||||
file_info = self.site.content_manager.getFileInfo(inner_path)
|
file_info = self.site.content_manager.getFileInfo(inner_path)
|
||||||
if file_info and file_info.get("optional"):
|
if file_info and file_info.get("optional"):
|
||||||
|
# Non-existing optional files won't be removed from content.json, so we have to do it manually
|
||||||
self.log.debug("Deleting optional file: %s" % inner_path)
|
self.log.debug("Deleting optional file: %s" % inner_path)
|
||||||
relative_path = file_info["relative_path"]
|
relative_path = file_info["relative_path"]
|
||||||
content_json = self.site.storage.loadJson(file_info["content_inner_path"])
|
content_json = self.site.storage.loadJson(file_info["content_inner_path"])
|
||||||
|
@ -571,12 +573,14 @@ class UiWebsocket(object):
|
||||||
del content_json["files_optional"][relative_path]
|
del content_json["files_optional"][relative_path]
|
||||||
self.site.storage.writeJson(file_info["content_inner_path"], content_json)
|
self.site.storage.writeJson(file_info["content_inner_path"], content_json)
|
||||||
self.site.content_manager.loadContent(file_info["content_inner_path"], add_bad_files=False, force=True)
|
self.site.content_manager.loadContent(file_info["content_inner_path"], add_bad_files=False, force=True)
|
||||||
|
need_delete = self.site.storage.isFile(inner_path) # File sill exists after removing from content.json (owned site)
|
||||||
|
|
||||||
try:
|
if need_delete:
|
||||||
self.site.storage.delete(inner_path)
|
try:
|
||||||
except Exception, err:
|
self.site.storage.delete(inner_path)
|
||||||
self.log.error("File delete error: Exception - %s" % err)
|
except Exception, err:
|
||||||
return self.response(to, {"error": "Delete error: %s" % err})
|
self.log.error("File delete error: %s" % err)
|
||||||
|
return self.response(to, {"error": "Delete error: %s" % err})
|
||||||
|
|
||||||
self.response(to, "ok")
|
self.response(to, "ok")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue