@@ -143,7 +143,12 @@ class DocType: | |||||
for f in fld_list: | for f in fld_list: | ||||
if f[2] == 'Yes': | if f[2] == 'Yes': | ||||
if f[0].startswith('eval:'): | if f[0].startswith('eval:'): | ||||
to_doc.fields[f[1]] = eval(f[0][5:]) | |||||
try: | |||||
val = eval(f[0][5:]) | |||||
except: | |||||
val = '' | |||||
to_doc.fields[f[1]] = val | |||||
else: | else: | ||||
to_doc.fields[f[1]] = obj.fields.get(f[0]) | to_doc.fields[f[1]] = obj.fields.get(f[0]) | ||||
@@ -48,8 +48,26 @@ modules_path = '' | |||||
# saved to the modules folder | # saved to the modules folder | ||||
# | # | ||||
developer_mode = 0 | developer_mode = 0 | ||||
# | |||||
# Auto Clear Cache: If set, automatically clears cache on refresh | |||||
# | |||||
auto_cache_clear = 0 | auto_cache_clear = 0 | ||||
# | |||||
# Admin Email Notification: If the admin_email_notification is set, | |||||
# then only sent notification email from the system | |||||
# | |||||
admin_email_notification = 0 | |||||
# | |||||
# Global Send Email: Global email settings, if 1 then only mail will go from the system | |||||
# | |||||
global_send_email = 1 | |||||
# | # | ||||
# Time Zone: Useful if your users are across timezones | # Time Zone: Useful if your users are across timezones | ||||
# | # | ||||
@@ -119,7 +119,7 @@ class Installer: | |||||
self.dbman.delete_user(target) | self.dbman.delete_user(target) | ||||
# create user and db | # create user and db | ||||
self.dbman.create_user(target,getattr(webnotes.defs,'db_password',None)) | |||||
self.dbman.create_user(target,self.get_db_password(target)) | |||||
if verbose: print "Created user %s" % target | if verbose: print "Created user %s" % target | ||||
# create a database | # create a database | ||||
@@ -173,7 +173,7 @@ def make_scheduler(root_login, root_password, verbose): | |||||
dbman.delete_user('master_scheduler') | dbman.delete_user('master_scheduler') | ||||
# create user and db | # create user and db | ||||
dbman.create_user('master_scheduler', getattr(webnotes.defs,'db_password',None)) | |||||
dbman.create_user('master_scheduler', getattr(webnotes.defs,'scheduler_password',None)) | |||||
if verbose: print "Created user master_scheduler" | if verbose: print "Created user master_scheduler" | ||||
# create a database | # create a database | ||||
@@ -35,7 +35,8 @@ def write_log(): | |||||
patch_log.write(('\n\nError in %s:\n' % webnotes.conn.cur_db_name) + webnotes.getTraceback()) | patch_log.write(('\n\nError in %s:\n' % webnotes.conn.cur_db_name) + webnotes.getTraceback()) | ||||
patch_log.close() | patch_log.close() | ||||
from webnotes.utils import sendmail | |||||
subj = 'Error in running patches in %s' % webnotes.conn.cur_db_name | |||||
msg = subj + '<br><br>Login User: ' + webnotes.user.name + '<br><br>' + webnotes.getTraceback() | |||||
sendmail(['developer@erpnext.com'], sender='automail@erpnext.com', subject= subj, parts=[['text/plain', msg]]) | |||||
if getattr(webnotes.defs,'admin_email_notification',0): | |||||
from webnotes.utils import sendmail | |||||
subj = 'Error in running patches in %s' % webnotes.conn.cur_db_name | |||||
msg = subj + '<br><br>Login User: ' + webnotes.user.name + '<br><br>' + webnotes.getTraceback() | |||||
sendmail(['developers@erpnext.com'], sender='automail@erpnext.com', subject= subj, parts=[['text/plain', msg]]) |
@@ -162,7 +162,7 @@ def cancel_event(event): | |||||
if __name__=='__main__': | if __name__=='__main__': | ||||
import os,sys | import os,sys | ||||
cgi_bin_path = os.path.sep.join(__file__.split(os.path.sep)[:-3]) | |||||
cgi_bin_path = os.path.sep.join(os.path.abspath(__file__).split(os.path.sep)[:-3]) | |||||
sys.path.append(cgi_bin_path) | sys.path.append(cgi_bin_path) | ||||
@@ -107,8 +107,7 @@ function startup() { | |||||
// for debug | // for debug | ||||
if(_startup_data.server_messages) msgprint(_startup_data.server_messages); | if(_startup_data.server_messages) msgprint(_startup_data.server_messages); | ||||
} else { | } else { | ||||
if($i('startup_div')) | |||||
$c('startup',{},callback,null,1); | |||||
$c('startup',{},callback,null,1); | |||||
} | } | ||||
} | } | ||||
@@ -177,17 +176,6 @@ function setup_calendar() { | |||||
startup_list.push(setup_calendar); | startup_list.push(setup_calendar); | ||||
// ie6 fixed pos fix | |||||
if(isIE6) { | |||||
var scroll_list = [] | |||||
window.onscroll = function() { | |||||
for(var i=0; i<scroll_list.length; i++) { | |||||
scroll_list[i](); | |||||
} | |||||
} | |||||
} | |||||
window.onload = function() { startup() } | |||||
var resize_observers = [] | var resize_observers = [] | ||||
function set_resize_observer(fn) { | function set_resize_observer(fn) { | ||||
if(resize_observers.indexOf(fn)==-1) resize_observers.push(fn); | if(resize_observers.indexOf(fn)==-1) resize_observers.push(fn); | ||||
@@ -259,7 +259,7 @@ function open_url_post(URL, PARAMS, new_window) { | |||||
temp.method="POST"; | temp.method="POST"; | ||||
temp.style.display="none"; | temp.style.display="none"; | ||||
if(new_window){ | if(new_window){ | ||||
temp.target = '_blank'; | |||||
} | } | ||||
for(var x in PARAMS) { | for(var x in PARAMS) { | ||||
var opt=document.createElement("textarea"); | var opt=document.createElement("textarea"); | ||||
@@ -285,7 +285,7 @@ if(namespace?window[namespace][widget_name]:window[widget_name]){callback(create | |||||
currently_loading[widget]=1;}} | currently_loading[widget]=1;}} | ||||
function makeArgString(dict){var varList=[];for(key in dict){varList[varList.length]=key+'='+encodeURIComponent(dict[key]);} | function makeArgString(dict){var varList=[];for(key in dict){varList[varList.length]=key+'='+encodeURIComponent(dict[key]);} | ||||
return varList.join('&');} | return varList.join('&');} | ||||
function open_url_post(URL,PARAMS,new_window){var temp=document.createElement("form");temp.action=URL;temp.method="POST";temp.style.display="none";if(new_window){} | |||||
function open_url_post(URL,PARAMS,new_window){var temp=document.createElement("form");temp.action=URL;temp.method="POST";temp.style.display="none";if(new_window){temp.target='_blank';} | |||||
for(var x in PARAMS){var opt=document.createElement("textarea");opt.name=x;opt.value=PARAMS[x];temp.appendChild(opt);} | for(var x in PARAMS){var opt=document.createElement("textarea");opt.name=x;opt.value=PARAMS[x];temp.appendChild(opt);} | ||||
document.body.appendChild(temp);temp.submit();return temp;} | document.body.appendChild(temp);temp.submit();return temp;} | ||||
var resume_dialog=null;function resume_session(){if(!resume_dialog){var d=new Dialog(400,200,'Session Expired');d.make_body([['Password','password','Re-enter your password to resume the session'],['Button','Go']]);d.widgets['Go'].onclick=function(){resume_dialog.widgets['Go'].set_working();var callback=function(r,rt){resume_dialog.widgets['Go'].done_working();if(r.message=='Logged In'){resume_dialog.allow_close=1;resume_dialog.hide();setTimeout('resume_dialog.allow_close=0',100);}else{msgprint('Wrong Password, try again');resume_dialog.wrong_count++;if(resume_dialog.wrong_count>2)logout();}} | var resume_dialog=null;function resume_session(){if(!resume_dialog){var d=new Dialog(400,200,'Session Expired');d.make_body([['Password','password','Re-enter your password to resume the session'],['Button','Go']]);d.widgets['Go'].onclick=function(){resume_dialog.widgets['Go'].set_working();var callback=function(r,rt){resume_dialog.widgets['Go'].done_working();if(r.message=='Logged In'){resume_dialog.allow_close=1;resume_dialog.hide();setTimeout('resume_dialog.allow_close=0',100);}else{msgprint('Wrong Password, try again');resume_dialog.wrong_count++;if(resume_dialog.wrong_count>2)logout();}} | ||||