@@ -1,2 +1,2 @@
|
||||
python addin.py
|
||||
pause
|
||||
pause
|
||||
@@ -1,2 +1,2 @@
|
||||
python addin.py --unregister
|
||||
pause
|
||||
python addin.py --unregister
|
||||
pause
|
||||
@@ -61,14 +61,14 @@ def GetConn():
|
||||
return d
|
||||
|
||||
class ButtonEvent:
|
||||
def OnClick(self, button, cancel):
|
||||
import win32ui
|
||||
try:
|
||||
mngr = manager.GetManager()
|
||||
mngr.ShowManager()
|
||||
except Exception,e:
|
||||
win32ui.MessageBox("Fail to Initialize dialog.\n"+str(e),"OpenERP Configuration", win32con.MB_ICONERROR)
|
||||
return cancel
|
||||
def OnClick(self, button, cancel):
|
||||
import win32ui
|
||||
try:
|
||||
mngr = manager.GetManager()
|
||||
mngr.ShowManager()
|
||||
except Exception,e:
|
||||
win32ui.MessageBox("Fail to Initialize dialog.\n"+str(e),"OpenERP Configuration", win32con.MB_ICONERROR)
|
||||
return cancel
|
||||
#
|
||||
class ViewPartners:
|
||||
def OnClick(self, button, cancel):
|
||||
@@ -89,6 +89,47 @@ class ViewPartners:
|
||||
win32ui.MessageBox("Multiple selection not allowed. Please select only one mail at a time.","Open Contact",win32con.MB_ICONINFORMATION)
|
||||
return cancel
|
||||
#
|
||||
class OpenPartner:
|
||||
def OnClick(self, button, cancel):
|
||||
import win32ui
|
||||
from manager import ustr
|
||||
mngr = manager.GetManager()
|
||||
data=mngr.LoadConfig()
|
||||
outlook = Dispatch("Outlook.Application")
|
||||
ex = outlook.ActiveExplorer()
|
||||
if ex:
|
||||
is_login = str(data['login'])
|
||||
if is_login == 'False':
|
||||
win32ui.MessageBox("Please login to the database first", "OpenERP Connection", win32con.MB_ICONEXCLAMATION)
|
||||
elif ex.Selection.Count == 1:
|
||||
mngr = manager.GetManager()
|
||||
mngr.ShowManager("IDD_OPEN_PARTNER_DIALOG")
|
||||
elif ex.Selection.Count == 0:
|
||||
win32ui.MessageBox("No mail selected to push to OpenERP","Push to OpenERP",win32con.MB_ICONINFORMATION)
|
||||
elif ex.Selection.Count > 1:
|
||||
win32ui.MessageBox("Multiple selection not allowed. Please select only one mail at a time.","Push to OpenERP",win32con.MB_ICONINFORMATION)
|
||||
return cancel
|
||||
#
|
||||
class OpenDocument:
|
||||
def OnClick(self, button, cancel):
|
||||
from win32com.client import Dispatch
|
||||
import win32con
|
||||
import win32ui
|
||||
mngr = manager.GetManager()
|
||||
data=mngr.LoadConfig()
|
||||
outlook = Dispatch("Outlook.Application")
|
||||
ex = outlook.ActiveExplorer()
|
||||
if ex:
|
||||
is_login = str(data['login'])
|
||||
if is_login == 'False':
|
||||
win32ui.MessageBox("Please login to the database first", "OpenERP Connection", win32con.MB_ICONEXCLAMATION)
|
||||
elif ex.Selection.Count == 1 or ex.Selection.Count == 0:
|
||||
mngr = manager.GetManager()
|
||||
mngr.ShowManager("IDD_OPEN_DOCUEMNT_DIALOG")
|
||||
elif ex.Selection.Count > 1:
|
||||
win32ui.MessageBox("Multiple selection not allowed. Please select only one mail at a time.","Open Document",win32con.MB_ICONINFORMATION)
|
||||
return cancel
|
||||
#
|
||||
class ArchiveEvent:
|
||||
def OnClick(self, button, cancel):
|
||||
from win32com.client import Dispatch
|
||||
@@ -151,7 +192,22 @@ class OutlookAddin:
|
||||
item.Enabled = True
|
||||
|
||||
# Adding Menu in Menu Bar to the Web Menu of the Outlook
|
||||
toolbaradvance = bars.Item("Advanced")
|
||||
toolbarweb = bars.Item("Web")
|
||||
|
||||
item = toolbarweb.Controls.Add(Type = constants.msoControlButton, Temporary = True)
|
||||
item = self.toolbarButtonOpenPartner = DispatchWithEvents(item, OpenPartner)
|
||||
item.Caption = "Open Partners"
|
||||
item.TooltipText = "Click to Open OpenERP Partner Contact Information."
|
||||
item.Enabled = True
|
||||
|
||||
|
||||
# item = toolbarweb.Controls.Add(Type = constants.msoControlButton, Temporary = True)
|
||||
# item = self.toolbarButtonOpenDocument = DispatchWithEvents(item, OpenDocument)
|
||||
# item.Caption = "Open Document"
|
||||
# item.TooltipText = "Click to Open Document that ha been pushed to server."
|
||||
# item.Enabled = True
|
||||
|
||||
# Hook events for the item
|
||||
item = toolbarweb.Controls.Add(Type = constants.msoControlButton, Temporary = True)
|
||||
item = self.toolbarButtonPartner = DispatchWithEvents(item, ViewPartners)
|
||||
@@ -159,6 +215,7 @@ class OutlookAddin:
|
||||
item.TooltipText = "Click to Open OpenERP Partner Contact Information."
|
||||
item.Enabled = True
|
||||
|
||||
|
||||
item = tools_menu.Controls.Add(Type=constants.msoControlButton, Temporary=True)
|
||||
# Hook events for the item
|
||||
item = self.menu_bar_viewpartner_Button = DispatchWithEvents(item, ViewPartners)
|
||||
@@ -166,6 +223,14 @@ class OutlookAddin:
|
||||
item.TooltipText = "Click to Open Partner detail"
|
||||
item.Enabled = True
|
||||
|
||||
item = tools_menu.Controls.Add(Type=constants.msoControlButton, Temporary=True)
|
||||
# Hook events for the item
|
||||
item = self.menu_bar_openpartner_Button = DispatchWithEvents(item, OpenPartner)
|
||||
item.Caption = "Open Partner"
|
||||
item.TooltipText = "Click to Open Partner detail"
|
||||
item.Enabled = True
|
||||
|
||||
|
||||
def OnDisconnection(self, mode, custom):
|
||||
mngr = manager.GetManager()
|
||||
mngr.config['login'] = False
|
||||
|
||||
@@ -635,6 +635,8 @@ class CkSocket(_object):
|
||||
def GetSslAcceptableClientCaDn(self, *args): return _chilkat.CkSocket_GetSslAcceptableClientCaDn(self, *args)
|
||||
def getSslAcceptableClientCaDn(self, *args): return _chilkat.CkSocket_getSslAcceptableClientCaDn(self, *args)
|
||||
def AddSslAcceptableClientCaDn(self, *args): return _chilkat.CkSocket_AddSslAcceptableClientCaDn(self, *args)
|
||||
def get_ReceivedCount(self): return _chilkat.CkSocket_get_ReceivedCount(self)
|
||||
def put_ReceivedCount(self, *args): return _chilkat.CkSocket_put_ReceivedCount(self, *args)
|
||||
def UnlockComponent(self, *args): return _chilkat.CkSocket_UnlockComponent(self, *args)
|
||||
def IsUnlocked(self): return _chilkat.CkSocket_IsUnlocked(self)
|
||||
def AsyncSendBytes(self, *args): return _chilkat.CkSocket_AsyncSendBytes(self, *args)
|
||||
@@ -2173,6 +2175,11 @@ class CkMailMan(_object):
|
||||
def put_Pop3Stls(self, *args): return _chilkat.CkMailMan_put_Pop3Stls(self, *args)
|
||||
def AddPfxSourceData(self, *args): return _chilkat.CkMailMan_AddPfxSourceData(self, *args)
|
||||
def AddPfxSourceFile(self, *args): return _chilkat.CkMailMan_AddPfxSourceFile(self, *args)
|
||||
def SmtpSendRawCommand(self, *args): return _chilkat.CkMailMan_SmtpSendRawCommand(self, *args)
|
||||
def smtpSendRawCommand(self, *args): return _chilkat.CkMailMan_smtpSendRawCommand(self, *args)
|
||||
def Pop3SendRawCommand(self, *args): return _chilkat.CkMailMan_Pop3SendRawCommand(self, *args)
|
||||
def pop3SendRawCommand(self, *args): return _chilkat.CkMailMan_pop3SendRawCommand(self, *args)
|
||||
def Pop3EndSessionNoQuit(self): return _chilkat.CkMailMan_Pop3EndSessionNoQuit(self)
|
||||
def lastErrorText(self): return _chilkat.CkMailMan_lastErrorText(self)
|
||||
def lastErrorXml(self): return _chilkat.CkMailMan_lastErrorXml(self)
|
||||
def lastErrorHtml(self): return _chilkat.CkMailMan_lastErrorHtml(self)
|
||||
@@ -3155,7 +3162,7 @@ class CkHttp(_object):
|
||||
def put_UseBgThread(self, *args): return _chilkat.CkHttp_put_UseBgThread(self, *args)
|
||||
def BgResponseObject(self): return _chilkat.CkHttp_BgResponseObject(self)
|
||||
def BgTaskAbort(self): return _chilkat.CkHttp_BgTaskAbort(self)
|
||||
def ClearEventLog(self): return _chilkat.CkHttp_ClearEventLog(self)
|
||||
def ClearBgEventLog(self): return _chilkat.CkHttp_ClearBgEventLog(self)
|
||||
def EventLogName(self, *args): return _chilkat.CkHttp_EventLogName(self, *args)
|
||||
def eventLogName(self, *args): return _chilkat.CkHttp_eventLogName(self, *args)
|
||||
def EventLogValue(self, *args): return _chilkat.CkHttp_EventLogValue(self, *args)
|
||||
@@ -3759,6 +3766,8 @@ class CkSpider(_object):
|
||||
def put_ProxyPassword(self, *args): return _chilkat.CkSpider_put_ProxyPassword(self, *args)
|
||||
def get_ProxyPort(self): return _chilkat.CkSpider_get_ProxyPort(self)
|
||||
def put_ProxyPort(self, *args): return _chilkat.CkSpider_put_ProxyPort(self, *args)
|
||||
def get_VerboseLogging(self): return _chilkat.CkSpider_get_VerboseLogging(self)
|
||||
def put_VerboseLogging(self, *args): return _chilkat.CkSpider_put_VerboseLogging(self, *args)
|
||||
def put_UserAgent(self, *args): return _chilkat.CkSpider_put_UserAgent(self, *args)
|
||||
def userAgent(self): return _chilkat.CkSpider_userAgent(self)
|
||||
def get_UserAgent(self, *args): return _chilkat.CkSpider_get_UserAgent(self, *args)
|
||||
@@ -3781,6 +3790,7 @@ class CkSpider(_object):
|
||||
def CanonicalizeUrl(self, *args): return _chilkat.CkSpider_CanonicalizeUrl(self, *args)
|
||||
def getDomain(self, *args): return _chilkat.CkSpider_getDomain(self, *args)
|
||||
def getBaseDomain(self, *args): return _chilkat.CkSpider_getBaseDomain(self, *args)
|
||||
|
||||
def canonicalizeUrl(self, *args): return _chilkat.CkSpider_canonicalizeUrl(self, *args)
|
||||
def lastErrorText(self): return _chilkat.CkSpider_lastErrorText(self)
|
||||
def lastErrorXml(self): return _chilkat.CkSpider_lastErrorXml(self)
|
||||
|
||||
@@ -31,7 +31,7 @@ import addin
|
||||
from dialogs import ShowDialog, MakePropertyPage
|
||||
|
||||
import win32ui
|
||||
|
||||
import webbrowser
|
||||
import commctrl
|
||||
import win32con
|
||||
import win32gui
|
||||
@@ -168,6 +168,19 @@ global name
|
||||
name=''
|
||||
global email
|
||||
email=''
|
||||
global web_server
|
||||
web_server = 'localhost'
|
||||
global web_server_port
|
||||
web_server_port = '8080'
|
||||
global country_ref
|
||||
country_ref = ""
|
||||
global state_ref
|
||||
state_ref = ""
|
||||
global new_con_country
|
||||
new_con_country= ""
|
||||
global new_con_state
|
||||
new_con_state= ""
|
||||
|
||||
|
||||
def check():
|
||||
server = NewConn.getitem('_server')
|
||||
@@ -251,7 +264,6 @@ class OKButtonProcessor(ButtonProcessor):
|
||||
try:
|
||||
port = int(win32gui.GetDlgItemText(self.window.hwnd, self.other_ids[1]))
|
||||
except ValueError, e:
|
||||
print "Exception : %s"%str(e)
|
||||
win32ui.MessageBox("Port should be an integer", "OpenERP Connection", flag_excl)
|
||||
return
|
||||
except Exception,e:
|
||||
@@ -277,6 +289,27 @@ class DoneButtonProcessor(ButtonProcessor):
|
||||
self.window.manager.SaveConfig()
|
||||
win32gui.EndDialog(self.window.hwnd, id)
|
||||
|
||||
class WEBOKButtonProcessor(ButtonProcessor):
|
||||
def __init__(self, window, control_ids):
|
||||
self.mngr = window.manager
|
||||
ControlProcessor.__init__(self, window, control_ids)
|
||||
|
||||
def OnClicked(self, id):
|
||||
global web_server
|
||||
global web_server_port
|
||||
server = win32gui.GetDlgItemText(self.window.hwnd, self.other_ids[0])
|
||||
try:
|
||||
port = int(win32gui.GetDlgItemText(self.window.hwnd, self.other_ids[1]))
|
||||
except ValueError, e:
|
||||
win32ui.MessageBox("Port should be an integer", "OpenERP Connection", flag_excl)
|
||||
return
|
||||
if server.strip() == "" or server.strip() == "http:\\\\":
|
||||
win32ui.MessageBox("Invalid web Server address.", "OpenERP Connection", flag_excl)
|
||||
return
|
||||
web_server = server
|
||||
web_server_port = port
|
||||
win32gui.EndDialog(self.window.hwnd, id)
|
||||
|
||||
class MessageProcessor(ControlProcessor):
|
||||
def Init(self):
|
||||
text = " This Outlook Plugin for OpenERP has been developed by OpenERP s.a.\n\n \
|
||||
@@ -404,6 +437,7 @@ def TestConnection(btnProcessor,*args):
|
||||
win32ui.MessageBox("No database found on host "+ server+" at port "+str(port), "OpenERP Connection", flag_excl)
|
||||
return
|
||||
|
||||
|
||||
uname = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
|
||||
pwd = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[2])
|
||||
|
||||
@@ -646,17 +680,21 @@ def CreateCase(btnProcessor,*args):
|
||||
for rec in r:
|
||||
if rec[0] == 'res.partner':
|
||||
partner_ids.append(rec[1])
|
||||
|
||||
f = False
|
||||
#Create new case
|
||||
try:
|
||||
NewConn.CreateCase(str(section), mail, partner_ids)
|
||||
f = NewConn.CreateCase(str(section), mail, partner_ids)
|
||||
msg="New Document created."
|
||||
flag=flag_info
|
||||
except Exception,e:
|
||||
msg="New Document not created \n\n"+str(e)
|
||||
flag=flag_error
|
||||
win32ui.MessageBox(msg, "Create Document", flag)
|
||||
return
|
||||
if f:
|
||||
win32ui.MessageBox(msg, "Create Document", flag)
|
||||
return
|
||||
else:
|
||||
win32ui.MessageBox("Error While creating document.\n Document can not be created.", "Create Document", flag_error)
|
||||
return
|
||||
else:
|
||||
win32ui.MessageBox("Document can not be created. CRM not installed", "Create Object", flag_info)
|
||||
except Exception, e:
|
||||
@@ -784,6 +822,8 @@ def CreateContact(btnProcessor,*args):
|
||||
street2 = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[6])
|
||||
city = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[7])
|
||||
zip = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[8])
|
||||
state = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[10])
|
||||
country = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[11])
|
||||
if not name:
|
||||
win32ui.MessageBox("Please enter name.", "Create Contact", flag_stop)
|
||||
return
|
||||
@@ -798,9 +838,10 @@ def CreateContact(btnProcessor,*args):
|
||||
'street':ustr(street),
|
||||
'street2':ustr(street2),
|
||||
'city':ustr(city),
|
||||
'zip':ustr(zip)
|
||||
'zip':ustr(zip),
|
||||
'state_id':ustr(state),
|
||||
'country_id':ustr(country)
|
||||
}
|
||||
|
||||
try:
|
||||
id = NewConn.CreateContact(str(res))
|
||||
if not partner:
|
||||
@@ -818,6 +859,10 @@ def CreateContact(btnProcessor,*args):
|
||||
|
||||
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))
|
||||
@@ -893,10 +938,26 @@ def SetDefaultContact(txtProcessor,*args):
|
||||
global name
|
||||
global email
|
||||
global partner_ref
|
||||
win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[1],partner_ref)
|
||||
global new_con_country
|
||||
global new_con_state
|
||||
state = win32gui.GetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[2])
|
||||
country = win32gui.GetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[3])
|
||||
if txtProcessor.init_done:
|
||||
if new_con_country == "":
|
||||
new_con_country = country
|
||||
if new_con_state == "":
|
||||
new_con_state = state
|
||||
win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[1],partner_ref)
|
||||
win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.control_id,name)
|
||||
win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[0],email)
|
||||
win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[2],new_con_state)
|
||||
state_val = NewConn.FindCountryForState(str(state_ref))
|
||||
if state_val == None:
|
||||
new_con_country = country
|
||||
new_con_country = state_val
|
||||
win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[3],new_con_country)
|
||||
new_con_country = ""
|
||||
new_con_state = ""
|
||||
return
|
||||
#
|
||||
try:
|
||||
@@ -978,7 +1039,7 @@ def CreatePartner(btnProcessor,*args):
|
||||
b = check()
|
||||
if not b:
|
||||
return
|
||||
|
||||
global partner_ref
|
||||
partner_name = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
|
||||
if not partner_name:
|
||||
win32ui.MessageBox("Please enter Partner name.", "Create Partner", flag_excl)
|
||||
@@ -992,6 +1053,7 @@ def CreatePartner(btnProcessor,*args):
|
||||
return
|
||||
if id:
|
||||
win32ui.MessageBox("New Partner '%s' created."%partner_name, "Create Partner", flag_info)
|
||||
partner_ref = str(partner_name)
|
||||
win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.id)
|
||||
else:
|
||||
win32ui.MessageBox("Partner '%s' already Exists."%partner_name, "Create Partner", flag_info)
|
||||
@@ -1010,13 +1072,37 @@ def set_name_email(dialogProcessor,*args):
|
||||
name = win32gui.GetDlgItemText(dialogProcessor.window.hwnd, dialogProcessor.other_ids[0])
|
||||
email = win32gui.GetDlgItemText(dialogProcessor.window.hwnd, dialogProcessor.other_ids[1])
|
||||
|
||||
#Function for Getting default mail when dialog is loaded and finding contact related to this
|
||||
#setting values to the appropriate text areas
|
||||
def GetDefaultEmail(txtProcessor,*args):
|
||||
|
||||
from win32com.client import Dispatch
|
||||
import win32con
|
||||
b = check()
|
||||
global partner_ref
|
||||
global country_ref
|
||||
global state_ref
|
||||
partner_n = win32gui.GetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[0])
|
||||
state_n = win32gui.GetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[10])
|
||||
country_n = win32gui.GetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[11])
|
||||
if partner_ref == "":
|
||||
partner_ref = partner_n
|
||||
if country_ref == "":
|
||||
country_ref = country_n
|
||||
if state_ref == "":
|
||||
state_ref = state_n
|
||||
win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[0], ustr(partner_ref))
|
||||
win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[10], ustr(state_ref))
|
||||
state_val = NewConn.FindCountryForState(str(state_ref))
|
||||
partner_ref = ""
|
||||
country_ref = ""
|
||||
state_ref = ""
|
||||
|
||||
if state_val == None:
|
||||
country_ref = country_n
|
||||
country_ref = state_val
|
||||
win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[11], ustr(country_ref))
|
||||
|
||||
if not b:
|
||||
return
|
||||
#Acquiring control of the text box
|
||||
@@ -1167,6 +1253,8 @@ def WritePartner(btnProcessor,*args):
|
||||
street = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[2])
|
||||
street2 = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[3])
|
||||
city = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[4])
|
||||
state = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[5])
|
||||
country = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[6])
|
||||
phone = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[7])
|
||||
mobile = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[8])
|
||||
fax = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[9])
|
||||
@@ -1185,6 +1273,9 @@ def WritePartner(btnProcessor,*args):
|
||||
new_vals.append(['email',email])
|
||||
new_vals.append(['fax',fax])
|
||||
new_vals.append(['zip',zip])
|
||||
new_vals.append(['state',state])
|
||||
new_vals.append(['country',country])
|
||||
new_vals.append(['state',state])
|
||||
flag = 0
|
||||
try:
|
||||
#writing the updated values to the Server.
|
||||
@@ -1198,7 +1289,7 @@ def WritePartner(btnProcessor,*args):
|
||||
elif flag == 0:
|
||||
win32ui.MessageBox("Error in Updating the Changes.\n Please check the Database Connection.", "Open Contact", flag_error)
|
||||
elif flag == -1:
|
||||
win32ui.MessageBox("Contact can not be Save.\nFirst select contact using Search.","Open Contact", flag_info)
|
||||
win32ui.MessageBox("Contact can not be Save.\nFirst select partner using Search.","Open Contact", flag_info)
|
||||
|
||||
def SetPartnerNameColumn(listProcessor,*args):
|
||||
hwndList = listProcessor.GetControl()
|
||||
@@ -1235,7 +1326,7 @@ def SelectPartnerFromList(btnProcessor,*args):
|
||||
sel_text = nombre[0:size]
|
||||
global partner_ref
|
||||
if str(sel_text).strip() == "":
|
||||
win32ui.MessageBox("Invalid Partner Selected.","Search Partner")
|
||||
win32ui.MessageBox("Invalid partner selected.","Search Partner")
|
||||
return
|
||||
try:
|
||||
partner_ref = str(sel_text)
|
||||
@@ -1244,10 +1335,10 @@ def SelectPartnerFromList(btnProcessor,*args):
|
||||
win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
|
||||
return
|
||||
elif sel_count < 1:
|
||||
win32ui.MessageBox("You should Select atleast one partner.","Search Partner")
|
||||
win32ui.MessageBox("You should select one partner.","Search Partner")
|
||||
return
|
||||
else:
|
||||
win32ui.MessageBox("Multiple Selection is not allowded.","Search Partner")
|
||||
win32ui.MessageBox("Multiple Selection is not allowed.","Search Partner")
|
||||
return
|
||||
|
||||
def SearchPartnerList(btnProcessor,*args):
|
||||
@@ -1275,82 +1366,352 @@ def SearchPartnerList(btnProcessor,*args):
|
||||
win32ui.MessageBox(msg, "Search Partner", flag_error)
|
||||
pass
|
||||
|
||||
def ConnectWebServer(btnProcessor, *args):
|
||||
b = check()
|
||||
if not b:
|
||||
return
|
||||
server = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
|
||||
webbrowser.open_new(str(server)+"\\openerp\\")
|
||||
|
||||
|
||||
def OpenPartnerForm(txtProcessor,*args):
|
||||
from win32com.client import Dispatch
|
||||
import win32con
|
||||
b = check()
|
||||
if not b:
|
||||
return
|
||||
#Acquiring control of the text box
|
||||
partner_link = txtProcessor.GetControl()
|
||||
#Reading Current Selected Email.
|
||||
ex = txtProcessor.window.manager.outlook.ActiveExplorer()
|
||||
assert ex.Selection.Count == 1
|
||||
mail = ex.Selection.Item(1)
|
||||
partner_text = ""
|
||||
try:
|
||||
partner_text = ustr(mail.SenderName).encode('iso-8859-1')
|
||||
except Exception,e:
|
||||
win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, "< Error in reading email.>")
|
||||
pass
|
||||
vals = NewConn.SearchPartner(partner_text)
|
||||
if vals == None:
|
||||
win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, "< No Partner with named "+str(partner_text)+" found.>")
|
||||
txtProcessor.init_done=True
|
||||
return
|
||||
global web_server
|
||||
global web_server_port
|
||||
if web_server.strip() == "" or web_server.strip() == "http:\\\\":
|
||||
win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, " <Invalid Server Address>")
|
||||
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)
|
||||
except Exception,e:
|
||||
win32ui.MessageBox("Error While Opening Partner.\n"+str(e),"Open Partner", flag_error)
|
||||
webbrowser.open_new(linktopartner)
|
||||
txtProcessor.init_done=True
|
||||
|
||||
def SerachOpenDocuemnt(txtProcessor,*args):
|
||||
from win32com.client import Dispatch
|
||||
import win32con
|
||||
import win32ui
|
||||
b = check()
|
||||
if not b:
|
||||
return
|
||||
global web_server
|
||||
global web_server_port
|
||||
ex = txtProcessor.window.manager.outlook.ActiveExplorer()
|
||||
assert ex.Selection.Count == 1
|
||||
mail = ex.Selection.Item(1)
|
||||
link_box = None
|
||||
#Acquiring control of the text box
|
||||
try:
|
||||
link_box = txtProcessor.GetControl()
|
||||
except Exception,e:
|
||||
win32ui.MessageBox(str(e),"Excet")
|
||||
if web_server.strip() == "" or web_server.strip() == "http:\\\\":
|
||||
win32gui.SendMessage(link_box, win32con.WM_SETTEXT, 0, " <Invalid Server Address>")
|
||||
txtProcessor.init_done=True
|
||||
return
|
||||
linktodoc = ""
|
||||
#Reading Current Selected Email.
|
||||
win32ui.MessageBox(str(mail),"mail")
|
||||
try:
|
||||
vals = NewConn.SearchEmailResources(mail)
|
||||
except Exception,e:
|
||||
win32ui.MessageBox(str(e),"Excep")
|
||||
if vals == None:
|
||||
win32gui.SendMessage(link_box, win32con.WM_SETTEXT, 0, "< Mail is still not archived.>")
|
||||
txtProcessor.init_done=True
|
||||
return
|
||||
try:
|
||||
linktodoc = web_server+":"+str(web_server_port)+"\\openerp\\form\\view?model="+vals[0][1]+"&id="+str(vals[1][1])
|
||||
win32gui.SendMessage(link_box, win32con.WM_SETTEXT, 0, linktodoc)
|
||||
except Exception,e:
|
||||
win32ui.MessageBox("Error While Opening Document.\n"+str(e),"Open Document", flag_error)
|
||||
webbrowser.open_new(linktodoc)
|
||||
txtProcessor.init_done=True
|
||||
|
||||
def SearchCountry(btnProcessor, *args):
|
||||
b = check()
|
||||
if not b:
|
||||
return
|
||||
try :
|
||||
search_country = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
|
||||
if not search_country:
|
||||
win32ui.MessageBox("Please enter country name to search for.", "Search Country", flag_excl)
|
||||
return
|
||||
#Searching the contact.
|
||||
hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
|
||||
countries = list(NewConn.GetCountry(search_country))
|
||||
win32gui.SendMessage(hwndList, commctrl.LVM_DELETEALLITEMS)
|
||||
if not countries:
|
||||
win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0],"<enter text to search>")
|
||||
win32ui.MessageBox("No country found with name {0}.".format(search_country),"Search Country",flag_error)
|
||||
for country in countries:
|
||||
num_items = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMCOUNT)
|
||||
item = LVITEM(text=country[1],iItem = num_items)
|
||||
win32gui.SendMessage(hwndList, commctrl.LVM_INSERTITEM, 0, item.toparam())
|
||||
except Exception,e:
|
||||
msg = getMessage(e)
|
||||
win32ui.MessageBox(msg, "Search Country", flag_error)
|
||||
pass
|
||||
|
||||
def SetCountryList(listProcessor,*args):
|
||||
|
||||
hwndList = listProcessor.GetControl()
|
||||
child_ex_style = win32gui.SendMessage(hwndList, commctrl.LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
|
||||
child_ex_style |= commctrl.LVS_EX_FULLROWSELECT
|
||||
win32gui.SendMessage(hwndList, commctrl.LVM_SETEXTENDEDLISTVIEWSTYLE, 0, child_ex_style)
|
||||
|
||||
# set header row
|
||||
lvc = LVCOLUMN(
|
||||
mask = commctrl.LVCF_FMT | commctrl.LVCF_WIDTH | \
|
||||
commctrl.LVCF_TEXT | commctrl.LVCF_SUBITEM
|
||||
)
|
||||
lvc.fmt = commctrl.LVCFMT_LEFT
|
||||
lvc.iSubItem = 1
|
||||
lvc.text = "Country Name"
|
||||
lvc.cx = 275
|
||||
win32gui.SendMessage(hwndList, commctrl.LVM_INSERTCOLUMN, 0, lvc.toparam())
|
||||
listProcessor.init_done = True
|
||||
|
||||
def SelectCountryFromList(btnProcessor,*args):
|
||||
|
||||
hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
|
||||
sel_count = win32gui.SendMessage(hwndList, commctrl.LVM_GETSELECTEDCOUNT)
|
||||
sel_text = ''
|
||||
if sel_count == 1:
|
||||
sel=-1
|
||||
for i in range(0,sel_count):
|
||||
sel = win32gui.SendMessage(hwndList, commctrl.LVM_GETNEXTITEM, sel, commctrl.LVNI_SELECTED)
|
||||
buf,extra = win32gui_struct.EmptyLVITEM(1, 0)
|
||||
size = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMTEXT, sel, buf)
|
||||
sel_text = ''
|
||||
for n in extra:
|
||||
nombre = n.tostring()
|
||||
sel_text = nombre[0:size]
|
||||
global country_ref
|
||||
global new_con_country
|
||||
if str(sel_text).strip() == "":
|
||||
win32ui.MessageBox("Invalid country selected.","Search Country")
|
||||
return
|
||||
try:
|
||||
country_ref = str(sel_text)
|
||||
new_con_country = str(sel_text)
|
||||
except Exception,e:
|
||||
pass
|
||||
win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
|
||||
return
|
||||
elif sel_count < 1:
|
||||
win32ui.MessageBox("You must one country.","Search Country")
|
||||
return
|
||||
else:
|
||||
win32ui.MessageBox("Multiple selection is not allowed.","Search Country")
|
||||
return
|
||||
|
||||
def SearchState(btnProcessor, *args):
|
||||
b = check()
|
||||
if not b:
|
||||
return
|
||||
try :
|
||||
search_state = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
|
||||
if not search_state:
|
||||
win32ui.MessageBox("Please enter state name to search for.", "Search Fed.State", flag_excl)
|
||||
return
|
||||
#Searching the contact.
|
||||
hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
|
||||
states = list(NewConn.GetStates(search_state))
|
||||
win32gui.SendMessage(hwndList, commctrl.LVM_DELETEALLITEMS)
|
||||
if not states:
|
||||
win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0],"<enter text to search>")
|
||||
win32ui.MessageBox("No state found with name {0}.".format(search_state),"Search Fed.State",flag_error)
|
||||
for state in states:
|
||||
num_items = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMCOUNT)
|
||||
item = LVITEM(text=state[1],iItem = num_items)
|
||||
win32gui.SendMessage(hwndList, commctrl.LVM_INSERTITEM, 0, item.toparam())
|
||||
except Exception,e:
|
||||
msg = getMessage(e)
|
||||
win32ui.MessageBox(msg, "Search Fed.State", flag_error)
|
||||
pass
|
||||
|
||||
def SetStateList(listProcessor,*args):
|
||||
hwndList = listProcessor.GetControl()
|
||||
child_ex_style = win32gui.SendMessage(hwndList, commctrl.LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
|
||||
child_ex_style |= commctrl.LVS_EX_FULLROWSELECT
|
||||
win32gui.SendMessage(hwndList, commctrl.LVM_SETEXTENDEDLISTVIEWSTYLE, 0, child_ex_style)
|
||||
|
||||
# set header row
|
||||
lvc = LVCOLUMN(
|
||||
mask = commctrl.LVCF_FMT | commctrl.LVCF_WIDTH | \
|
||||
commctrl.LVCF_TEXT | commctrl.LVCF_SUBITEM
|
||||
)
|
||||
lvc.fmt = commctrl.LVCFMT_LEFT
|
||||
lvc.iSubItem = 1
|
||||
lvc.text = "Fed.State Name"
|
||||
lvc.cx = 275
|
||||
win32gui.SendMessage(hwndList, commctrl.LVM_INSERTCOLUMN, 0, lvc.toparam())
|
||||
listProcessor.init_done = True
|
||||
|
||||
def SelectStateFromList(btnProcessor,*args):
|
||||
|
||||
hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
|
||||
sel_count = win32gui.SendMessage(hwndList, commctrl.LVM_GETSELECTEDCOUNT)
|
||||
sel_text = ''
|
||||
if sel_count == 1:
|
||||
sel=-1
|
||||
for i in range(0,sel_count):
|
||||
sel = win32gui.SendMessage(hwndList, commctrl.LVM_GETNEXTITEM, sel, commctrl.LVNI_SELECTED)
|
||||
buf,extra = win32gui_struct.EmptyLVITEM(1, 0)
|
||||
size = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMTEXT, sel, buf)
|
||||
sel_text = ''
|
||||
for n in extra:
|
||||
nombre = n.tostring()
|
||||
sel_text = nombre[0:size]
|
||||
global state_ref
|
||||
global new_con_state
|
||||
if str(sel_text).strip() == "":
|
||||
win32ui.MessageBox("Invalid fed. state selected.","Search Fed.State")
|
||||
return
|
||||
try:
|
||||
state_ref = str(sel_text)
|
||||
new_con_state = str(sel_text)
|
||||
win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
|
||||
except Exception,e:
|
||||
pass
|
||||
|
||||
return
|
||||
elif sel_count < 1:
|
||||
win32ui.MessageBox("You must select state.","Search Fed.State")
|
||||
return
|
||||
else:
|
||||
win32ui.MessageBox("Multiple selection is not allowed.","Search Fed.State")
|
||||
return
|
||||
|
||||
|
||||
|
||||
dialog_map = {
|
||||
"IDD_MANAGER" : (
|
||||
(CancelButtonProcessor, "IDCANCEL", resetConnAttribs, ()),
|
||||
(TabProcessor, "IDC_TAB IDC_LIST",
|
||||
"""IDD_GENERAL IDD_OBJECT_SETTINGS IDD_ABOUT"""),
|
||||
(DoneButtonProcessor, "ID_DONE"),
|
||||
),
|
||||
"IDD_MANAGER" : (
|
||||
(CancelButtonProcessor, "IDCANCEL", resetConnAttribs, ()),
|
||||
(TabProcessor, "IDC_TAB IDC_LIST",
|
||||
"""IDD_GENERAL IDD_OBJECT_SETTINGS IDD_ABOUT"""),
|
||||
(DoneButtonProcessor, "ID_DONE"),
|
||||
),
|
||||
|
||||
"IDD_GENERAL": (
|
||||
(DBComboProcessor, "ID_DB_DROPDOWNLIST", GetConn, ()),
|
||||
(TextProcessor, "ID_SERVER_PORT ID_USERNAME ID_PASSWORD", SetAllText, ()),
|
||||
(CommandButtonProcessor, "ID_BUT_TESTCONNECTION ID_DB_DROPDOWNLIST ID_USERNAME \
|
||||
ID_PASSWORD", TestConnection, ()),
|
||||
(CommandButtonProcessor, "IDC_RELOAD", ReloadAllControls, ()),
|
||||
(DialogCommand, "IDC_BUT_SET_SERVER_PORT", "IDD_SERVER_PORT_DIALOG"),
|
||||
),
|
||||
"IDD_GENERAL": (
|
||||
(DBComboProcessor, "ID_DB_DROPDOWNLIST", GetConn, ()),
|
||||
(TextProcessor, "ID_SERVER_PORT ID_USERNAME ID_PASSWORD IDET_WED_SERVER", SetAllText, ()),
|
||||
(CommandButtonProcessor, "ID_BUT_TESTCONNECTION ID_DB_DROPDOWNLIST ID_USERNAME \
|
||||
ID_PASSWORD", TestConnection, ()),
|
||||
(CommandButtonProcessor, "IDC_RELOAD", ReloadAllControls, ()),
|
||||
(DialogCommand, "IDC_BUT_SET_SERVER_PORT", "IDD_SERVER_PORT_DIALOG"),
|
||||
(DialogCommand, "ID_SET_WEB_CONNECTION", "IDD_WEB_SERVER_PORT_DIALOG" ),
|
||||
(CommandButtonProcessor, "IDPB_WEB_CONNECTION IDET_WED_SERVER", ConnectWebServer, ()),
|
||||
),
|
||||
|
||||
"IDD_OBJECT_SETTINGS" : (
|
||||
(CommandButtonProcessor, "IDC_BUT_LOAD_IMAGE IDC_IMAGE_PATH", GetImagePath, ()),
|
||||
(CommandButtonProcessor, "IDC_BUT_SAVE_OBJECT IDC_OBJECT_TITLE IDC_OBJECT_NAME \
|
||||
IDC_IMAGE_PATH IDC_LIST", AddNewObject, ()),
|
||||
(CommandButtonProcessor, "IDC_BUT_DEL_OBJECT IDC_LIST", DeleteSelectedObjects, ()),
|
||||
(ListBoxProcessor, "IDC_LIST", SetDefaultList, ())
|
||||
),
|
||||
"IDD_OBJECT_SETTINGS" : (
|
||||
(CommandButtonProcessor, "IDC_BUT_LOAD_IMAGE IDC_IMAGE_PATH", GetImagePath, ()),
|
||||
(CommandButtonProcessor, "IDC_BUT_SAVE_OBJECT IDC_OBJECT_TITLE IDC_OBJECT_NAME \
|
||||
IDC_IMAGE_PATH IDC_LIST", AddNewObject, ()),
|
||||
(CommandButtonProcessor, "IDC_BUT_DEL_OBJECT IDC_LIST", DeleteSelectedObjects, ()),
|
||||
(ListBoxProcessor, "IDC_LIST", SetDefaultList, ())
|
||||
),
|
||||
|
||||
"IDD_ABOUT" : (
|
||||
(ImageProcessor, "IDB_OPENERPLOGO"),
|
||||
(MessageProcessor, "IDC_ABOUT"),
|
||||
),
|
||||
"IDD_ABOUT" : (
|
||||
(ImageProcessor, "IDB_OPENERPLOGO"),
|
||||
(MessageProcessor, "IDC_ABOUT"),
|
||||
),
|
||||
|
||||
"IDD_SERVER_PORT_DIALOG" : (
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(OKButtonProcessor, "IDOK ID_SERVER ID_PORT IDR_XML_PROTOCOL"),
|
||||
(RadioButtonProcessor, "IDR_XML_PROTOCOL", GetConn, ()),
|
||||
(RadioButtonProcessor, "IDR_XMLS_PROTOCOL", GetConn, ()),
|
||||
(RadioButtonProcessor, "IDR_NETRPC_PROTOCOL", GetConn, ()),
|
||||
),
|
||||
"IDD_SERVER_PORT_DIALOG" : (
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(OKButtonProcessor, "IDOK ID_SERVER ID_PORT IDR_XML_PROTOCOL"),
|
||||
),
|
||||
|
||||
"IDD_SYNC" : (
|
||||
(CommandButtonProcessor, "ID_SEARCH ID_SEARCH_TEXT IDC_NAME_LIST", SearchObjectsForText,()),
|
||||
(GroupProcessor, "IDC_STATIC_GROUP", setCheckList, ()),
|
||||
(CSComboProcessor, "ID_ATT_METHOD_DROPDOWNLIST", GetConn,()),
|
||||
(TextProcessor, "ID_SEARCH_TEXT", GetSearchText, ()),
|
||||
(DialogCommand, "ID_CREATE_CONTACT ID_SEARCH_TEXT", "IDD_NEW_CONTACT_DIALOG", set_search_text, ()),
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(CommandButtonProcessor, "ID_MAKE_ATTACHMENT IDC_NAME_LIST IDD_SYNC", MakeAttachment, ()),
|
||||
(CommandButtonProcessor, "ID_CREATE_CASE ID_ATT_METHOD_DROPDOWNLIST IDC_NAME_LIST", CreateCase, ()),
|
||||
(ListBoxProcessor, "IDC_NAME_LIST", SetNameColumn, ())
|
||||
),
|
||||
"IDD_SYNC" : (
|
||||
(CommandButtonProcessor, "ID_SEARCH ID_SEARCH_TEXT IDC_NAME_LIST", SearchObjectsForText,()),
|
||||
(GroupProcessor, "IDC_STATIC_GROUP", setCheckList, ()),
|
||||
(CSComboProcessor, "ID_ATT_METHOD_DROPDOWNLIST", GetConn,()),
|
||||
(TextProcessor, "ID_SEARCH_TEXT", GetSearchText, ()),
|
||||
(DialogCommand, "ID_CREATE_CONTACT ID_SEARCH_TEXT", "IDD_NEW_CONTACT_DIALOG", set_search_text, ()),
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(CommandButtonProcessor, "ID_MAKE_ATTACHMENT IDC_NAME_LIST IDD_SYNC", MakeAttachment, ()),
|
||||
(CommandButtonProcessor, "ID_CREATE_CASE ID_ATT_METHOD_DROPDOWNLIST IDC_NAME_LIST", CreateCase, ()),
|
||||
(ListBoxProcessor, "IDC_NAME_LIST", SetNameColumn, ())
|
||||
),
|
||||
|
||||
"IDD_NEW_CONTACT_DIALOG" : (
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(CommandButtonProcessor, "ID_CONTACT_SAVE_BUTTON ID_CONTACT_NAME_TEXT ID_CONTACT_EMAIL_TEXT ID_CONTACT_OFFICE_TEXT ID_CONTACT_MOBILE_TEXT ID_FAX_TEXT ID_STREET_TEXT ID_STREET2_TEXT ID_PARTNER_CITY_TEXT ID_ZIP_TEXT ID_PARTNER_TEXT", CreateContact, ()),
|
||||
(TextProcessor, "ID_CONTACT_NAME_TEXT ID_CONTACT_EMAIL_TEXT ID_PARTNER_TEXT" , SetDefaultContact, ()),
|
||||
(DialogCommand, "ID_NEW_PARTNER_BUTTON", "IDD_SELECT_PARTNER"),
|
||||
),
|
||||
"IDD_NEW_CONTACT_DIALOG" : (
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(CommandButtonProcessor, "ID_CONTACT_SAVE_BUTTON ID_CONTACT_NAME_TEXT ID_CONTACT_EMAIL_TEXT ID_CONTACT_OFFICE_TEXT ID_CONTACT_MOBILE_TEXT ID_FAX_TEXT ID_STREET_TEXT ID_STREET2_TEXT ID_PARTNER_CITY_TEXT ID_ZIP_TEXT ID_PARTNER_TEXT IDET_NC_PARTNER_STATE IDET_NC_PARTNER_COUNTRY", CreateContact, ()),
|
||||
(TextProcessor, "ID_CONTACT_NAME_TEXT ID_CONTACT_EMAIL_TEXT ID_PARTNER_TEXT IDET_NC_PARTNER_STATE IDET_NC_PARTNER_COUNTRY" , SetDefaultContact, ()),
|
||||
(DialogCommand, "ID_NEW_PARTNER_BUTTON", "IDD_SELECT_PARTNER"),
|
||||
(DialogCommand, "IDPB_NEW_PARTNER_BUTTON", "IDD_NEW_PARTNER_DIALOG"),
|
||||
(DialogCommand, "IDPB_NC_SEARCH_STATE1", "IDD_SELECT_STATE"),
|
||||
(DialogCommand, "IDPB_NC_SEARCH_COUNTRY1", "IDD_SELECT_COUNTRY"),
|
||||
),
|
||||
|
||||
"IDD_NEW_PARTNER_DIALOG" : (
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(CommandButtonProcessor, "ID_SAVE_PARTNER_BUTTON ID_PARTNER_NAME_TEXT", CreatePartner, ()),
|
||||
),
|
||||
"IDD_NEW_PARTNER_DIALOG" : (
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(CommandButtonProcessor, "ID_SAVE_PARTNER_BUTTON ID_PARTNER_NAME_TEXT", CreatePartner, ()),
|
||||
),
|
||||
|
||||
"IDD_VIEW_PARTNER_DIALOG" : (
|
||||
(TextProcessor, "IDET_SEARCH_PARTNER IDET_PARTNER IDET_PARTNER_CONTACT_NAME IDET_PARTNER_STREET IDET_PARTNER_STREET2 IDET_PARTNER_CITY IDET_PARTNER_OFFICENO IDET_PARTNER_MOBILENO IDET_PARTNER_EMAIL IDET_PARTNER_FAX IDET_ZIP IDET_PARTNER_STATE IDET_PARTNER_COUNTRY", GetDefaultEmail, ()),
|
||||
(CommandButtonProcessor, "IDPB_SEARCH_PARTNER IDET_SEARCH_PARTNER IDET_PARTNER IDET_PARTNER_CONTACT_NAME IDET_PARTNER_STREET IDET_PARTNER_STREET2 IDET_PARTNER_CITY IDET_PARTNER_OFFICENO IDET_PARTNER_MOBILENO IDET_PARTNER_EMAIL IDET_PARTNER_FAX IDET_ZIP IDET_PARTNER_STATE IDET_PARTNER_COUNTRY", SearchPartner, ()),
|
||||
(CommandButtonProcessor, "IDPB_WRITE_CHANGES IDET_PARTNER IDET_PARTNER_CONTACT_NAME IDET_PARTNER_STREET IDET_PARTNER_STREET2 IDET_PARTNER_CITY IDET_PARTNER_STATE IDET_PARTNER_COUNTRY IDET_PARTNER_OFFICENO IDET_PARTNER_MOBILENO IDET_PARTNER_EMAIL IDET_PARTNER_FAX IDET_ZIP", WritePartner, ()),
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(DialogCommand, "ID_NEW_PART_BUTTON", "IDD_SELECT_PARTNER" ),
|
||||
(DialogCommand, "IDPB_NEWPARTNER_BUTTON" , "IDD_NEW_CONTACT_DIALOG")
|
||||
),
|
||||
"IDD_SELECT_PARTNER" : (
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(ListBoxProcessor, "IDC_LIST_PARTNER" ,SetPartnerNameColumn, ()),
|
||||
(CommandButtonProcessor, "IDPB_PARTNER_SEARCH IDET_PARTNER_SEARCH_NAME IDC_LIST_PARTNER", SearchPartnerList,()),
|
||||
(CommandButtonProcessor, "IDPB_SELECT_PARTNER IDC_LIST_PARTNER IDD_SELECT_PARTNER" , SelectPartnerFromList,()),
|
||||
(DialogCommand, "IDPB_CREATE_NEW_PARTNER" , "IDD_NEW_PARTNER_DIALOG")
|
||||
),
|
||||
"IDD_VIEW_PARTNER_DIALOG" : (
|
||||
(TextProcessor, "IDET_SEARCH_PARTNER IDET_PARTNER IDET_PARTNER_CONTACT_NAME IDET_PARTNER_STREET IDET_PARTNER_STREET2 IDET_PARTNER_CITY IDET_PARTNER_OFFICENO IDET_PARTNER_MOBILENO IDET_PARTNER_EMAIL IDET_PARTNER_FAX IDET_ZIP IDET_PARTNER_STATE IDET_PARTNER_COUNTRY", GetDefaultEmail, ()),
|
||||
(CommandButtonProcessor, "IDPB_SEARCH_PARTNER IDET_SEARCH_PARTNER IDET_PARTNER IDET_PARTNER_CONTACT_NAME IDET_PARTNER_STREET IDET_PARTNER_STREET2 IDET_PARTNER_CITY IDET_PARTNER_OFFICENO IDET_PARTNER_MOBILENO IDET_PARTNER_EMAIL IDET_PARTNER_FAX IDET_ZIP IDET_PARTNER_STATE IDET_PARTNER_COUNTRY", SearchPartner, ()),
|
||||
(CommandButtonProcessor, "IDPB_WRITE_CHANGES IDET_PARTNER IDET_PARTNER_CONTACT_NAME IDET_PARTNER_STREET IDET_PARTNER_STREET2 IDET_PARTNER_CITY IDET_PARTNER_STATE IDET_PARTNER_COUNTRY IDET_PARTNER_OFFICENO IDET_PARTNER_MOBILENO IDET_PARTNER_EMAIL IDET_PARTNER_FAX IDET_ZIP", WritePartner, ()),
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(DialogCommand, "ID_NEW_PART_BUTTON", "IDD_SELECT_PARTNER" ),
|
||||
(DialogCommand, "IDPB_NEWPARTNER_BUTTON" , "IDD_NEW_CONTACT_DIALOG"),
|
||||
(DialogCommand, "IDPB_NEW_PART_BUTTON", "IDD_NEW_PARTNER_DIALOG"),
|
||||
(DialogCommand, "IDPB_SEARCH_COUNTRY1", "IDD_SELECT_COUNTRY"),
|
||||
(DialogCommand, "IDPB_SEARCH_STATE1", "IDD_SELECT_STATE"),
|
||||
|
||||
),
|
||||
"IDD_SELECT_PARTNER" : (
|
||||
(ListBoxProcessor, "IDC_LIST_PARTNER" ,SetPartnerNameColumn, ()),
|
||||
(CommandButtonProcessor, "IDPB_PARTNER_SEARCH IDET_PARTNER_SEARCH_NAME IDC_LIST_PARTNER", SearchPartnerList,()),
|
||||
(CommandButtonProcessor, "IDPB_SELECT_PARTNER IDC_LIST_PARTNER IDD_SELECT_PARTNER" , SelectPartnerFromList,()),
|
||||
(DialogCommand, "IDPB_CREATE_NEW_PARTNER" , "IDD_NEW_PARTNER_DIALOG")
|
||||
),
|
||||
"IDD_OPEN_PARTNER_DIALOG" : (
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(TextProcessor, "IDET_PARTNER_LINK_TEXT", OpenPartnerForm, ()),
|
||||
),
|
||||
"IDD_OPEN_DOCUEMNT_DIALOG" : (
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(TextProcessor, "IDEB_OPENDOC_LINK_TEXT", SerachOpenDocuemnt,()),
|
||||
),
|
||||
"IDD_WEB_SERVER_PORT_DIALOG" :(
|
||||
(CloseButtonProcessor, "IDCANCEL"),
|
||||
(WEBOKButtonProcessor, "ID_WEB_OK IDET_WEB_SERVER IDET_WEB_PORT")
|
||||
),
|
||||
"IDD_SELECT_COUNTRY" : (
|
||||
(CommandButtonProcessor, "IDPB_SEARCH_COUNTRY IDET_COUNTRY_SEARCH_NAME IDC_LIST_COUNTRY" , SearchCountry, ()),
|
||||
(ListBoxProcessor, "IDC_LIST_COUNTRY" ,SetCountryList, ()),
|
||||
(CommandButtonProcessor, "IDPB_SELECT_COUNTRY IDC_LIST_COUNTRY IDD_SELECT_COUNTRY" , SelectCountryFromList,()),
|
||||
),
|
||||
"IDD_SELECT_STATE" : (
|
||||
(CommandButtonProcessor, "IDPB_STATE_SEARCH IDET_STATE_SEARCH_NAME IDC_LIST_STATE" , SearchState, ()),
|
||||
(ListBoxProcessor, "IDC_LIST_STATE" ,SetStateList, ()),
|
||||
(CommandButtonProcessor, "IDPB_SELECT_STATE IDC_LIST_STATE IDD_SELECT_STATE" , SelectStateFromList,()),
|
||||
),
|
||||
}
|
||||
|
||||
@@ -177,6 +177,37 @@
|
||||
#define IDPB_PARTNER_SEARCH 2077
|
||||
#define IDPB_CREATE_NEW_PARTNER 2078
|
||||
#define ID_PARTNER_TEXT 2079
|
||||
#define IDET_WED_SERVER 2080
|
||||
#define IDET_WEB_PORT 2081
|
||||
#define ID_SET_WEB_CONNECTION 2082
|
||||
#define IDPB_WEB_CONNECTION 2083
|
||||
#define IDD_OPEN_PARTNER_DIALOG 2084
|
||||
#define IDET_PARTNER_LINK_TEXT 2085
|
||||
#define IDEB_OPENDOC_LINK_TEXT 2086
|
||||
#define IDD_OPEN_DOCUEMNT_DIALOG 2087
|
||||
#define IDD_WEB_SERVER_PORT_DIALOG 2088
|
||||
#define IDET_WEB_SERVER 2089
|
||||
#define IDET_WEB_PORT 2090
|
||||
#define ID_WEB_OK 2091
|
||||
#define IDPB_NEW_PARTNER_BUTTON 2092
|
||||
#define IDPB_NEW_PART_BUTTON 2093
|
||||
#define IDD_SELECT_COUNTRY 2094
|
||||
#define IDET_COUNTRY_SEARCH_NAME 2095
|
||||
#define IDC_LIST_COUNTRY 2096
|
||||
#define IDPB_SELECT_COUNTRY 2097
|
||||
#define IDPB_SEARCH_COUNTRY 2098
|
||||
#define IDD_SELECT_STATE 2099
|
||||
#define IDET_STATE_SEARCH_NAME 2100
|
||||
#define IDC_LIST_STATE 2101
|
||||
#define IDPB_SELECT_STATE 2102
|
||||
#define IDPB_SEARCH_STATE 2103
|
||||
#define IDPB_SEARCH_STATE1 2104
|
||||
#define IDPB_SEARCH_COUNTRY1 2105
|
||||
|
||||
#define IDET_NC_PARTNER_STATE 2106
|
||||
#define IDPB_NC_SEARCH_STATE1 2107
|
||||
#define IDET_NC_PARTNER_COUNTRY 2108
|
||||
#define IDPB_NC_SEARCH_COUNTRY1 2109
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -57,6 +57,12 @@ BEGIN
|
||||
LTEXT "Password : ",IDC_STATIC,30,90,100,17
|
||||
EDITTEXT ID_PASSWORD,85,90,154,12,ES_AUTOHSCROLL | WS_VISIBLE | WS_TABSTOP | ES_PASSWORD
|
||||
PUSHBUTTON "Connect",ID_BUT_TESTCONNECTION,179,110,60,13, WS_VISIBLE | WS_TABSTOP
|
||||
|
||||
GROUPBOX "WebServer Parameters",IDC_STATIC_GROUP, 270, 10,150,130
|
||||
LTEXT "Server : ",IDC_STATIC, 280, 30, 50, 15
|
||||
EDITTEXT IDET_WED_SERVER,310, 29, 90, 12,ES_AUTOHSCROLL | ES_READONLY
|
||||
PUSHBUTTON "Change",ID_SET_WEB_CONNECTION, 295, 50, 50, 12 , WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "Connect",IDPB_WEB_CONNECTION, 350, 50, 50, 12 , WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_OBJECT_SETTINGS DIALOGEX 0, 0, 430, 210
|
||||
@@ -131,7 +137,7 @@ BEGIN
|
||||
PUSHBUTTON "Close",IDCANCEL,385,300,60,14,WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_NEW_CONTACT_DIALOG DIALOGEX 0, 0, 350, 150
|
||||
IDD_NEW_CONTACT_DIALOG DIALOGEX 0, 0, 350, 180
|
||||
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_CONTEXTHELP
|
||||
CAPTION "Create a New Contact"
|
||||
@@ -139,10 +145,11 @@ FONT 8, "Tahoma", 1000, 0, 0x0
|
||||
BEGIN
|
||||
|
||||
LTEXT "Select Partner : ",IDC_STATIC,13,20,50,17
|
||||
EDITTEXT ID_PARTNER_TEXT, 70, 18, 200, 12 , ES_AUTOHSCROLL |ES_READONLY
|
||||
PUSHBUTTON "Search Partner",ID_NEW_PARTNER_BUTTON,280,17,60,14, WS_TABSTOP
|
||||
EDITTEXT ID_PARTNER_TEXT, 70, 18, 150, 12 , ES_AUTOHSCROLL |ES_READONLY
|
||||
PUSHBUTTON "Search Partner",ID_NEW_PARTNER_BUTTON,225,17,60,14, WS_TABSTOP
|
||||
PUSHBUTTON "New Partner",IDPB_NEW_PARTNER_BUTTON,290, 17, 50, 14, WS_TABSTOP
|
||||
|
||||
GROUPBOX "Postal Address ", IDC_STATIC_GROUP,10,35,175,90
|
||||
GROUPBOX "Postal Address ", IDC_STATIC_GROUP,10,35,175,123
|
||||
LTEXT "Contact Name : ",IDC_STATIC, 18, 53, 100, 17
|
||||
EDITTEXT ID_CONTACT_NAME_TEXT, 76, 52, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
|
||||
LTEXT "Street : ",IDC_STATIC, 18, 67, 40, 17
|
||||
@@ -153,9 +160,15 @@ BEGIN
|
||||
EDITTEXT ID_ZIP_TEXT,76, 93, 100, 12,ES_AUTOHSCROLL | WS_TABSTOP
|
||||
LTEXT "City : ",IDC_STATIC, 18,106, 50, 17
|
||||
EDITTEXT ID_PARTNER_CITY_TEXT,76,107,100,12,ES_AUTOHSCROLL | WS_TABSTOP
|
||||
LTEXT "Fed. State : ",IDC_STATIC,18,121,50,17
|
||||
EDITTEXT IDET_NC_PARTNER_STATE, 76, 122, 54, 12,ES_AUTOHSCROLL |ES_READONLY
|
||||
PUSHBUTTON "Search", IDPB_NC_SEARCH_STATE1 ,135, 121, 40, 12, WS_TABSTOP
|
||||
LTEXT "Country :",IDC_STATIC, 18, 134, 35, 17
|
||||
EDITTEXT IDET_NC_PARTNER_COUNTRY, 76, 135, 54, 12,ES_AUTOHSCROLL |ES_READONLY
|
||||
PUSHBUTTON "Search", IDPB_NC_SEARCH_COUNTRY1, 135, 136, 40, 12, WS_TABSTOP
|
||||
|
||||
|
||||
GROUPBOX "Communication ", IDC_STATIC_GROUP, 188, 35, 150, 90
|
||||
GROUPBOX "Communication ", IDC_STATIC_GROUP, 188, 35, 150, 123
|
||||
LTEXT "Office : ",IDC_STATIC,194, 53, 30, 17
|
||||
EDITTEXT ID_CONTACT_OFFICE_TEXT, 224, 52, 100, 12,ES_AUTOHSCROLL | WS_TABSTOP
|
||||
LTEXT "Mobile : ",IDC_STATIC,194, 67, 30, 17
|
||||
@@ -165,8 +178,8 @@ BEGIN
|
||||
LTEXT "Email : ",IDC_STATIC, 194, 95, 30, 17
|
||||
EDITTEXT ID_CONTACT_EMAIL_TEXT, 224, 94, 100, 12,ES_AUTOHSCROLL | WS_TABSTOP
|
||||
|
||||
PUSHBUTTON "Cancel",IDCANCEL,290,130,45,14, WS_TABSTOP
|
||||
PUSHBUTTON "Save",ID_CONTACT_SAVE_BUTTON,240,130,45,14, WS_TABSTOP
|
||||
PUSHBUTTON "Cancel",IDCANCEL,290,162,45,13, WS_TABSTOP
|
||||
PUSHBUTTON "Save",ID_CONTACT_SAVE_BUTTON,240,162,45,13, WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_NEW_PARTNER_DIALOG DIALOGEX 0, 0, 140,40
|
||||
@@ -192,8 +205,9 @@ BEGIN
|
||||
PUSHBUTTON "Search Contact ",IDPB_SEARCH_PARTNER,280,15,60,14,WS_TABSTOP
|
||||
|
||||
LTEXT "Partner Name : ",IDC_STATIC,13,42,50,17
|
||||
EDITTEXT IDET_PARTNER,70, 42, 200, 12,ES_AUTOHSCROLL |ES_READONLY
|
||||
PUSHBUTTON "Search Partner",ID_NEW_PART_BUTTON,280,41,60,14, WS_TABSTOP
|
||||
EDITTEXT IDET_PARTNER,70, 42, 150, 12,ES_AUTOHSCROLL |ES_READONLY
|
||||
PUSHBUTTON "Search Partner",ID_NEW_PART_BUTTON,225,41,60,14, WS_TABSTOP
|
||||
PUSHBUTTON "New Partner",IDPB_NEW_PART_BUTTON,290,41,50,14, WS_TABSTOP
|
||||
|
||||
GROUPBOX "Postal Address ", IDC_STATIC_GROUP,10,65,175,125
|
||||
LTEXT "Contact Name : ",IDC_STATIC,18,83,50,17
|
||||
@@ -206,10 +220,14 @@ BEGIN
|
||||
EDITTEXT IDET_ZIP, 76, 125, 100, 12 , ES_AUTOHSCROLL | WS_TABSTOP
|
||||
LTEXT "City : ",IDC_STATIC,18,140,50,17
|
||||
EDITTEXT IDET_PARTNER_CITY,76,139,100,12,ES_AUTOHSCROLL | WS_TABSTOP
|
||||
|
||||
LTEXT "Fed. State : ",IDC_STATIC,18,154,50,17
|
||||
EDITTEXT IDET_PARTNER_STATE, 76, 153, 100, 12,ES_AUTOHSCROLL |ES_READONLY
|
||||
EDITTEXT IDET_PARTNER_STATE, 76, 153, 54, 12,ES_AUTOHSCROLL |ES_READONLY
|
||||
PUSHBUTTON "Search", IDPB_SEARCH_STATE1 ,135, 153, 40, 12, WS_TABSTOP
|
||||
|
||||
LTEXT "Country :",IDC_STATIC, 18, 169, 35, 17
|
||||
EDITTEXT IDET_PARTNER_COUNTRY, 76, 168, 100, 12,ES_AUTOHSCROLL |ES_READONLY
|
||||
EDITTEXT IDET_PARTNER_COUNTRY, 76, 168, 54, 12,ES_AUTOHSCROLL |ES_READONLY
|
||||
PUSHBUTTON "Search", IDPB_SEARCH_COUNTRY1, 135, 168, 40, 12, WS_TABSTOP
|
||||
|
||||
GROUPBOX "Communication ", IDC_STATIC_GROUP, 188, 65, 152, 125
|
||||
LTEXT "Phone : ",IDC_STATIC, 194, 83, 30, 17
|
||||
@@ -240,7 +258,75 @@ BEGIN
|
||||
CONTROL "List1",IDC_LIST_PARTNER,"SysListView32",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL |
|
||||
LVS_SHOWSELALWAYS | LVS_EX_GRIDLINES | LVS_REPORT | LVS_EX_FULLROWSELECT, 8,40,200,185
|
||||
PUSHBUTTON "Create New Partner", IDPB_CREATE_NEW_PARTNER, 10, 230, 100, 14, WS_TABSTOP
|
||||
PUSHBUTTON "Select", IDPB_SELECT_PARTNER, 130, 230, 40, 14, WS_TABSTOP
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 175, 230, 40, 14, WS_TABSTOP
|
||||
PUSHBUTTON "Select", IDPB_SELECT_PARTNER, 170, 230, 40, 14, WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_OPEN_PARTNER_DIALOG DIALOGEX 0, 0, 200,65
|
||||
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_CONTEXTHELP
|
||||
CAPTION "Open Partner"
|
||||
FONT 8, "Tahoma", 400, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Link to Partner : (If this link does not opens directly in web browser then copy an the link and paste in web browser.) ",IDC_STATIC,5,3,190,25
|
||||
EDITTEXT IDET_PARTNER_LINK_TEXT,5,31,190,12,ES_AUTOHSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Ok",IDCANCEL,150,45,45,13,WS_TABSTOP
|
||||
|
||||
END
|
||||
|
||||
IDD_OPEN_DOCUEMNT_DIALOG DIALOGEX 0, 0, 200,65
|
||||
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_CONTEXTHELP
|
||||
CAPTION "Open Document"
|
||||
FONT 8, "Tahoma", 400, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Link to Document : (If this link does not opens directly in web browser then copy an the link and paste in web browser.) ",IDC_STATIC,5,3,190,25
|
||||
EDITTEXT IDEB_OPENDOC_LINK_TEXT,5,31,190,12,ES_AUTOHSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Ok",IDCANCEL,150,45,45,14,WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_WEB_SERVER_PORT_DIALOG DIALOGEX 0, 0, 160, 55
|
||||
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_CONTEXTHELP
|
||||
CAPTION "OpenERP Connection"
|
||||
FONT 8, "Tahoma", 400, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Server : ",IDC_STATIC,5,3,150,17
|
||||
EDITTEXT IDET_WEB_SERVER,40,3,100,12,ES_AUTOHSCROLL | WS_TABSTOP
|
||||
LTEXT "Port : ",IDC_STATIC,5,18,100,17
|
||||
EDITTEXT IDET_WEB_PORT,40,18,100,12,ES_AUTOHSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Close",IDCANCEL,110,35,45,14,WS_TABSTOP
|
||||
DEFPUSHBUTTON "OK",ID_WEB_OK,60,35,45,14,WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_SELECT_COUNTRY DIALOGEX 0, 0, 220, 250
|
||||
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_CONTEXTHELP
|
||||
CAPTION "Search Country"
|
||||
FONT 8, "Tahoma", 400, 0, 0x0
|
||||
BEGIN
|
||||
|
||||
LTEXT "Enter Name : ",IDC_STATIC,8,12,80,17
|
||||
EDITTEXT IDET_COUNTRY_SEARCH_NAME, 55, 10, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Search", IDPB_SEARCH_COUNTRY, 160, 10, 50, 14, WS_TABSTOP
|
||||
|
||||
CONTROL "List1",IDC_LIST_COUNTRY,"SysListView32",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL |
|
||||
LVS_SHOWSELALWAYS | LVS_EX_GRIDLINES | LVS_REPORT | LVS_EX_FULLROWSELECT, 8,40,200,185
|
||||
PUSHBUTTON "Select", IDPB_SELECT_COUNTRY, 170, 230, 40, 14, WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_SELECT_STATE DIALOGEX 0, 0, 220, 250
|
||||
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_CONTEXTHELP
|
||||
CAPTION "Search Country"
|
||||
FONT 8, "Tahoma", 400, 0, 0x0
|
||||
BEGIN
|
||||
|
||||
LTEXT "Enter Name : ",IDC_STATIC,8,12,80,17
|
||||
EDITTEXT IDET_STATE_SEARCH_NAME, 55, 10, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Search", IDPB_STATE_SEARCH, 160, 10, 50, 14, WS_TABSTOP
|
||||
|
||||
CONTROL "List1",IDC_LIST_STATE,"SysListView32",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL |
|
||||
LVS_SHOWSELALWAYS | LVS_EX_GRIDLINES | LVS_REPORT | LVS_EX_FULLROWSELECT, 8,40,200,185
|
||||
PUSHBUTTON "Select", IDPB_SELECT_STATE, 170, 230, 40, 14, WS_TABSTOP
|
||||
END
|
||||
|
||||
|
||||
@@ -26,7 +26,8 @@ import chilkat
|
||||
import os
|
||||
from manager import ustr
|
||||
import win32ui
|
||||
email = chilkat.CkEmail()
|
||||
import email
|
||||
cemail = chilkat.CkEmail()
|
||||
dt = chilkat.SYSTEMTIME()
|
||||
def generateEML(mail):
|
||||
sub = (mail.Subject).replace(' ','')
|
||||
@@ -36,20 +37,21 @@ def generateEML(mail):
|
||||
sender_name = mail.SenderEmailAddress
|
||||
attachments=mail.Attachments
|
||||
|
||||
email = chilkat.CkEmail()
|
||||
email.put_Subject (ustr(sub).encode('iso-8859-1'))
|
||||
email.put_Body (ustr(body).encode('utf-8'))
|
||||
email.put_FromAddress (ustr(sender_email).encode('iso-8859-1'))
|
||||
email.put_From (ustr(sender_email).encode('iso-8859-1'))
|
||||
cemail = chilkat.CkEmail()
|
||||
cemail.put_Subject (ustr(sub).encode('iso-8859-1'))
|
||||
cemail.put_Body (ustr(body).encode('utf-8'))
|
||||
cemail.put_FromAddress (ustr(sender_email).encode('iso-8859-1'))
|
||||
cemail.put_From (ustr(sender_email).encode('iso-8859-1'))
|
||||
|
||||
for i in xrange(1, recipients.Count+1):
|
||||
name = ustr(recipients.Item(i).Name).encode('iso-8859-1')
|
||||
address = ustr(recipients.Item(i).Address).encode('iso-8859-1')
|
||||
email.AddTo(name,address)
|
||||
cemail.AddTo(name,address)
|
||||
|
||||
eml_name= ustr(sub).encode('iso-8859-1')+'-'+str(mail.EntryID)[-9:]
|
||||
ls = ['*', '/', '\\', '<', '>', ':', '?', '"', '|', '\t', '\n']
|
||||
mails_folder_path = os.path.abspath(os.path.dirname(__file__)+"\\dialogs\\resources\\mails\\")
|
||||
#mails_folder_path = os.path.abspath("%temp%\\dialogs\\resources\\mails\\")
|
||||
mails_folder_path = os.path.abspath("C:\\printing")
|
||||
attachments_folder_path = mails_folder_path + "\\attachments\\"
|
||||
if not os.path.exists(attachments_folder_path):
|
||||
os.makedirs(attachments_folder_path)
|
||||
@@ -70,7 +72,7 @@ def generateEML(mail):
|
||||
os.remove(att_file)
|
||||
f1 = att_file
|
||||
attachments[i].SaveAsFile(att_file)
|
||||
contentType = email.addFileAttachment(att_file)
|
||||
contentType = cemail.addFileAttachment(att_file)
|
||||
if (contentType == None ):
|
||||
print mail.lastErrorText()
|
||||
sys.exit()
|
||||
@@ -85,9 +87,11 @@ def generateEML(mail):
|
||||
f = eml_name.split('-')
|
||||
eml_name = f[0][0:l] + '.' + f[-1]
|
||||
eml_path = ustr(os.path.join(mails_folder_path,eml_name+".eml")).encode('iso-8859-1')
|
||||
success = email.SaveEml(eml_path)
|
||||
success = cemail.SaveEml(eml_path)
|
||||
fp = open(eml_path, 'rb')
|
||||
new_mail = email.message_from_file(fp)
|
||||
fp.close()
|
||||
if (success == False):
|
||||
print email.lastErrorText()
|
||||
print cemail.lastErrorText()
|
||||
sys.exit()
|
||||
|
||||
return eml_path
|
||||
return new_mail
|
||||
|
||||
@@ -58,7 +58,8 @@ class XMLRpcConn(object):
|
||||
_public_methods_ = ['GetDBList', 'login', 'GetAllObjects', 'GetObjList', 'InsertObj', 'DeleteObject', 'GetCSList', \
|
||||
'ArchiveToOpenERP', 'IsCRMInstalled', 'GetPartners', 'GetObjectItems', \
|
||||
'CreateCase', 'MakeAttachment', 'CreateContact', 'CreatePartner', 'getitem', 'setitem', \
|
||||
'SearchPartnerDetail', 'WritePartnerValues', 'GetAllState', 'GetAllCountry' ]
|
||||
'SearchPartnerDetail', 'WritePartnerValues', 'GetAllState', 'GetAllCountry', 'SearchPartner', 'SearchEmailResources', \
|
||||
'GetCountry', 'GetStates', 'FindCountryForState']
|
||||
_reg_clsctx_ = pythoncom.CLSCTX_INPROC_SERVER
|
||||
_reg_clsid_ = "{C6399AFD-763A-400F-8191-7F9D0503CAE2}"
|
||||
_reg_progid_ = "Python.OpenERP.XMLRpcConn"
|
||||
@@ -136,19 +137,8 @@ class XMLRpcConn(object):
|
||||
conn = xmlrpclib.ServerProxy(self._uri + '/xmlrpc/object')
|
||||
import eml
|
||||
new_msg = files = ext_msg =""
|
||||
eml_path=eml.generateEML(mail)
|
||||
att_name = ustr(eml_path.split('\\')[-1])
|
||||
flag=False
|
||||
new_mail=eml.generateEML(mail)
|
||||
attachments=mail.Attachments
|
||||
|
||||
try:
|
||||
fp = open(eml_path, 'rb')
|
||||
msg =fp.read()
|
||||
fp.close()
|
||||
new_mail = email.message_from_string(str(msg))
|
||||
except Exception,e:
|
||||
win32ui.MessageBox(str(e),"Reading Error Mail")
|
||||
|
||||
for rec in recs: #[('res.partner', 3, 'Agrolait')]
|
||||
model = rec[0]
|
||||
res_id = rec[1]
|
||||
@@ -184,10 +174,8 @@ class XMLRpcConn(object):
|
||||
result = {}
|
||||
if attachments:
|
||||
result = self.MakeAttachment([rec], mail)
|
||||
|
||||
attachment_ids = result.get(model, {}).get(res_id, [])
|
||||
ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'email.server.tools','history',model, res_id, msg, attachment_ids)
|
||||
|
||||
new_msg += """- {0} : {1}\n""".format(object_name,str(rec[2]))
|
||||
flag = True
|
||||
|
||||
@@ -250,27 +238,30 @@ class XMLRpcConn(object):
|
||||
return res
|
||||
|
||||
def CreateCase(self, section, mail, partner_ids, with_attachments=True):
|
||||
res={}
|
||||
import win32ui
|
||||
import eml
|
||||
section=str(section)
|
||||
partner_ids=eval(str(partner_ids))
|
||||
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
|
||||
flag = False
|
||||
id = -1
|
||||
try:
|
||||
eml_path=eml.generateEML(mail)
|
||||
fp = open(eml_path, 'rb')
|
||||
msg =fp.read()
|
||||
fp.close()
|
||||
new_mail = email.message_from_string(str(msg))
|
||||
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
|
||||
email=eml.generateEML(mail)
|
||||
id = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'email.server.tools','process_email',section, email)
|
||||
if id > 0:
|
||||
flag = True
|
||||
return flag
|
||||
else:
|
||||
flag = False
|
||||
return flag
|
||||
except Exception,e:
|
||||
win32ui.MessageBox(str(e),"Mail Reading Error")
|
||||
execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'email.server.tools','process_email',section, str(new_mail))
|
||||
win32ui.MessageBox("Create Case\n"+str(e),"Mail Reading Error")
|
||||
return flag
|
||||
|
||||
def MakeAttachment(self, recs, mail):
|
||||
attachments = mail.Attachments
|
||||
result = {}
|
||||
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
|
||||
att_folder_path = os.path.abspath(os.path.dirname(__file__)+"\\dialogs\\resources\\mails\\attachments\\")
|
||||
att_folder_path = os.path.abspath(os.path.dirname("%temp%\\"))
|
||||
if not os.path.exists(att_folder_path):
|
||||
os.makedirs(att_folder_path)
|
||||
for rec in recs: #[('res.partner', 3, 'Agrolait')]
|
||||
@@ -303,12 +294,19 @@ class XMLRpcConn(object):
|
||||
return result
|
||||
|
||||
def CreateContact(self, res=None):
|
||||
import win32ui
|
||||
res=eval(str(res))
|
||||
partner = res['partner_id']
|
||||
state = res['state_id']
|
||||
country = res['country_id']
|
||||
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
|
||||
partner_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner', 'search', [('name','=',ustr(partner))])
|
||||
res.update({'partner_id' : partner_id[0]})
|
||||
if not state == "":
|
||||
country_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country', 'search', [('name','=',ustr(country))])
|
||||
res.update({'country_id' : country_id[0]})
|
||||
if not country == "":
|
||||
state_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country.state', 'search', [('name','=',ustr(state))])
|
||||
res.update({'state_id' : state_id[0]})
|
||||
id = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.partner.address','create',res)
|
||||
return id
|
||||
|
||||
@@ -340,10 +338,14 @@ class XMLRpcConn(object):
|
||||
new_dict = dict(new_vals)
|
||||
email=new_dict['email']
|
||||
partner = new_dict['partner']
|
||||
country_val = new_dict['country']
|
||||
state_val = new_dict['state']
|
||||
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
|
||||
partner_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner', 'search', [('name','=',ustr(partner))])
|
||||
country_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country', 'search', [('name','=',ustr(country_val))])
|
||||
state_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country.state', 'search', [('name','=',ustr(state_val))])
|
||||
address_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner.address', 'search', [('email','=',ustr(email))])
|
||||
if not address_id:
|
||||
if not partner_id or not address_id or not country_id or not state_id:
|
||||
return flag
|
||||
address = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner.address','read',address_id[0],['id','partner_id','state_id','country_id'])
|
||||
vals_res_address={
|
||||
@@ -356,6 +358,8 @@ class XMLRpcConn(object):
|
||||
'mobile' : new_dict['mobile'],
|
||||
'fax' : new_dict['fax'],
|
||||
'zip' : new_dict['zip'],
|
||||
'country_id' : country_id[0],
|
||||
'state_id' : state_id[0]
|
||||
}
|
||||
temp = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner.address', 'write', address_id, vals_res_address)
|
||||
if temp:
|
||||
@@ -385,3 +389,72 @@ class XMLRpcConn(object):
|
||||
obj = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country','read', [country_id], ['id','name'])[0]
|
||||
country_list.append((obj['id'], ustr(obj['name'])))
|
||||
return country_list
|
||||
|
||||
def SearchPartner(self, partner = ""):
|
||||
import win32ui
|
||||
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
|
||||
partner_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner', 'search', [('name','=',ustr(partner))])
|
||||
if not partner_id:
|
||||
return None
|
||||
return partner_id[0]
|
||||
|
||||
def SearchEmailResources(self, mail):
|
||||
import win32ui
|
||||
import eml
|
||||
|
||||
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
|
||||
sub = ""
|
||||
res_vals = []
|
||||
|
||||
try:
|
||||
# new_mail = eml.generateEML(mail)
|
||||
email.SaveAs()
|
||||
message_id = str(new_mail.get('message-id'))
|
||||
except Exception,e:
|
||||
win32ui.MessageBox(str(e),"Mail Reading Error")
|
||||
return None
|
||||
mail_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'mailgate.message', 'search', [('message_id','=',message_id)])
|
||||
if not mail_id:
|
||||
return None
|
||||
address = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'mailgate.message','read',mail_id[0],['model','res_id'])
|
||||
for key, vals in address.items():
|
||||
res_vals.append([key,vals])
|
||||
return res_vals
|
||||
|
||||
|
||||
def GetCountry(self, country_search=''):
|
||||
import win32ui
|
||||
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
|
||||
ids=[]
|
||||
obj_list=[]
|
||||
ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country','search',[('name','ilike',ustr(country_search))])
|
||||
if ids:
|
||||
ids.sort()
|
||||
for id in ids:
|
||||
object = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country','read',[id],['id','name'])[0]
|
||||
obj_list.append((object['id'], ustr(object['name'])))
|
||||
obj_list.sort(lambda x, y: cmp(x[1],y[1]))
|
||||
return obj_list
|
||||
|
||||
def GetStates(self, state_search=''):
|
||||
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
|
||||
ids=[]
|
||||
obj_list=[]
|
||||
ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country.state','search',[('name','ilike',ustr(state_search))])
|
||||
if ids:
|
||||
ids.sort()
|
||||
for id in ids:
|
||||
object = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country.state','read',[id],['id','name'])[0]
|
||||
obj_list.append((object['id'], ustr(object['name'])))
|
||||
obj_list.sort(lambda x, y: cmp(x[1],y[1]))
|
||||
return obj_list
|
||||
def FindCountryForState(self, state_search=''):
|
||||
import win32ui
|
||||
res_vals = []
|
||||
conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
|
||||
ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country.state','search',[('name','=',ustr(state_search))])
|
||||
if not ids:
|
||||
return None
|
||||
object = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country.state','read',ids)[0]
|
||||
country = object['country_id'][1]
|
||||
return country
|
||||
|
||||
Reference in New Issue
Block a user