Преглед на файлове

file manager fix, profile has user_image and user_background fields and fixed background in form

version-14
Rushabh Mehta преди 13 години
родител
ревизия
98157ec338
променени са 6 файла, в които са добавени 275 реда и са изтрити 271 реда
  1. +11
    -1
      js/legacy/utils/datatype.js
  2. +6
    -1
      js/legacy/widgets/form/form.js
  3. +237
    -216
      py/core/doctype/profile/profile.txt
  4. +7
    -7
      py/webnotes/boot.py
  5. +12
    -43
      py/webnotes/utils/file_manager.py
  6. +2
    -3
      py/webnotes/widgets/form/utils.py

+ 11
- 1
js/legacy/utils/datatype.js Целия файл

@@ -208,8 +208,18 @@ var rstrip = function(s, chars) {
return s; return s;
} }


function repl_all(s, s1, s2) {
var idx = s.indexOf(s1);
while (idx != -1){
s = s.replace(s1, s2);
idx = s.indexOf(s1);
}
return s;
}
function repl(s, dict) { function repl(s, dict) {
return sprintf(s, dict);
if(s==null)return '';
for(key in dict) s = repl_all(s, '%('+key+')s', dict[key]);
return s;
} }


///// dict type ///// dict type


+ 6
- 1
js/legacy/widgets/form/form.js Целия файл

