Ver a proveniência

fixed issue for utf-8

version-14
Rushabh Mehta há 14 anos
ascendente
cometimento
a9f947f305
7 ficheiros alterados com 35 adições e 25 eliminações
  1. +23
    -3
      cgi-bin/webnotes/db.py
  2. +3
    -6
      cgi-bin/webnotes/handler.py
  3. +5
    -11
      cgi-bin/webnotes/utils/__init__.py
  4. +1
    -1
      js/form.compressed.js
  5. +1
    -1
      js/utils/handler.js
  6. +1
    -2
      js/widgets/form/clientscriptAPI.js
  7. +1
    -1
      js/wnf.compressed.js

+ 23
- 3
cgi-bin/webnotes/db.py Ver ficheiro

@@ -15,9 +15,6 @@ class Database:
self.host = host or 'localhost'
self.user = user or getattr(defs, 'default_db_name', '')

# password can be empty string
self.password = password==None and getattr(defs, 'db_password', '') or password

if ac_name:
self.user = self.get_db_login(ac_name) or defs.default_db_name
@@ -28,6 +25,8 @@ class Database:
self.in_transaction = 0
self.transaction_writes = 0
self.testing_tables = []

self.password = self.get_db_password(ac_name, password)
self.connect()
if self.user != 'root':
@@ -36,6 +35,27 @@ class Database:
if webnotes.logger:
webnotes.logger.debug('Database object initialized for:%s',self.user)

def get_db_password(self, db_name, password):
"""
Return db password. order of importance:
1. password
2. defs.get_db_password()
3. defs.db_password
"""
# password can be empty string
if password:
return password
if hasattr(defs, 'get_db_password'):
return defs.get_db_password(db_name)

if hasattr(defs, 'db_password'):
return defs.db_password

else:
return ''
def get_db_login(self, ac_name):
return getattr(defs,'db_name_map').get(ac_name, getattr(defs,'default_db_name'))



+ 3
- 6
cgi-bin/webnotes/handler.py Ver ficheiro

@@ -410,17 +410,14 @@ else:
except: # python 2.4
import simplejson as json
try:
str_out = json.dumps(webnotes.response)
except:
str_out = str(webnotes.response).replace(', None', ', ""')
str_out = json.dumps(webnotes.response)
if acceptsGzip and len(str_out)>512:
if acceptsGzip and 1 and len(str_out)>512:
out_buf = compressBuf(str_out)
print "Content-Encoding: gzip"
print "Content-Length: %d" % (len(out_buf))
print "Content-Type: text/html; Charset: ISO-8859-1"
print "Content-Type: text/html; charset: utf-8"
# if there ar additional cookies defined during the request, add them here
if webnotes.cookies or webnotes.add_cookies:


+ 5
- 11
cgi-bin/webnotes/utils/__init__.py Ver ficheiro

@@ -287,19 +287,13 @@ def cstr(s):
"""
Convert to string
"""
if s==None:
if type(s) in (str, unicode):
return s
elif s==None:
return ''
else:
if hasattr(s, 'encode'):
try:
s = s.encode('utf-8', 'ignore')
except:
pass
try:
return unicode(s)
except UnicodeDecodeError:
return unicode(s, 'utf-8')

return str(s)
def str_esc_quote(s):
"""
Escape quotes


+ 1
- 1
js/form.compressed.js Ver ficheiro

@@ -428,7 +428,7 @@ $c_get_values=function(args,doc,dt,dn,user_callback){var call_back=function(r,rt
refresh_field(fl[i],dn,args.table_field);else
refresh_field(fl[i]);}}
$c('webnotes.widgets.form.get_fields',args,call_back);}
get_server_fields=function(method,arg,table_field,doc,dt,dn,allow_edit,call_back){if(!allow_edit)freeze('Fetching Data...');$c('runserverobj',args={'method':method,'docs':compress_doclist([doc]),'arg':arg},function(r,rt){if(r.message){var d=locals[dt][dn];var field_dict=eval('var a='+r.message+';a');for(var key in field_dict){d[key]=field_dict[key];if(table_field)refresh_field(key,d.name,table_field);else refresh_field(key);}}
get_server_fields=function(method,arg,table_field,doc,dt,dn,allow_edit,call_back){if(!allow_edit)freeze('Fetching Data...');$c('runserverobj',args={'method':method,'docs':compress_doclist([doc]),'arg':arg},function(r,rt){if(r.message){var d=locals[dt][dn];var field_dict=r.message;for(var key in field_dict){d[key]=field_dict[key];if(table_field)refresh_field(key,d.name,table_field);else refresh_field(key);}}
if(call_back){doc=locals[doc.doctype][doc.name];call_back(doc,dt,dn);}
if(!allow_edit)unfreeze();});}
set_multiple=function(dt,dn,dict,table_field){var d=locals[dt][dn];for(var key in dict){d[key]=dict[key];if(table_field)refresh_field(key,d.name,table_field);else refresh_field(key);}}


+ 1
- 1
js/utils/handler.js Ver ficheiro

@@ -42,7 +42,7 @@ function $c(command, args, fn, on_timeout, no_spinner, freeze_msg) {
var rtxt = req.responseText;
try {
var r = eval("var a="+rtxt+";a");
var r = JSON.parse(rtxt);
} catch(e) {
alert('Handler Exception:' + rtxt);
return;


+ 1
- 2
js/widgets/form/clientscriptAPI.js Ver ficheiro

@@ -24,8 +24,7 @@ get_server_fields = function(method, arg, table_field, doc, dt, dn, allow_edit,
function(r, rt) {
if (r.message) {
var d = locals[dt][dn];
var field_dict = eval('var a='+r.message+';a');

var field_dict = r.message;
for(var key in field_dict) {
d[key] = field_dict[key];
if (table_field) refresh_field(key, d.name, table_field);


+ 1
- 1
js/wnf.compressed.js Ver ficheiro

@@ -250,7 +250,7 @@ unfreeze();return false;}}
var pending_req=0;function newHttpReq(){if(!isIE)
var r=new XMLHttpRequest();else if(window.ActiveXObject)
var r=new ActiveXObject("Microsoft.XMLHTTP");return r;}
function $c(command,args,fn,on_timeout,no_spinner,freeze_msg){var req=newHttpReq();ret_fn=function(){if(checkResponse(req,on_timeout,no_spinner,freeze_msg)){if(!no_spinner)hide_loading();var rtxt=req.responseText;try{var r=eval("var a="+rtxt+";a");}catch(e){alert('Handler Exception:'+rtxt);return;}
function $c(command,args,fn,on_timeout,no_spinner,freeze_msg){var req=newHttpReq();ret_fn=function(){if(checkResponse(req,on_timeout,no_spinner,freeze_msg)){if(!no_spinner)hide_loading();var rtxt=req.responseText;try{var r=JSON.parse(rtxt);}catch(e){alert('Handler Exception:'+rtxt);return;}
if(freeze_msg)unfreeze();if(!validate_session(r,rtxt))return;if(r.exc){errprint(r.exc);};if(r.server_messages){msgprint(r.server_messages);};if(r.docs){LocalDB.sync(r.docs);}
saveAllowed=true;if(fn)fn(r,rtxt);}}
req.onreadystatechange=ret_fn;req.open("POST",outUrl,true);req.setRequestHeader("ENCTYPE","multipart/form-data");req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");args['cmd']=command;req.send(makeArgString(args));if(!no_spinner)set_loading();if(freeze_msg)freeze(freeze_msg,1);}


Carregando…
Cancelar
Guardar