d=Dispatch("Python.OpenERP.XMLRpcConn")\r
return d\r
class Configuration:\r
- def Init(self, application):\r
- self.mngr = None\r
-\r
- def Close(self):\r
- self.mngr = None\r
- self.close()\r
- win32ui.MessageBox("Configuration","Configuration")\r
\r
def OnClick(self, button, cancel):\r
import win32ui\r
try:\r
- self.mngr = manager.GetManager()\r
- self.mngr.ShowManager()\r
+ mngr = manager.GetManager()\r
+ mngr.ShowManager()\r
except Exception,e:\r
win32ui.MessageBox("Fail to Initialize dialog.\n"+str(e),"OpenERP Configuration", win32con.MB_ICONERROR)\r
return cancel\r
#\r
class ViewPartners:\r
- def Init(self, application):\r
- self.mngr = None\r
- self.data = None\r
- self.outlook = None\r
- self.ex= None\r
-\r
- def Close(self):\r
- self.mngr = None\r
- self.data = None\r
- self.outlook = None\r
- self.ex= None\r
- self.close()\r
- win32ui.MessageBox("ViewPartners","ViewPartners")\r
-\r
def OnClick(self, button, cancel):\r
from win32com.client import Dispatch\r
import win32con\r
- self.mngr = manager.GetManager()\r
- self.data = self.mngr.LoadConfig()\r
- self.outlook = Dispatch("Outlook.Application")\r
- self.ex = self.outlook.ActiveExplorer()\r
- if self.ex:\r
- is_login = str(self.data['login'])\r
+ mngr = manager.GetManager()\r
+ data = mngr.LoadConfig()\r
+ outlook = Dispatch("Outlook.Application")\r
+ ex = outlook.ActiveExplorer()\r
+ if ex:\r
+ is_login = str(data['login'])\r
if is_login == 'False':\r
win32ui.MessageBox("Please login to the database first", "OpenERP Connection", win32con.MB_ICONEXCLAMATION)\r
- elif self.ex.Selection.Count == 1 or self.ex.Selection.Count == 0:\r
- self.mngr = manager.GetManager()\r
- self.mngr.ShowManager("IDD_VIEW_PARTNER_DIALOG")\r
- elif self.ex.Selection.Count > 1:\r
+ elif ex.Selection.Count == 1 or ex.Selection.Count == 0:\r
+ mngr = manager.GetManager()\r
+ mngr.ShowManager("IDD_VIEW_PARTNER_DIALOG")\r
+ elif ex.Selection.Count > 1:\r
win32ui.MessageBox("Multiple selection not allowed. Please select only one mail at a time.","Open Contact",win32con.MB_ICONINFORMATION)\r
return cancel\r
#\r
class OpenPartner:\r
- def Init(self, application):\r
- self.mngr = None\r
- self.data = None\r
- self.outlook = None\r
- self.ex= None\r
-\r
- def Close(self):\r
- self.mngr = None\r
- self.data = None\r
- self.outlook = None\r
- self.ex= None\r
- self.close()\r
- win32ui.MessageBox("OpenPartner","OpenPartner")\r
-\r
def OnClick(self, button, cancel):\r
import win32ui\r
- self.mngr = manager.GetManager()\r
- self.data = self.mngr.LoadConfig()\r
- self.outlook = Dispatch("Outlook.Application")\r
- self.ex = self.outlook.ActiveExplorer()\r
+ mngr = manager.GetManager()\r
+ data = mngr.LoadConfig()\r
+ outlook = Dispatch("Outlook.Application")\r
+ ex = outlook.ActiveExplorer()\r
if ex:\r
- is_login = str(self.data['login'])\r
+ is_login = str(data['login'])\r
if is_login == 'False':\r
win32ui.MessageBox("Please login to the database first", "OpenERP Connection", win32con.MB_ICONEXCLAMATION)\r
- elif self.ex.Selection.Count == 1:\r
- self.mngr = manager.GetManager()\r
- self.mngr.ShowManager("IDD_OPEN_PARTNER_DIALOG")\r
- elif self.ex.Selection.Count == 0:\r
+ elif ex.Selection.Count == 1:\r
+ mngr = manager.GetManager()\r
+ mngr.ShowManager("IDD_OPEN_PARTNER_DIALOG")\r
+ elif ex.Selection.Count == 0:\r
win32ui.MessageBox("No mail selected to push to OpenERP","Push to OpenERP",win32con.MB_ICONINFORMATION)\r
- elif self.ex.Selection.Count > 1:\r
+ elif ex.Selection.Count > 1:\r
win32ui.MessageBox("Multiple selection not allowed. Please select only one mail at a time.","Push to OpenERP",win32con.MB_ICONINFORMATION)\r
return cancel\r
#\r
class OpenDocument:\r
- def Init(self, application):\r
- self.mngr = None\r
- self.data = None\r
- self.outlook = None\r
- self.ex= None\r
-\r
- def Close(self):\r
- self.mngr = None\r
- self.data = None\r
- self.outlook = None\r
- self.ex= None\r
- self.close()\r
- win32ui.MessageBox("OpenDocument","OpenDocument")\r
-\r
def OnClick(self, button, cancel):\r
from win32com.client import Dispatch\r
import win32con\r
- self.mngr = manager.GetManager()\r
- self.data = self.mngr.LoadConfig()\r
- self.outlook = Dispatch("Outlook.Application")\r
- self.ex = self.outlook.ActiveExplorer()\r
- if self.ex:\r
- is_login = str(self.data['login'])\r
+ mngr = manager.GetManager()\r
+ data = mngr.LoadConfig()\r
+ outlook = Dispatch("Outlook.Application")\r
+ ex = outlook.ActiveExplorer()\r
+ if ex:\r
+ is_login = str(data['login'])\r
if is_login == 'False':\r
win32ui.MessageBox("Please login to the database first", "OpenERP Connection", win32con.MB_ICONEXCLAMATION)\r
- elif self.ex.Selection.Count == 1 or self.ex.Selection.Count == 0:\r
- self.mngr = self.manager.GetManager()\r
- self.mngr.ShowManager("IDD_OPEN_DOCUEMNT_DIALOG")\r
- elif self.ex.Selection.Count > 1:\r
+ elif ex.Selection.Count == 1 or ex.Selection.Count == 0:\r
+ mngr = manager.GetManager()\r
+ mngr.ShowManager("IDD_OPEN_DOCUEMNT_DIALOG")\r
+ elif ex.Selection.Count > 1:\r
win32ui.MessageBox("Multiple selection not allowed. Please select only one mail at a time.","Open Document",win32con.MB_ICONINFORMATION)\r
return cancel\r
#\r
break\r
\r
def ArchiveToOpenERP(self, recs, mail):\r
- import win32con\r
+ import win32con\r
+ import win32ui\r
conn = xmlrpclib.ServerProxy(self._uri + '/xmlrpc/object')\r
flag = False\r
new_msg = ext_msg =""\r
message_id = referances = None\r
try:\r
- session = win32com.client.Dispatch("MAPI.session")\r
- session.Logon('Outlook')\r
- objMessage = session.GetMessage(mail.EntryID, mail.Parent.StoreID)\r
- objFields = objMessage.Fields\r
- strheader = objFields.Item(mapitags.PR_TRANSPORT_MESSAGE_HEADERS)\r
- strheader = ustr(strheader).encode('iso-8859-1')\r
- headers = {}\r
- strheader = strheader.replace("\n ", " ").splitlines()\r
- for line in strheader:\r
- split_here = line.find(":")\r
- headers[line[:split_here]] = line[split_here:]\r
- temp1 = headers.get('Message-ID')\r
- temp2 = headers.get('Message-Id')\r
- referances = headers.get('References')\r
- if temp1 == None: message_id = temp2\r
- if temp2 == None: message_id = temp1\r
- startCut = message_id.find("<")\r
- endCut = message_id.find(">")\r
- message_id = message_id[startCut:endCut+1]\r
- if not referances == None:\r
- startCut = referances.find("<")\r
- endCut = referances.find(">")\r
- referances = referances[startCut:endCut+1]\r
+ session = win32com.client.Dispatch("MAPI.session")\r
+ session.Logon('Outlook')\r
+ objMessage = session.GetMessage(mail.EntryID, mail.Parent.StoreID)\r
+ objFields = objMessage.Fields\r
+ strheader = objFields.Item(mapitags.PR_TRANSPORT_MESSAGE_HEADERS)\r
+ strheader = ustr(strheader).encode('iso-8859-1')\r
+ headers = {}\r
+ strheader = strheader.replace("\n ", " ").splitlines()\r
+ for line in strheader:\r
+ split_here = line.find(":")\r
+ headers[line[:split_here]] = line[split_here:]\r
+ temp1 = headers.get('Message-ID')\r
+ temp2 = headers.get('Message-Id')\r
+ referances = headers.get('References')\r
+ if temp1 == None: message_id = temp2\r
+ if temp2 == None: message_id = temp1\r
+ startCut = message_id.find("<")\r
+ endCut = message_id.find(">")\r
+ message_id = message_id[startCut:endCut+1]\r
+ if not referances == None:\r
+ startCut = referances.find("<")\r
+ endCut = referances.find(">")\r
+ referances = referances[startCut:endCut+1]\r
except Exception,e:\r
win32ui.MessageBox(str(e),"Archive To OpenERP")\r
return\r
return True\r
\r
def SearchEmailResources(self, message_id):\r
+ import win32ui\r
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')\r
res_vals = []\r
mail_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'mailgate.message', 'search', [('message_id','=',message_id)])\r
+ ref_mail_id = None\r
if not mail_id:\r
- return None\r
+ ref_mail_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'mailgate.message', 'search', [('references','=',message_id)])\r
+ if ref_mail_id:\r
+ win32ui.MessageBox(str(ref_mail_id),"ref_mail_id")\r
+ address = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'mailgate.message','read',ref_mail_id[0],['model','res_id'])\r
+ win32ui.MessageBox(str(address),"address")\r
+ for key, vals in address.items():\r
+ res_vals.append([key,vals])\r
+ return res_vals\r
+ return None\r
address = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'mailgate.message','read',mail_id[0],['model','res_id'])\r
for key, vals in address.items():\r
res_vals.append([key,vals])\r