@@ -159,7 +159,12 @@ _f.Frm.prototype.setup_std_layout = function() {
this.layout = new Layout(this.page_layout.body, '100%'); this.layout = new Layout(this.page_layout.body, '100%');
// sidebar // sidebar
if(!this.in_dialog) {
if(this.in_dialog) {
// hide sidebar
$(this.page_layout.wrapper).removeClass('layout-wrapper-background');
$(this.page_layout.main).removeClass('layout-main-section');
$(this.page_layout.sidebar_area).toggle(false);
} else {
this.setup_sidebar(); this.setup_sidebar();
} }


+ 237
- 216
py/core/doctype/profile/profile.txt Целия файл

@@ -3,52 +3,54 @@


# These values are common in all dictionaries # These values are common in all dictionaries
{ {
'creation': '2009-05-12 11:19:11',
'creation': '2011-08-25 17:35:27',
'docstatus': 0, 'docstatus': 0,
'modified': '2011-08-25 14:02:26',
'modified_by': 'Administrator',
'owner': 'Administrator'
'modified': '2012-02-29 17:09:18',
'modified_by': u'Administrator',
'owner': u'Administrator'
}, },


# These values are common for all DocType # These values are common for all DocType
{ {
'_last_update': '1311340897',
'_last_update': u'1323345145',
'allow_attach': 1, 'allow_attach': 1,
'allow_copy': 0, 'allow_copy': 0,
'allow_email': 0, 'allow_email': 0,
'allow_print': 0, 'allow_print': 0,
'colour': 'White:FFF',
'colour': u'White:FFF',
'default_print_format': u'Standard',
'doctype': 'DocType', 'doctype': 'DocType',
'hide_heading': 0, 'hide_heading': 0,
'hide_toolbar': 0, 'hide_toolbar': 0,
'issingle': 0, 'issingle': 0,
'istable': 0, 'istable': 0,
'max_attachments': 1, 'max_attachments': 1,
'module': 'Core',
'module': u'Core',
'name': '__common__', 'name': '__common__',
'print_outline': 'Yes',
'print_outline': u'Yes',
'read_only': 0, 'read_only': 0,
'search_fields': 'first_name, last_name',
'search_fields': u'first_name, last_name',
'section_style': u'Simple',
'show_in_menu': 0, 'show_in_menu': 0,
'version': 32
'version': 33
}, },


# These values are common for all DocField # These values are common for all DocField
{ {
'doctype': 'DocField',
'doctype': u'DocField',
'name': '__common__', 'name': '__common__',
'parent': 'Profile',
'parentfield': 'fields',
'parenttype': 'DocType'
'parent': u'Profile',
'parentfield': u'fields',
'parenttype': u'DocType'
}, },


# These values are common for all DocPerm # These values are common for all DocPerm
{ {
'doctype': 'DocPerm',
'doctype': u'DocPerm',
'name': '__common__', 'name': '__common__',
'parent': 'Profile',
'parentfield': 'permissions',
'parenttype': 'DocType',
'parent': u'Profile',
'parentfield': u'permissions',
'parenttype': u'DocType',
'read': 1, 'read': 1,
'write': 1 'write': 1
}, },
@@ -56,94 +58,94 @@
# DocType, Profile # DocType, Profile
{ {
'doctype': 'DocType', 'doctype': 'DocType',
'name': 'Profile'
'name': u'Profile'
}, },


# DocPerm # DocPerm
{ {
'cancel': 0, 'cancel': 0,
'create': 1, 'create': 1,
'doctype': 'DocPerm',
'doctype': u'DocPerm',
'execute': 0, 'execute': 0,
'permlevel': 0, 'permlevel': 0,
'role': 'Administrator',
'role': u'Administrator',
'submit': 0 'submit': 0
}, },


# DocPerm # DocPerm
{ {
'create': 1, 'create': 1,
'doctype': 'DocPerm',
'doctype': u'DocPerm',
'permlevel': 0, 'permlevel': 0,
'role': 'System Manager'
'role': u'System Manager'
}, },


# DocPerm # DocPerm
{ {
'doctype': 'DocPerm',
'doctype': u'DocPerm',
'permlevel': 1, 'permlevel': 1,
'role': 'Administrator'
'role': u'Administrator'
}, },


# DocPerm # DocPerm
{ {
'doctype': 'DocPerm',
'match': 'owner',
'doctype': u'DocPerm',
'match': u'owner',
'permlevel': 0, 'permlevel': 0,
'role': 'All'
'role': u'All'
}, },


# DocField # DocField
{ {
'default': '1',
'doctype': 'DocField',
'fieldname': 'enabled',
'fieldtype': 'Check',
'label': 'Enabled',
'oldfieldname': 'enabled',
'oldfieldtype': 'Check',
'default': u'1',
'doctype': u'DocField',
'fieldname': u'enabled',
'fieldtype': u'Check',
'label': u'Enabled',
'oldfieldname': u'enabled',
'oldfieldtype': u'Check',
'permlevel': 1 'permlevel': 1
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'password',
'fieldtype': 'Password',
'label': 'Password',
'permlevel': 1,
'hidden': 1
'doctype': u'DocField',
'fieldname': u'password',
'fieldtype': u'Password',
'hidden': 1,
'label': u'Password',
'permlevel': 1
}, },
# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'registered',
'fieldtype': 'Check',
'label': 'Registered',
'permlevel': 0,
'hidden': 1
'doctype': u'DocField',
'fieldname': u'registered',
'fieldtype': u'Check',
'hidden': 1,
'label': u'Registered',
'permlevel': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'unsubscribed',
'fieldtype': 'Check',
'label': 'Unsubscribed',
'permlevel': 0,
'hidden': 1
'doctype': u'DocField',
'fieldname': u'unsubscribed',
'fieldtype': u'Check',
'hidden': 1,
'label': u'Unsubscribed',
'permlevel': 0
}, },
# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'recent_documents',
'fieldtype': 'Text',
'doctype': u'DocField',
'fieldname': u'recent_documents',
'fieldtype': u'Text',
'hidden': 1, 'hidden': 1,
'label': 'Recent Documents',
'oldfieldname': 'recent_documents',
'oldfieldtype': 'Text',
'label': u'Recent Documents',
'oldfieldname': u'recent_documents',
'oldfieldtype': u'Text',
'permlevel': 0, 'permlevel': 0,
'reqd': 0, 'reqd': 0,
'search_index': 0 'search_index': 0
@@ -151,182 +153,179 @@


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'first_name',
'fieldtype': 'Data',
'label': 'First Name',
'oldfieldname': 'first_name',
'oldfieldtype': 'Data',
'doctype': u'DocField',
'fieldname': u'first_name',
'fieldtype': u'Data',
'label': u'First Name',
'oldfieldname': u'first_name',
'oldfieldtype': u'Data',
'permlevel': 0, 'permlevel': 0,
'reqd': 1 'reqd': 1
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'middle_name',
'fieldtype': 'Data',
'label': 'Middle Name (Optional)',
'oldfieldname': 'middle_name',
'oldfieldtype': 'Data',
'doctype': u'DocField',
'fieldname': u'middle_name',
'fieldtype': u'Data',
'label': u'Middle Name (Optional)',
'oldfieldname': u'middle_name',
'oldfieldtype': u'Data',
'permlevel': 0 'permlevel': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'last_name',
'fieldtype': 'Data',
'label': 'Last Name',
'oldfieldname': 'last_name',
'oldfieldtype': 'Data',
'doctype': u'DocField',
'fieldname': u'last_name',
'fieldtype': u'Data',
'label': u'Last Name',
'oldfieldname': u'last_name',
'oldfieldtype': u'Data',
'permlevel': 0 'permlevel': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'gender',
'fieldtype': 'Select',
'label': 'Gender',
'oldfieldname': 'gender',
'oldfieldtype': 'Select',
'options': '\nMale\nFemale',
'doctype': u'DocField',
'fieldname': u'gender',
'fieldtype': u'Select',
'label': u'Gender',
'oldfieldname': u'gender',
'oldfieldtype': u'Select',
'options': u'\nMale\nFemale',
'permlevel': 0, 'permlevel': 0,
'search_index': 0 'search_index': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldtype': 'Column Break',
'oldfieldtype': 'Column Break',
'doctype': u'DocField',
'fieldtype': u'Column Break',
'oldfieldtype': u'Column Break',
'permlevel': 1, 'permlevel': 1,
'width': '50%'
'width': u'50%'
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'email',
'fieldtype': 'Data',
'doctype': u'DocField',
'fieldname': u'email',
'fieldtype': u'Data',
'hidden': 0, 'hidden': 0,
'label': 'Email',
'oldfieldname': 'email',
'oldfieldtype': 'Data',
'label': u'Email',
'oldfieldname': u'email',
'oldfieldtype': u'Data',
'permlevel': 0, 'permlevel': 0,
'reqd': 1, 'reqd': 1,
'search_index': 0 'search_index': 0
}, },
# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'bio',
'fieldtype': 'Text',
'label': 'Bio',
'oldfieldname': 'bio',
'oldfieldtype': 'Text',
'doctype': u'DocField',
'fieldname': u'bio',
'fieldtype': u'Text',
'hidden': 1,
'label': u'Bio',
'oldfieldname': u'bio',
'oldfieldtype': u'Text',
'permlevel': 0, 'permlevel': 0,
'search_index': 0,
'hidden': 1
'search_index': 0
}, },



# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'interests',
'fieldtype': 'Text',
'label': 'Interests',
'oldfieldname': 'interests',
'oldfieldtype': 'Text',
'permlevel': 0,
'hidden': 1
'doctype': u'DocField',
'fieldname': u'interests',
'fieldtype': u'Text',
'hidden': 1,
'label': u'Interests',
'oldfieldname': u'interests',
'oldfieldtype': u'Text',
'permlevel': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'birth_date',
'fieldtype': 'Date',
'label': 'Birth Date',
'oldfieldname': 'birth_date',
'oldfieldtype': 'Date',
'doctype': u'DocField',
'fieldname': u'birth_date',
'fieldtype': u'Date',
'label': u'Birth Date',
'oldfieldname': u'birth_date',
'oldfieldtype': u'Date',
'permlevel': 0 'permlevel': 0
}, },



# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'activities',
'fieldtype': 'Text',
'label': 'Activities',
'oldfieldname': 'activities',
'oldfieldtype': 'Text',
'permlevel': 0,
'hidden': 1
'doctype': u'DocField',
'fieldname': u'activities',
'fieldtype': u'Text',
'hidden': 1,
'label': u'Activities',
'oldfieldname': u'activities',
'oldfieldtype': u'Text',
'permlevel': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'messanger_status',
'fieldtype': 'Data',
'label': 'Messanger Status',
'oldfieldname': 'messanger_status',
'oldfieldtype': 'Data',
'doctype': u'DocField',
'fieldname': u'messanger_status',
'fieldtype': u'Data',
'label': u'Messanger Status',
'oldfieldname': u'messanger_status',
'oldfieldtype': u'Data',
'permlevel': 0, 'permlevel': 0,
'search_index': 0 'search_index': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'user_type',
'fieldtype': 'Select',
'label': 'User Type',
'oldfieldname': 'user_type',
'oldfieldtype': 'Select',
'options': '\nSystem User\nPartner',
'doctype': u'DocField',
'fieldname': u'user_type',
'fieldtype': u'Select',
'label': u'User Type',
'oldfieldname': u'user_type',
'oldfieldtype': u'Select',
'options': u'\nSystem User\nPartner',
'permlevel': 0 'permlevel': 0
}, },



