37 lines
1 KiB
Python
37 lines
1 KiB
Python
import frappe
|
|
|
|
def execute():
|
|
from frappe.core.doctype.file.file import make_home_folder
|
|
|
|
if not frappe.db.exists("DocType", "File"):
|
|
frappe.rename_doc("DocType", "File Data", "File")
|
|
frappe.reload_doctype("File")
|
|
|
|
if not frappe.db.exists("File", {"is_home_folder": 1}):
|
|
make_home_folder()
|
|
|
|
# make missing folders and set parent folder
|
|
for file in frappe.get_all("File", filters={"is_folder": 0}):
|
|
file = frappe.get_doc("File", file.name)
|
|
file.flags.ignore_folder_validate = True
|
|
file.flags.ignore_file_validate = True
|
|
file.flags.ignore_duplicate_entry_error = True
|
|
file.flags.ignore_links = True
|
|
file.set_folder_name()
|
|
try:
|
|
file.save()
|
|
except:
|
|
print frappe.get_traceback()
|
|
raise
|
|
|
|
from frappe.utils.nestedset import rebuild_tree
|
|
rebuild_tree("File", "folder")
|
|
|
|
# reset file size
|
|
for folder in frappe.db.sql("""select name from tabFile f1 where is_folder = 1 and
|
|
(select count(*) from tabFile f2 where f2.folder = f1.name and f2.is_folder = 1) = 0"""):
|
|
folder = frappe.get_doc("File", folder[0])
|
|
folder.save()
|
|
|
|
|
|
|