[MERGE] Merge outlook improvement
bzr revid: sbh@tinyerp.com-20101210110613-t2y1i92u9kbxpsk6
This commit is contained in:
@@ -8,6 +8,7 @@ Pre requirements :
|
||||
http://starship.python.net/crew/mhammond/win32/
|
||||
3.If you are using MS Outlook 2007 than you are required to install "Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1 (CDO 1.21)". It can be downloaded from
|
||||
http://www.microsoft.com/downloads/en/details.aspx?familyid=2714320d-c997-4de1-986f-24f081725d36&displaylang=en
|
||||
and With MS Outlook2003 Install inbuilt Collaboration Data Objects(CDO) while installing Outlook.
|
||||
|
||||
How to install openerp-outlook plug-in?
|
||||
======================================================================================
|
||||
|
||||
@@ -55,7 +55,8 @@ class outlook_installer(osv.osv_memory):
|
||||
Pre-requirements :
|
||||
1. Python 2.6+ .
|
||||
2. Python for Windows extensions - PyWin32 this module for python must be installed for appropriate version of the Python.
|
||||
3. If you are using MS Outlook 2007 than you are required to install "Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1 (CDO 1.21)".
|
||||
3. If With MS Outlook 2007 it is required to install externally "Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1 (CDO 1.21)".
|
||||
and With MS Outlook2003 Install inbuilt Collaboration Data Objects(CDO) while installing Outlook.
|
||||
|
||||
How to install openerp-outlook plug-in?
|
||||
1. Save the executable plug-in file.
|
||||
|
||||
@@ -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)
|
||||
@@ -831,6 +843,7 @@ def CreateContact(btnProcessor,*args):
|
||||
win32ui.MessageBox("Contact name or Email id is Missing\nPlease fill those information", "Create Contact", flag_error)
|
||||
return
|
||||
try:
|
||||
NewConn.CreateContact(str(res))
|
||||
if not partner:
|
||||
msg="New contact created."
|
||||
else:
|
||||
@@ -848,15 +861,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 +977,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']
|
||||
@@ -1382,8 +1406,14 @@ def OpenPartnerForm(txtProcessor,*args):
|
||||
txtProcessor.init_done=True
|
||||
return
|
||||
try:
|
||||
linktopartner = "http:\\\\"+web_server+":"+str(web_server_port)+"\\openerp\\form\\view?model=res.partner&id="+str(vals)
|
||||
win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, linktopartner)
|
||||
linktopartner = "http://"+web_server+":"+str(web_server_port)+"/openerp/form/view?model=res.partner&id="+str(vals)
|
||||
|
||||
win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, str(linktopartner))
|
||||
# import urllib
|
||||
# encode = urllib.urlencode('/openerp/form/view?model=res.partner&id='+str(vals))
|
||||
# weburl = 'http://'+web_server+':'+str(web_server_port)
|
||||
# linktopartner = weburl + "?next=" + encode
|
||||
# win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, linktopartner)
|
||||
except Exception,e:
|
||||
win32ui.MessageBox("Error While Opening Partner.\n"+str(e),"Open Partner", flag_error)
|
||||
webbrowser.open_new(linktopartner)
|
||||
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user