Amit Parik (OpenERP) has proposed merging 
lp:~openerp-dev/openerp-web/trunk-bug-966108-amp into lp:openerp-web.

Requested reviews:
  OpenERP R&D Web Team (openerp-dev-web)
Related bugs:
  Bug #966108 in OpenERP Web: "KeyError: 'drop_db'. When trying to drop db 
without db name"
  https://bugs.launchpad.net/openerp-web/+bug/966108

For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-bug-966108-amp/+merge/99494

Hello,

Fixed the issue of database drop which is giving KeyError when there is no 
database in list.

Demo :- Try to drop the database when there is no database available in the 
list, it will give KeyError.

Hence changed the code to fix this issue.

Thanks.
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-bug-966108-amp/+merge/99494
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openerp-web/trunk-bug-966108-amp.
=== modified file 'addons/web/controllers/main.py'
--- addons/web/controllers/main.py	2012-03-22 11:31:42 +0000
+++ addons/web/controllers/main.py	2012-03-27 11:12:26 +0000
@@ -424,16 +424,20 @@
 
     @openerpweb.jsonrequest
     def drop(self, req, fields):
-        password, db = operator.itemgetter(
-            'drop_pwd', 'drop_db')(
-                dict(map(operator.itemgetter('name', 'value'), fields)))
+	check_db_name = dict(map(operator.itemgetter('name', 'value'), fields))
+	if 'drop_db' in check_db_name:
+		password, db = operator.itemgetter(
+		    'drop_pwd', 'drop_db')(
+		        dict(map(operator.itemgetter('name', 'value'), fields)))
 
-        try:
-            return req.session.proxy("db").drop(password, db)
-        except xmlrpclib.Fault, e:
-            if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
-                return {'error': e.faultCode, 'title': 'Drop Database'}
-        return {'error': 'Could not drop database !', 'title': 'Drop Database'}
+		try:
+		    return req.session.proxy("db").drop(password, db)
+		except xmlrpclib.Fault, e:
+		    if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
+		        return {'error': e.faultCode, 'title': 'Drop Database'}
+		return {'error': 'Could not drop database !', 'title': 'Drop Database'}
+	else: 
+		return {'error': 'Could not found database  !', 'title': 'Drop Database'}
 
     @openerpweb.httprequest
     def backup(self, req, backup_db, backup_pwd, token):

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to