diff --git a/addons/outlook/plugin/openerp-outlook-plugin/addin.py b/addons/outlook/plugin/openerp-outlook-plugin/addin.py index 544adcb2848..2cd8bf565b1 100644 --- a/addons/outlook/plugin/openerp-outlook-plugin/addin.py +++ b/addons/outlook/plugin/openerp-outlook-plugin/addin.py @@ -151,8 +151,10 @@ class OutlookAddin: activeExplorer = application.ActiveExplorer() if activeExplorer is not None: bars = activeExplorer.CommandBars + new_bar = bars.Add('Open ERP',0,0,0) menu_bar = bars.Item("Menu Bar") + tools_menu = menu_bar.Controls(5) tools_menu = CastTo(tools_menu, "CommandBarPopup") @@ -171,8 +173,9 @@ class OutlookAddin: item.Enabled = True toolbar = bars.Item("Standard") + openerp_bar = bars.Item('Open ERP') - item = toolbar.Controls.Add(Type=constants.msoControlButton, Temporary=True) + item = openerp_bar.Controls.Add(Type=constants.msoControlButton, Temporary=True) # Hook events for the item item = self.toolbarButton = DispatchWithEvents(item, ArchiveEvent) item.Caption="Push" @@ -182,14 +185,14 @@ class OutlookAddin: # Adding Menu in Menu Bar to the Web Menu of the Outlook toolbarweb = bars.Item("Web") - item = toolbarweb.Controls.Add(Type = constants.msoControlButton, Temporary = True) + item = openerp_bar.Controls.Add(Type = constants.msoControlButton, Temporary = True) item = self.toolbarButtonOpenPartner = DispatchWithEvents(item, OpenPartner) item.Caption = "Partner" item.TooltipText = "Click to Open OpenERP Partner Contact Information." item.Enabled = True - item = toolbarweb.Controls.Add(Type = constants.msoControlButton, Temporary = True) + item = openerp_bar.Controls.Add(Type = constants.msoControlButton, Temporary = True) item = self.toolbarButtonOpenDocument = DispatchWithEvents(item, OpenDocument) item.Caption = "Document" item.TooltipText = "Click to Open Document that has been pushed to server." @@ -225,10 +228,10 @@ class OutlookAddin: item.Enabled = True def OnDisconnection(self, mode, custom): - self.item.close() mngr = manager.GetManager() mngr.config['login'] = False mngr.SaveConfig() + self.item.close() pass def OnAddInsUpdate(self, custom): pass diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py index a645270eb49..2bf26a23374 100644 --- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py +++ b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py @@ -205,6 +205,8 @@ def resetConnAttribs(window): NewConn.setitem('_uname', config['uname']) NewConn.setitem('_pwd', config['pwd']) NewConn.setitem('_login', str(config['login'])) + NewConn.setitem('_webserver',manager.config['webserver']) + NewConn.setitem('_webport',manager.config['webport']) return def setConnAttribs(server, port, manager): @@ -224,6 +226,8 @@ def setConnAttribs(server, port, manager): NewConn.setitem('_pwd', manager.config['pwd']) NewConn.setitem('_login', str(manager.config['login'])) NewConn.setitem('_obj_list', manager.config['objects']) + NewConn.setitem('_webserver',manager.config['webserver']) + NewConn.setitem('_webport',manager.config['webport']) return def getConnAttributes(manager): @@ -235,6 +239,13 @@ def getConnAttributes(manager): manager.config['uname'] = NewConn.getitem('_uname') manager.config['pwd'] = NewConn.getitem('_pwd') manager.config['login'] = NewConn.getitem('_login') + manager.config['webserver'] = NewConn.getitem('_webserver') + manager.config['webport'] = NewConn.getitem('_webport') + return +def setWebConnAttribs(server, port, manager): + manager.config = manager.LoadConfig() + NewConn.setitem('_webserver',server) + NewConn.setitem('_webport',port) return def getMessage(e): @@ -306,6 +317,7 @@ class WEBOKButtonProcessor(ButtonProcessor): if server.strip() == "" or server.strip() == "http:\\\\": win32ui.MessageBox("Invalid web Server address.", "OpenERP Connection", flag_excl) return + setWebConnAttribs(server, port, self.mngr) web_server = server web_server_port = port win32gui.EndDialog(self.window.hwnd, id) @@ -848,15 +860,23 @@ def SetAllText(txtProcessor,*args): # Set values for url, uname, pwd from config file global web_server global web_server_port - serverBox = txtProcessor.GetControl(txtProcessor.other_ids[2]) - win32gui.SendMessage(serverBox, win32con.WM_SETTEXT, 0, "http:\\\\"+str(web_server)+":"+str(web_server_port)) url = NewConn.getitem('_uri') tbox = txtProcessor.GetControl() win32gui.SendMessage(tbox, win32con.WM_SETTEXT, 0, str(url)) + uname = NewConn.getitem('_uname') tbox = txtProcessor.GetControl(txtProcessor.other_ids[0]) win32gui.SendMessage(tbox, win32con.WM_SETTEXT, 0, str(uname)) + passbox = txtProcessor.GetControl(txtProcessor.other_ids[1]) + pwd = NewConn.getitem('_pwd') + win32gui.SendMessage(passbox, win32con.WM_SETTEXT, 0, str(pwd)) + serverBox = txtProcessor.GetControl(txtProcessor.other_ids[2]) + web_server = NewConn.getitem('_webserver') + web_server_port = NewConn.getitem('_webport') + webstr = "http:\\\\"+str(web_server)+":"+str(web_server_port) + win32gui.SendMessage(serverBox, win32con.WM_SETTEXT, 0, str(webstr)) + def SetDefaultList(listProcessor,*args): import win32api hwndList = listProcessor.GetControl() @@ -956,6 +976,9 @@ def SetDefaultContact(txtProcessor,*args): txtProcessor.init_done = True def setCheckList(groupProcessor,*args): + b = check() + if not b: + return try: hinst = win32gui.dllhandle objs = groupProcessor.window.manager.config['objects'] diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo.png b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo.png index 85c15fe1e7c..1b7461953a1 100644 Binary files a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo.png and b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo.png differ diff --git a/addons/outlook/plugin/openerp-outlook-plugin/manager.py b/addons/outlook/plugin/openerp-outlook-plugin/manager.py index faab23a1446..31afaf3c732 100644 --- a/addons/outlook/plugin/openerp-outlook-plugin/manager.py +++ b/addons/outlook/plugin/openerp-outlook-plugin/manager.py @@ -140,7 +140,7 @@ class OpenERPManager: def LoadConfig(self): import win32ui path = os.path.join(self.data_directory, 'tiny.ini') - data = {'server' : 'localhost', 'port' : '8069', 'protocol' : 'http://', 'database' : '', 'objects' : self.default_objects, 'uname':'admin', 'pwd':'a', 'login':False} + data = {'server' : 'localhost', 'port' : '8069', 'protocol' : 'http://', 'database' : '', 'objects' : self.default_objects, 'uname':'admin', 'pwd':'a', 'login':False,'webserver':'localhost','webport':'8080'} if os.path.exists(path): fp = open(path, 'r') data = fp.readlines() diff --git a/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py b/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py index 85abe755bd7..653ad229e1d 100644 --- a/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py +++ b/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py @@ -64,10 +64,12 @@ class XMLRpcConn(object): _reg_clsid_ = "{C6399AFD-763A-400F-8191-7F9D0503CAE2}" _reg_progid_ = "Python.OpenERP.XMLRpcConn" _reg_policy_spec_ = "win32com.server.policy.EventHandlerPolicy" - def __init__(self,server='localhost',port=8069,uri='http://localhost:8069'): + def __init__(self,server='localhost',port=8069,uri='http://localhost:8069',webserver='localhost', webport=8080): self._server=server self._port=port self._uri=uri + self._webserver=webserver + self._webport=webport self._obj_list=[] self._dbname='' self._uname='admin' @@ -79,6 +81,7 @@ class XMLRpcConn(object): self.partner_id_list=None self.protocol=None + def getitem(self, attrib): v=self.__getattribute__(attrib) return str(v)