[IMP-FIX] Outllok Improvment 1) Prseving the values of Parameters 2) Standalone Menu for OpenERP 3) Dialog of Not login on direct click wohtout login database

bzr revid: jam@tinyerp.com-20101209132410-y950pd3ah9b6x5dx
This commit is contained in:
jam-openerp
2010-12-09 18:54:10 +05:30
parent 663699ac77
commit bf8e3a0894
5 changed files with 37 additions and 8 deletions
@@ -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
@@ -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']
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 11 KiB

@@ -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()
@@ -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)