# DocField # DocField
{ {
'doctype': 'DocField',
'fieldtype': 'Section Break',
'doctype': u'DocField',
'fieldtype': u'Section Break',
'hidden': 0, 'hidden': 0,
'oldfieldtype': 'Section Break',
'oldfieldtype': u'Section Break',
'permlevel': 1, 'permlevel': 1,
'reqd': 0, 'reqd': 0,
'search_index': 0 'search_index': 0
}, },
# DocField # DocField
{ {
'doctype': 'DocField',
'fieldtype': 'Column Break',
'label': 'Roles',
'oldfieldtype': 'Column Break',
'doctype': u'DocField',
'fieldtype': u'Column Break',
'label': u'Roles',
'oldfieldtype': u'Column Break',
'permlevel': 1, 'permlevel': 1,
'width': '50%'
},
'width': u'50%'
},


# DocField # DocField
{ {
'colour': 'White:FFF',
'default': 'Simple',
'doctype': 'DocField',
'fieldname': 'userroles',
'fieldtype': 'Table',
'colour': u'White:FFF',
'default': u'Simple',
'doctype': u'DocField',
'fieldname': u'userroles',
'fieldtype': u'Table',
'hidden': 0, 'hidden': 0,
'label': 'User Roles',
'oldfieldname': 'userroles',
'oldfieldtype': 'Table',
'options': 'UserRole',
'label': u'User Roles',
'oldfieldname': u'userroles',
'oldfieldtype': u'Table',
'options': u'UserRole',
'permlevel': 1, 'permlevel': 1,
'reqd': 0, 'reqd': 0,
'search_index': 0 'search_index': 0
@@ -334,26 +333,26 @@


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldtype': 'Column Break',
'label': 'System Defaults',
'oldfieldtype': 'Column Break',
'doctype': u'DocField',
'fieldtype': u'Column Break',
'label': u'System Defaults',
'oldfieldtype': u'Column Break',
'permlevel': 1, 'permlevel': 1,
'width': '50%'
'width': u'50%'
}, },


