mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-01 19:29:10 +00:00
[files] [patch] dropped file_list property and moved links to
This commit is contained in:
47
patches/april_2013/p05_update_file_data.py
Normal file
47
patches/april_2013/p05_update_file_data.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import webnotes, webnotes.utils, os
|
||||
from webnotes.modules.export_file import export_to_files
|
||||
|
||||
def execute():
|
||||
singles = webnotes.conn.sql_list("""select name from tabDocType
|
||||
where ifnull(issingle,0)=1""")
|
||||
for doctype in webnotes.conn.sql_list("""select parent from tabDocField where
|
||||
fieldname='file_list' and fieldtype='Text'"""):
|
||||
print doctype
|
||||
if doctype in singles:
|
||||
doc = webnotes.doc(doctype, doctype)
|
||||
update_for_doc(doctype, doc)
|
||||
webnotes.conn.set_value(doctype, None, "file_list", None)
|
||||
else:
|
||||
try:
|
||||
for doc in webnotes.conn.sql("""select name, file_list from `tab%s` where
|
||||
ifnull(file_list, '')!=''""" % doctype, as_dict=True):
|
||||
update_for_doc(doctype, doc)
|
||||
webnotes.conn.commit()
|
||||
webnotes.conn.sql("""alter table `tab%s` drop column file_list""" % doctype)
|
||||
except Exception, e:
|
||||
if e.args[0]!=1054: raise e
|
||||
|
||||
webnotes.conn.sql("""delete from tabDocField where fieldname='file_list'
|
||||
and parent=%s""", doctype)
|
||||
export_to_files([["DocType", doctype]])
|
||||
|
||||
def update_for_doc(doctype, doc):
|
||||
for filedata in doc.file_list.split("\n"):
|
||||
if not filedata:
|
||||
continue
|
||||
|
||||
filename, fileid = filedata.split(",")
|
||||
|
||||
exists = True
|
||||
if not (filename.startswith("http://") or filename.startswith("https://")):
|
||||
if not os.path.exists(os.path.join(webnotes.utils.get_base_path(), "public", "files", filename)):
|
||||
exists = False
|
||||
|
||||
if exists:
|
||||
webnotes.conn.sql("""update `tabFile Data`
|
||||
set attached_to_doctype=%s, attached_to_name=%s
|
||||
where name=%s""", (doctype, doc.name, fileid))
|
||||
|
||||
else:
|
||||
webnotes.conn.sql("""delete from `tabFile Data` where name=%s""",
|
||||
fileid)
|
||||
Reference in New Issue
Block a user