From d73d85a34b70d69d9437aa9afc66ae1db4f80452 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" Date: Mon, 16 May 2011 16:29:30 +0530 Subject: [PATCH] [Fix] base_report_designer: Correct usability issue in open office designer bzr revid: sbh@tinyerp.com-20110516105930-iu14exa2hqwmc2tz --- .../plugin/openerp_report_designer.zip | Bin 116242 -> 118144 bytes .../bin/package/Addons.xcu | 6 +- .../bin/script/Change.py | 80 ++++++++------ .../bin/script/LoginTest.py | 2 +- .../bin/script/ServerParameter.py | 101 +++++++----------- 5 files changed, 91 insertions(+), 98 deletions(-) diff --git a/addons/base_report_designer/plugin/openerp_report_designer.zip b/addons/base_report_designer/plugin/openerp_report_designer.zip index 47ca560e47d87b5901a35b35aaa2cca4f7006603..c726b75cfeab8f0f82eaceb352a59fcb27bb73c6 100644 GIT binary patch delta 27836 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%0A6{4xJ7RaVbH;`PkEag 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 delta 26263 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

@Shb-)ydL9Rzpq0(#g@qjl;?N bA>aP%filSO17zUihJT)8001?0_qzTc-yakF diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/package/Addons.xcu b/addons/base_report_designer/plugin/openerp_report_designer/bin/package/Addons.xcu index 121c49af167..f9c1280202d 100644 --- a/addons/base_report_designer/plugin/openerp_report_designer/bin/package/Addons.xcu +++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/package/Addons.xcu @@ -19,7 +19,7 @@ - service:org.openoffice.openerp.report.serverparam?execute + service:org.openoffice.openerp.report.change?execute @@ -283,7 +283,7 @@ - service:org.openoffice.openerp.report.serverparam?execute + service:org.openoffice.openerp.report.change?execute @@ -593,7 +593,7 @@ - service:org.openoffice.openerp.report.serverparam?execute + service:org.openoffice.openerp.report.change?execute diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Change.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Change.py index d4359a466ca..260a584fdd7 100644 --- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Change.py +++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Change.py @@ -44,36 +44,49 @@ # # ############################################################################## - +import uno +import string +import unohelper +import xmlrpclib +from com.sun.star.task import XJobExecutor if __name__<>"package": from lib.gui import * + from lib.error import ErrorDialog from lib.functions import * + from lib.logreport import * from lib.rpc import * + from ServerParameter import * + database="test" -class Change: - def __init__(self, aVal= None, sURL=""): +class Change( unohelper.Base, XJobExecutor ): + def __init__(self,ctx): + self.ctx = ctx + self.module = "openerp_report" + self.version = "0.1" + desktop=getDesktop() + log_detail(self) + self.logobj=Logger() + doc = desktop.getCurrentComponent() + docinfo=doc.getDocumentInfo() self.win=DBModalDialog(60, 50, 120, 90, "Connect to Open ERP Server") self.win.addFixedText("lblVariable", 38, 12, 25, 15, "Server ") - - self.win.addEdit("txtHost",-2,9,60,15,sURL[sURL.find("/")+2:sURL.rfind(":")]) + self.win.addEdit("txtHost",-2,9,60,15,'localhost') self.win.addFixedText("lblReportName",45 , 31, 15, 15, "Port ") - self.win.addEdit("txtPort",-2,28,60,15,sURL[sURL.rfind(":")+1:]) + self.win.addEdit("txtPort",-2,28,60,15,"8069") self.win.addFixedText("lblLoginName", 2, 51, 60, 15, "Protocol Connection") self.win.addComboListBox("lstProtocol", -2, 48, 60, 15, True) self.lstProtocol = self.win.getControl( "lstProtocol" ) -# self.lstProtocol.addItem( "XML-RPC", 0) - #self.lstProtocol.addItem( "XML-RPC secure", 1) - #self.lstProtocol.addItem( "NET-RPC (faster)", 2) - - self.win.addButton( 'btnOK', -2, -5, 30, 15, 'Ok', actionListenerProc = self.btnOk_clicked ) + self.win.addButton( 'btnNext', -2, -5, 30, 15, 'Next', actionListenerProc = self.btnNext_clicked ) self.win.addButton( 'btnCancel', -2 - 30 - 5 ,-5, 30, 15, 'Cancel', actionListenerProc = self.btnCancel_clicked ) + aVal='' self.aVal=aVal + sValue='' self.protocol = { 'XML-RPC': 'http://', 'XML-RPC secure': 'https://', @@ -81,31 +94,32 @@ class Change: } for i in self.protocol.keys(): self.lstProtocol.addItem(i,self.lstProtocol.getItemCount() ) - - sValue=self.protocol.keys()[0] - if sURL<>"": - sValue=self.protocol.keys()[self.protocol.values().index(sURL[:sURL.find("/")+2])] - self.win.doModalDialog( "lstProtocol", sValue) - def btnOk_clicked(self,oActionEvent): + def btnNext_clicked(self,oActionEvent): global url - url = self.protocol[self.win.getListBoxSelectedItem("lstProtocol")]+self.win.getEditText("txtHost")+":"+self.win.getEditText("txtPort") - self.sock=RPCSession(url) - desktop=getDesktop() - doc = desktop.getCurrentComponent() - docinfo=doc.getDocumentInfo() - docinfo.setUserFieldValue(0,url) - res=self.sock.listdb() - if res == -1: - self.aVal.append(url) - elif res == 0: - self.aVal.append("No Database found !!!") - else: - self.aVal.append(url) - self.aVal.append(res) + aVal='' + #aVal= Fetature used + try: + url = self.protocol[self.win.getListBoxSelectedItem("lstProtocol")]+self.win.getEditText("txtHost")+":"+self.win.getEditText("txtPort") + self.sock=RPCSession(url) + desktop=getDesktop() + doc = desktop.getCurrentComponent() + docinfo=doc.getDocumentInfo() + docinfo.setUserFieldValue(0,url) + res=self.sock.listdb() + self.win.endExecute() + ServerParameter(aVal,url) + except : + import traceback,sys + info = reduce(lambda x, y: x+y, traceback.format_exception(sys.exc_type, sys.exc_value, sys.exc_traceback)) + self.logobj.log_write('ServerParameter', LOG_ERROR, info) + def btnCancel_clicked(self,oActionEvent): self.win.endExecute() + - def btnCancel_clicked( self, oActionEvent ): - self.win.endExecute() +if __name__<>"package" and __name__=="__main__": + Change(None) +elif __name__=="package": + g_ImplementationHelper.addImplementation( Change, "org.openoffice.openerp.report.change", ("com.sun.star.task.Job",),) diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/LoginTest.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/LoginTest.py index dbd597e1f2d..012c6f896a2 100644 --- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/LoginTest.py +++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/LoginTest.py @@ -51,5 +51,5 @@ if __name__<>"package": class LoginTest: def __init__(self): if not loginstatus: - ServerParameter(None) + Change(None) diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/ServerParameter.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/ServerParameter.py index 3cf759e7ada..5e93a0a2642 100644 --- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/ServerParameter.py +++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/ServerParameter.py @@ -59,8 +59,7 @@ if __name__<>"package": database="test" class ServerParameter( unohelper.Base, XJobExecutor ): - def __init__(self,ctx): - self.ctx = ctx + def __init__(self, aVal= None, sURL=""): self.module = "openerp_report" self.version = "0.1" desktop=getDesktop() @@ -69,19 +68,12 @@ class ServerParameter( unohelper.Base, XJobExecutor ): doc = desktop.getCurrentComponent() docinfo=doc.getDocumentInfo() self.win=DBModalDialog(60, 50, 160, 108, "Server Connection Parameter") - self.win.addFixedText("lblVariable", 2, 12, 35, 15, "Server URL") if docinfo.getUserFieldValue(0)=="": - docinfo.setUserFieldValue(0,"http://localhost:8069") - self.win.addEdit("txtHost",-34,9,91,15,docinfo.getUserFieldValue(0)) - self.win.addButton('btnChange',-2 ,9,30,15,'Change', actionListenerProc = self.btnChange_clicked ) - + docinfo.setUserFieldValue(0,"http://localhost:8069") + self.win.addEdit("txtHost",-20,9,105,15,sURL) self.win.addFixedText("lblDatabaseName", 6, 31, 31, 15, "Database") - #self.win.addFixedText("lblMsg", -2,28,123,15) -# self.win.addComboListBox("lstDatabase", -2,28,123,15, True) -# self.lstDatabase = self.win.getControl( "lstDatabase" ) - #self.win.selectListBoxItem( "lstDatabase", docinfo.getUserFieldValue(2), True ) - #self.win.setEnabled("lblMsg",False) + self.win.addFixedText("lblLoginName", 17, 51, 20, 15, "Login") self.win.addEdit("txtLoginName",-2,48,123,15,docinfo.getUserFieldValue(1)) @@ -92,8 +84,9 @@ class ServerParameter( unohelper.Base, XJobExecutor ): self.win.addButton('btnOK',-2 ,-5, 60,15,'Connect' ,actionListenerProc = self.btnOk_clicked ) - - self.win.addButton('btnCancel',-2 - 60 - 5 ,-5, 35,15,'Cancel' ,actionListenerProc = self.btnCancel_clicked ) + self.win.addButton('btnPrevious',15 -80 ,-5,50,15,'Previous',actionListenerProc = self.btnPrevious_clicked) + self.win.addButton('btnCancel',-2 - 110 - 5 ,-5, 35,15,'Cancel' ,actionListenerProc = self.btnCancel_clicked ) + sValue="" if docinfo.getUserFieldValue(0)<>"": global url @@ -125,7 +118,6 @@ class ServerParameter( unohelper.Base, XJobExecutor ): def btnOk_clicked(self,oActionEvent): - sLogin=self.win.getEditText("txtLoginName") sPassword=self.win.getEditText("txtPassword") global url @@ -136,62 +128,49 @@ class ServerParameter( unohelper.Base, XJobExecutor ): sDatabase=self.win.getListBoxSelectedItem("lstDatabase") self.sock=RPCSession(url) UID = self.sock.login(sDatabase,sLogin,sPassword) - if not UID : + if not UID or UID==-1 : ErrorDialog("Connection Refuse...","Please enter valid Login/Password") self.win.endExecute() try: ids_module =self.sock.execute(sDatabase, UID, sPassword, 'ir.module.module', 'search', [('name','=','base_report_designer'),('state', '=', 'installed')]) + info = reduce(lambda x, y: x+y, traceback.format_exception(sys.exc_type, sys.exc_value, sys.exc_traceback)) + self.logobj.log_write('ServerParameter', LOG_ERROR, info) + + if not len(ids_module): + ErrorDialog("Please Install base_report_designer module", "", "Module Uninstalled Error") + self.logobj.log_write('Module Not Found',LOG_WARNING, ':base_report_designer not install in database %s' % (sDatabase)) + self.win.endExecute() + else: + desktop=getDesktop() + doc = desktop.getCurrentComponent() + docinfo=doc.getDocumentInfo() + docinfo.setUserFieldValue(0,self.win.getEditText("txtHost")) + docinfo.setUserFieldValue(1,self.win.getEditText("txtLoginName")) + global passwd + passwd=self.win.getEditText("txtPassword") + global loginstatus + loginstatus=True + global database + database=sDatabase + global uid + uid=UID + #docinfo.setUserFieldValue(2,self.win.getListBoxSelectedItem("lstDatabase")) + #docinfo.setUserFieldValue(3,"") + + ErrorDialog(" You can start creating your report in \n \t the current document.","After Creating sending to the server.","Message") + self.logobj.log_write('successful login',LOG_INFO, ':successful login from %s using database %s' % (sLogin, sDatabase)) + self.win.endExecute() + except : import traceback,sys info = reduce(lambda x, y: x+y, traceback.format_exception(sys.exc_type, sys.exc_value, sys.exc_traceback)) - self.logobj.log_write('ServerParameter', LOG_ERROR, info) - - if not len(ids_module): - ErrorDialog("Please Install base_report_designer module", "", "Module Uninstalled Error") - self.logobj.log_write('Module Not Found',LOG_WARNING, ':base_report_designer not install in database %s' % (sDatabase)) - self.win.endExecute() - else: - desktop=getDesktop() - doc = desktop.getCurrentComponent() - docinfo=doc.getDocumentInfo() - docinfo.setUserFieldValue(0,self.win.getEditText("txtHost")) - docinfo.setUserFieldValue(1,self.win.getEditText("txtLoginName")) - global passwd - passwd=self.win.getEditText("txtPassword") - global loginstatus - loginstatus=True - global database - database=sDatabase - global uid - uid=UID - #docinfo.setUserFieldValue(2,self.win.getListBoxSelectedItem("lstDatabase")) - #docinfo.setUserFieldValue(3,"") - - ErrorDialog(" You can start creating your report in \n \t the current document.","After Creating sending to the server.","Message") - self.logobj.log_write('successful login',LOG_INFO, ':successful login from %s using database %s' % (sLogin, sDatabase)) - self.win.endExecute() - def btnCancel_clicked( self, oActionEvent ): self.win.endExecute() - def btnChange_clicked(self,oActionEvent): - aVal=[] - url= self.win.getEditText("txtHost") - Change(aVal,url) - if aVal[1]== -1: - self.win.getEditText("lstDatabase") - self.win.removeListBoxItems("lstDatabase", 0, self.win.getListBoxItemCount("lstDatabase")) - self.win.setEditText("txtHost",aVal[0]) - for i in range(len(aVal[1])): - self.lstDatabase.addItem(aVal[1][i],i) - elif aVal[1]==0: - ErrorDialog(aVal[0],"") - else: - self.win.setEditText("txtHost",aVal[0]) - self.win.removeListBoxItems("lstDatabase", 0, self.win.getListBoxItemCount("lstDatabase")) - for i in range(len(aVal[1])): - self.lstDatabase.addItem(aVal[1][i],i) - + def btnPrevious_clicked(self,oActionEvent): + self.win.endExecute() + Change(None) + if __name__<>"package" and __name__=="__main__": ServerParameter(None)