# DocField # DocField
{ {
'colour': 'White:FFF',
'default': 'Simple',
'doctype': 'DocField',
'fieldname': 'defaults',
'fieldtype': 'Table',
'colour': u'White:FFF',
'default': u'Simple',
'doctype': u'DocField',
'fieldname': u'defaults',
'fieldtype': u'Table',
'hidden': 0, 'hidden': 0,
'label': 'Defaults',
'oldfieldname': 'defaults',
'oldfieldtype': 'Table',
'options': 'DefaultValue',
'label': u'Defaults',
'oldfieldname': u'defaults',
'oldfieldtype': u'Table',
'options': u'DefaultValue',
'permlevel': 1, 'permlevel': 1,
'reqd': 0, 'reqd': 0,
'search_index': 0 'search_index': 0
@@ -361,57 +360,58 @@


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldtype': 'Section Break',
'label': 'Login Details',
'oldfieldtype': 'Section Break',
'permlevel': 0,
'doctype': u'DocField',
'fieldtype': u'Section Break',
'label': u'Login Details',
'oldfieldtype': u'Section Break',
'permlevel': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'login_before',
'fieldtype': 'Int',
'label': 'Login Before',
'doctype': u'DocField',
'fieldname': u'login_before',
'fieldtype': u'Int',
'label': u'Login Before',
'permlevel': 0 'permlevel': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'login_after',
'fieldtype': 'Int',
'label': 'Login After',
'doctype': u'DocField',
'fieldname': u'login_after',
'fieldtype': u'Int',
'label': u'Login After',
'permlevel': 0 'permlevel': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'restrict_ip',
'fieldtype': 'Data',
'label': 'Restrict IP',
'doctype': u'DocField',
'fieldname': u'restrict_ip',
'fieldtype': u'Data',
'label': u'Restrict IP',
'permlevel': 0 'permlevel': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldtype': 'Column Break',
'oldfieldtype': 'Column Break',
'width': '50%'
'doctype': u'DocField',
'fieldtype': u'Column Break',
'oldfieldtype': u'Column Break',
'permlevel': 0,
'width': u'50%'
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'last_login',
'fieldtype': 'Read Only',
'doctype': u'DocField',
'fieldname': u'last_login',
'fieldtype': u'Read Only',
'hidden': 0, 'hidden': 0,
'label': 'Last Login',
'oldfieldname': 'last_login',
'oldfieldtype': 'Read Only',
'label': u'Last Login',
'oldfieldname': u'last_login',
'oldfieldtype': u'Read Only',
'permlevel': 0, 'permlevel': 0,
'reqd': 0, 'reqd': 0,
'search_index': 0 'search_index': 0
@@ -419,24 +419,45 @@


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'last_ip',
'fieldtype': 'Read Only',
'label': 'Last IP',
'oldfieldname': 'last_ip',
'oldfieldtype': 'Read Only',
'doctype': u'DocField',
'fieldname': u'last_ip',
'fieldtype': u'Read Only',
'label': u'Last IP',
'oldfieldname': u'last_ip',
'oldfieldtype': u'Read Only',
'permlevel': 0
},

# DocField
{
'doctype': u'DocField',
'fieldname': u'user_image',
'fieldtype': u'Data',
'hidden': 1,
'label': u'User Image',
'permlevel': 0
},

# DocField
{
'doctype': u'DocField',
'fieldname': u'background_image',
'fieldtype': u'Data',
'hidden': 1,
'label': u'Background Image',
'permlevel': 0 'permlevel': 0
}, },


# DocField # DocField
{ {
'doctype': 'DocField',
'fieldname': 'file_list',
'fieldtype': 'Text',
'doctype': u'DocField',
'fieldname': u'file_list',
'fieldtype': u'Text',
'hidden': 1, 'hidden': 1,
'label': 'File List',
'oldfieldname': 'file_list',
'oldfieldtype': 'Text',
'label': u'File List',
'no_copy': 1,
'oldfieldname': u'file_list',
'oldfieldtype': u'Text',
'permlevel': 0 'permlevel': 0
}
}
] ]

+ 7
- 7
py/webnotes/boot.py Целия файл

@@ -51,7 +51,7 @@ def get_bootinfo():
if webnotes.session['user'] != 'Guest': if webnotes.session['user'] != 'Guest':
import webnotes.widgets.menus import webnotes.widgets.menus
bootinfo['dt_labels'] = get_dt_labels() bootinfo['dt_labels'] = get_dt_labels()
bootinfo['user_fullnames'] = get_fullnames()
bootinfo['user_info'] = get_fullnames()
# home page # home page
get_home_page(bootinfo, doclist) get_home_page(bootinfo, doclist)
@@ -75,13 +75,13 @@ def get_bootinfo():
def get_fullnames(): def get_fullnames():
"""map of user fullnames""" """map of user fullnames"""
import webnotes import webnotes
ret = dict(webnotes.conn.sql("""select name,
ret = webnotes.conn.sql("""select name,
concat(ifnull(first_name, ''), concat(ifnull(first_name, ''),
if(ifnull(first_name, '')!='', ' ', ''), ifnull(last_name, ''))
from tabProfile where ifnull(enabled, 0)=1"""))
for key in ret:
if not ret[key]:
ret[key] = key
if(ifnull(first_name, '')!='', ' ', ''), ifnull(last_name, '')), user_image
from tabProfile where ifnull(enabled, 0)=1""")
d = {}
for r in ret:
d[r[0]]= {'fullname': r[1], 'image': r[2]}


return ret return ret


+ 12
- 43
py/webnotes/utils/file_manager.py Целия файл

@@ -97,13 +97,10 @@ def remove_all(dt, dn):
for afile in file_list.split('\n'): for afile in file_list.split('\n'):
if afile: if afile:
fname, fid = afile.split(',') fname, fid = afile.split(',')
remove_file_list(dt, dn, fid)
delete_file(fid)
remove_file(dt, dn, fid)


def remove_file_list(dt, dn, fid):
"""
Remove fid from the give file_list
"""
def remove_file(dt, dn, fid):
"""Remove fid from the give file_list"""
# get the old file_list # get the old file_list
fl = webnotes.conn.get_value(dt, dn, 'file_list') or '' fl = webnotes.conn.get_value(dt, dn, 'file_list') or ''
@@ -112,6 +109,9 @@ def remove_file_list(dt, dn, fid):
for f in fl: for f in fl:
if f.split(',')[1]!=fid: if f.split(',')[1]!=fid:
new_fl.append(f) new_fl.append(f)

# delete
delete_file(fid)
# update the file_list # update the file_list
webnotes.conn.set_value(dt, dn, 'file_list', '\n'.join(new_fl)) webnotes.conn.set_value(dt, dn, 'file_list', '\n'.join(new_fl))
@@ -215,28 +215,18 @@ def write_file(fid, content):
file.close() file.close()


# -------------------------------------------------------
def get_file_system_name(fname): def get_file_system_name(fname):
# get system name from File Data table # get system name from File Data table
return webnotes.conn.sql("""select name, file_name from `tabFile Data` return webnotes.conn.sql("""select name, file_name from `tabFile Data`
where name=%s or file_name=%s""", (fname, fname)) where name=%s or file_name=%s""", (fname, fname))


# -------------------------------------------------------
def delete_file(fname, verbose=0):
def delete_file(fid, verbose=0):
"""delete file from file system"""
import os import os
for f in get_file_system_name(fname):
webnotes.conn.sql("delete from `tabFile Data` where name=%s", f[0])
# delete file
file_id = f[0].replace('/','-')
try:
os.remove(os.path.join(webnotes.get_files_path(), file_id))
except OSError, e:
if e.args[0]!=2:
raise e
if verbose: webnotes.msgprint('File Deleted')
webnotes.conn.sql("delete from `tabFile Data` where name=%s", fid)
path = os.path.join(webnotes.get_files_path(), fid.replace('/','-'))
if os.path.exists(path):
os.remove(path)


# Get File # Get File
# ------------------------------------------------------- # -------------------------------------------------------
@@ -258,26 +248,5 @@ def get_file(fname):


return [file_name, content] return [file_name, content]


# Conversion Patch
# -------------------------------------------------------

def convert_to_files(verbose=0):
# nfiles
fl = webnotes.conn.sql("select name from `tabFile Data`")
for f in fl:
# get the blob
blob = webnotes.conn.sql("select blob_content from `tabFile Data` where name=%s", f[0])[0][0]
if blob:

if hasattr(blob, 'tostring'):
blob = blob.tostring()

# write the file
write_file(f[0], blob)
if verbose:
webnotes.msgprint('%s updated' % f[0])


# ------------------------------------------------------- # -------------------------------------------------------

+ 2
- 3
py/webnotes/widgets/form/utils.py Целия файл

@@ -28,10 +28,9 @@ def remove_attach():
import webnotes.utils.file_manager import webnotes.utils.file_manager
fid = webnotes.form.getvalue('fid') fid = webnotes.form.getvalue('fid')
webnotes.utils.file_manager.delete_file(fid, verbose=1)
# remove from dt dn # remove from dt dn
return str(webnotes.utils.file_manager.remove_file_list(webnotes.form.getvalue('dt'), webnotes.form.getvalue('dn'), fid))
return str(webnotes.utils.file_manager.remove_file(webnotes.form.getvalue('dt'), webnotes.form.getvalue('dn'), fid))


@webnotes.whitelist() @webnotes.whitelist()
def get_fields(): def get_fields():


Зареждане…
Отказ
Запис