[IMP] thunderbird
bzr revid: hmo@tinyerp.com-20100911113451-jar0yw3qklcrxfh7
This commit is contained in:
parent
1bf8bcae6f
commit
85d49b3665
|
@ -30,7 +30,7 @@ import tools
|
|||
import binascii
|
||||
class email_server_tools(osv.osv_memory):
|
||||
_inherit = "email.server.tools"
|
||||
def history_message(self, cr, uid, model, res_id, message):
|
||||
def history_message(self, cr, uid, model, res_id, message, context=None):
|
||||
#@param message: string of mail which is read from EML File
|
||||
attachment_pool = self.pool.get('ir.attachment')
|
||||
msg = self.parse_message(message)
|
||||
|
@ -49,7 +49,7 @@ class email_server_tools(osv.osv_memory):
|
|||
return self.history(cr, uid, model, res_id, msg, att_ids)
|
||||
|
||||
def parse_message(self, message):
|
||||
#TOCHECK: put this function in mailgateway
|
||||
#TOCHECK: put this function in mailgateway module
|
||||
msg_txt = email.message_from_string(message)
|
||||
message_id = msg_txt.get('message-id', False)
|
||||
msg = {}
|
||||
|
@ -160,59 +160,72 @@ class thunderbird_partner(osv.osv_memory):
|
|||
server_tools_pool.history_message(cr, uid, model, res_id, msg)
|
||||
return True
|
||||
|
||||
def process_email(self,cr,uid,vals):
|
||||
def process_email(self, cr, uid, vals):
|
||||
dictcreate = dict(vals)
|
||||
model = str(dictcreate.get('model'))
|
||||
message = dictcreate.get('message')
|
||||
return self.pool.get('email.server.tools').process_email(cr, uid, model, message, attach=True, context=None)
|
||||
|
||||
def search_contact(self, cr, user, vals):
|
||||
address_obj = self.pool.get('res.partner.address')
|
||||
partner = address_obj.search(cr, user,[('email','=',vals)])
|
||||
def search_message(self, cr, uid, message, context=None):
|
||||
#@param message: string of mail which is read from EML File
|
||||
#@return model,res_id
|
||||
msg_pool = self.pool.get('mailgate.message')
|
||||
msg = self.pool.get('email.server.tools').parse_message(message)
|
||||
message_id = msg.get('message-id', False)
|
||||
model = False
|
||||
res_id = False
|
||||
if message_id:
|
||||
msg_ids = msg_pool.search(cr, uid, [('message_id','=',message_id)])
|
||||
if msg_ids and len(msg_ids):
|
||||
msg = msg_pool.browse(cr, uid, msg_ids[0])
|
||||
model = msg.model
|
||||
res_id = msg.res_id
|
||||
return (model,res_id)
|
||||
|
||||
def search_contact(self, cr, user, email):
|
||||
address_pool = self.pool.get('res.partner.address')
|
||||
address_ids = address_pool.search(cr, user, [('email','=',email)])
|
||||
res = {}
|
||||
res1 = {}
|
||||
|
||||
if not partner:
|
||||
res1 = {
|
||||
'email': '',
|
||||
}
|
||||
return res1.items()
|
||||
|
||||
if partner:
|
||||
partner=partner[0]
|
||||
data = address_obj.read(cr,user, partner)
|
||||
if not address_ids:
|
||||
res = {
|
||||
'partner_name': data['partner_id'] and data['partner_id'][1] or '',
|
||||
'contactname': data['name'] or '',
|
||||
'street': data['street'] or '',
|
||||
'street2': data['street2'] or '',
|
||||
'zip': data['zip'] or '',
|
||||
'city': data['city'] or '',
|
||||
'country': data['country_id'] and data['country_id'][1] or '',
|
||||
'state': data['state_id'] and data['state_id'][1] or '',
|
||||
'email': data['email'] or '',
|
||||
'phone': data['phone'] or '',
|
||||
'mobile': data['mobile'] or '',
|
||||
'fax': data['fax'] or '',
|
||||
'res_id': str(partner),
|
||||
'email': '',
|
||||
}
|
||||
else:
|
||||
address_id = address_ids[0]
|
||||
address = address_pool.browse(cr, user, address_id)
|
||||
res = {
|
||||
'partner_name': address.partner_id and address.partner_id.name or '',
|
||||
'contactname': address.name,
|
||||
'street': address.street or '',
|
||||
'street2': address.street2 or '',
|
||||
'zip': address.zip or '',
|
||||
'city': address.city or '',
|
||||
'country': address.country_id and address.country_id.name or '',
|
||||
'state': address.state_id and address.state_id.name or '',
|
||||
'email': address.email or '',
|
||||
'phone': address.phone or '',
|
||||
'mobile': address.mobile or '',
|
||||
'fax': address.fax or '',
|
||||
'partner_id': address.partner_id and address.partner_id.id or '',
|
||||
'res_id': str(address.id),
|
||||
}
|
||||
return res.items()
|
||||
|
||||
def update_contact(self,cr,user,vals):
|
||||
def update_contact(self, cr, user, vals):
|
||||
dictcreate = dict(vals)
|
||||
res_id = dictcreate.get('res_id',False)
|
||||
result={}
|
||||
|
||||
if not (dictcreate.get('partner_id')):
|
||||
result = {}
|
||||
address_pool = self.pool.get('res.partner.address')
|
||||
if not (dictcreate.get('partner_id')): # TOCHECK: It should be check res_id or not
|
||||
dictcreate.update({'partner_id': False})
|
||||
create_id = self.pool.get('res.partner.address').create(cr, user, dictcreate)
|
||||
create_id = address_pool.create(cr, user, dictcreate)
|
||||
return create_id
|
||||
|
||||
if res_id:
|
||||
address_obj = self.pool.get('res.partner.address')
|
||||
address_data = address_obj.read(cr, user, int(res_id), [])
|
||||
address_data = address_pool.read(cr, user, int(res_id), [])
|
||||
result = {
|
||||
'partner_id': address_data['partner_id'] and address_data['partner_id'][0] or False,
|
||||
'partner_id': address_data['partner_id'] and address_data['partner_id'][0] or False, #TOFIX: parter_id should take from address_data
|
||||
'country_id': dictcreate['country_id'] and int(dictcreate['country_id'][0]) or False,
|
||||
'state_id': dictcreate['state_id'] and int(dictcreate['state_id'][0]) or False,
|
||||
'name': dictcreate['name'],
|
||||
|
@ -225,7 +238,7 @@ class thunderbird_partner(osv.osv_memory):
|
|||
'mobile': dictcreate['mobile'],
|
||||
'email': dictcreate['email'],
|
||||
}
|
||||
address_obj.write(cr, user,int(res_id),result )
|
||||
address_pool.write(cr, user, int(res_id), result )
|
||||
return True
|
||||
|
||||
def create_partner(self,cr,user,vals):
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -26,7 +26,7 @@
|
|||
<textbox id="txtselectpartner" align="right" width="270" readonly="true"/>
|
||||
<spacer width="5"/>
|
||||
<button label="New Partner" image="&imagecreate.value;" oncommand="CreatePartner.onMenuItemCommand(event);" width="133"/>
|
||||
<button label="Search Partner" image="&imagesearch.value;" oncommand="Select.onMenuItemCommand(event);getPartnerList();" width="128"/>
|
||||
<button label="Search Partner" image="&imagesearch.value;" oncommand="Select.onMenuItemCommand(event);" width="128"/>
|
||||
</hbox>
|
||||
<separator class="groove-thin" orient="horizontal" width="94"/>
|
||||
</groupbox>
|
||||
|
|
|
@ -10,9 +10,9 @@ var MBstrBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"].
|
|||
var mboximportbundle = MBstrBundleService.createBundle("chrome://mboximport/locale/mboximport.properties");
|
||||
//function to get the required details of the selected email
|
||||
|
||||
function searchmail()
|
||||
{
|
||||
setTimeout("createConnection()",5000)
|
||||
function check()
|
||||
{
|
||||
setTimeout("createConnection()",5000)
|
||||
if (getconnect_server() == "false")
|
||||
{
|
||||
alert("Please Login To The Database First !")
|
||||
|
@ -24,7 +24,20 @@ function searchmail()
|
|||
alert("Please install the thunderbird module on your '" + getDbName() +"' database and try again !");
|
||||
return false
|
||||
}
|
||||
var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
|
||||
if(GetNumSelectedMessages() < 1 || GetNumSelectedMessages() > 1){
|
||||
alert("You must select only one mail to archive");
|
||||
return false
|
||||
}
|
||||
return true
|
||||
|
||||
}
|
||||
|
||||
function searchmail()
|
||||
{
|
||||
if (check() == false){
|
||||
return true
|
||||
}
|
||||
var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
|
||||
var version_obj = prefService.getBranch("extensions.");
|
||||
version_obj.QueryInterface(Components.interfaces.nsIPrefBranch2);
|
||||
version = version_obj.getCharPref("lastAppVersion");
|
||||
|
@ -45,11 +58,7 @@ function searchmail()
|
|||
IETexported = 0;
|
||||
var msguri = emlsArray[0];
|
||||
|
||||
if(GetNumSelectedMessages() < 1 || GetNumSelectedMessages() > 1){
|
||||
alert("You must select only one mail to archive");
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
//gives the selected email uri
|
||||
var messageUri= gDBView.URIForFirstSelectedMessage;
|
||||
|
||||
|
@ -83,10 +92,10 @@ function searchmail()
|
|||
sendername = message.author;
|
||||
}
|
||||
if(message.author.indexOf('<')!=-1){
|
||||
senderemail = message.author.split('<')[1].split('>')[0];
|
||||
senderemail = message.author.split('<')[1].split('>')[0];
|
||||
}
|
||||
else{
|
||||
senderemail = message.author
|
||||
senderemail = message.author
|
||||
}
|
||||
|
||||
//gives the receiver email address
|
||||
|
@ -157,46 +166,106 @@ function searchmail()
|
|||
}
|
||||
//function to read the attachment file contents
|
||||
att =getAttachValue()
|
||||
if (getmodule_install() == "no")
|
||||
{
|
||||
alert("Please install the thunderbird module on your '" + getDbName() +"' database and try again !");
|
||||
return false
|
||||
}
|
||||
window.open("chrome://openerp_plugin/content/plugin.xul", "", "chrome, resizable=yes");
|
||||
createInstance(name,test)
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (getmodule_install() == "no")
|
||||
{
|
||||
alert("Please install the thunderbird module on your '" + getDbName() +"' database and try again !");
|
||||
return false
|
||||
}
|
||||
window.open("chrome://openerp_plugin/content/plugin.xul", "", "chrome, resizable=yes");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function open_contact()
|
||||
{
|
||||
setTimeout("createConnection()",5000)
|
||||
if (getconnect_server() == "false")
|
||||
{
|
||||
alert("Please Login To The Database First !")
|
||||
return false;
|
||||
}
|
||||
setTimeout("module_install()", 10000)
|
||||
if (getmodule_install() == "no")
|
||||
{
|
||||
alert("Please install the thunderbird module on your '" + getDbName() +"' database and try again !");
|
||||
return false
|
||||
}
|
||||
if(GetNumSelectedMessages() < 1 || GetNumSelectedMessages() > 1){
|
||||
alert("You must select only one mail For Open Contact Detail");
|
||||
return false
|
||||
var openPartnerHandler = {
|
||||
onResult: function(client, context, result) {
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
|
||||
// var sendername = getSenderEmail();
|
||||
var arrIdList = result.QueryInterface(Components.interfaces.nsISupportsArray);
|
||||
var count = arrIdList.Count();
|
||||
for (i = 0; i < count; i++) {
|
||||
var strlResult = arrIdList.QueryElementAt(i, Components.interfaces.nsISupportsArray);
|
||||
var strlSearchResult = strlResult.QueryElementAt(0, Components.interfaces.nsISupportsCString);
|
||||
var strlSearchResultValue = strlResult.QueryElementAt(1, Components.interfaces.nsISupportsCString);
|
||||
if(strlSearchResult=="email" && strlSearchResultValue=='')
|
||||
{
|
||||
alert("Partner is not Available.");
|
||||
return;
|
||||
}
|
||||
if(strlSearchResult=="partner_id"){
|
||||
partner_id = strlSearchResultValue;
|
||||
weburl = getWebServerURL();
|
||||
var branchobj = getPref();
|
||||
db_name = branchobj.getCharPref("serverdbname");
|
||||
if (weburl == false){
|
||||
weburl = 'http://localhost:8080'
|
||||
}
|
||||
if (partner_id > 0){
|
||||
window.open(weburl + "/model=res.partner&id=" + partner_id)
|
||||
}
|
||||
else{
|
||||
alert("Partner is not Available.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
onFault: function (client, ctxt, fault) {
|
||||
|
||||
},
|
||||
|
||||
onError: function (client, ctxt, status, errorMsg) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function searchPartner(email)
|
||||
{
|
||||
var branchobj = getPref();
|
||||
setServerService('xmlrpc/object');
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
|
||||
arrFinalList = [];
|
||||
var xmlRpcClient = getXmlRpc();
|
||||
var strDbName = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strDbName.data = branchobj.getCharPref("serverdbname");
|
||||
var struid = xmlRpcClient.createType(xmlRpcClient.INT,{});
|
||||
struid.data = branchobj.getIntPref('userid');
|
||||
var strpass = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strpass.data = branchobj.getCharPref("password");
|
||||
var strobj = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strobj.data = 'thunderbird.partner';
|
||||
var strmethod = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strmethod.data = 'search_contact';
|
||||
var strname = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strname.data = email;
|
||||
xmlRpcClient.asyncCall(openPartnerHandler,null,'execute',[ strDbName,struid,strpass,strobj,strmethod,strname ],6);
|
||||
}
|
||||
function open_partner()
|
||||
{
|
||||
if (check() == false){
|
||||
return true
|
||||
}
|
||||
var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
|
||||
var version_obj = prefService.getBranch("extensions.");
|
||||
version_obj.QueryInterface(Components.interfaces.nsIPrefBranch2);
|
||||
version = version_obj.getCharPref("lastAppVersion");
|
||||
version = parseInt(version[0])
|
||||
|
||||
file = getPredefinedFolder(2);
|
||||
|
||||
if (version > 2)
|
||||
{
|
||||
var emlsArray = gFolderDisplay.selectedMessages;
|
||||
}
|
||||
else
|
||||
{
|
||||
var emlsArray = GetSelectedMessages();
|
||||
}
|
||||
|
||||
IETtotal = emlsArray.length;
|
||||
IETexported = 0;
|
||||
var msguri = emlsArray[0];
|
||||
|
||||
|
||||
//gives the selected email uri
|
||||
var messageUri= gDBView.URIForFirstSelectedMessage;
|
||||
|
||||
|
@ -210,39 +279,156 @@ function open_contact()
|
|||
sendername = message.author.split('"')[1].split('"')[0];
|
||||
}
|
||||
else if(message.author.indexOf('<')!=-1){
|
||||
sendername = message.author.split('<')[0];
|
||||
sendername = message.author.split('<')[0];
|
||||
}
|
||||
else{
|
||||
sendername = message.author;
|
||||
sendername = message.author;
|
||||
}
|
||||
if(message.author.indexOf('<')!=-1){
|
||||
senderemail = message.author.split('<')[1].split('>')[0];
|
||||
senderemail = message.author.split('<')[1].split('>')[0];
|
||||
}
|
||||
else{
|
||||
senderemail = message.author
|
||||
senderemail = message.author
|
||||
}
|
||||
searchPartner(senderemail);
|
||||
}
|
||||
var listDocumentHandler = {
|
||||
onResult: function(client, context, result) {
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
|
||||
var res = result.QueryInterface(Components.interfaces.nsISupportsArray);
|
||||
res_id = res.QueryElementAt(1, Components.interfaces.nsISupportsPRInt32);
|
||||
model = res.QueryElementAt(0, Components.interfaces.nsISupportsCString);
|
||||
weburl = getWebServerURL()
|
||||
if (weburl == false){
|
||||
weburl = 'http://localhost:8080'
|
||||
}
|
||||
var branchobj = getPref();
|
||||
db_name = branchobj.getCharPref("serverdbname");
|
||||
window.open(weburl + "/model=" + model +"&id=" + res_id)
|
||||
},
|
||||
onFault: function (client, ctxt, fault) {
|
||||
|
||||
//set the initial information for the selected email
|
||||
setSenderEmail(senderemail);
|
||||
setSenderName(sendername);
|
||||
setPartnerName("");
|
||||
setStreet("");
|
||||
setStreet2("");
|
||||
setZipCode("");
|
||||
setCity("");
|
||||
setOfficenumber("");
|
||||
setFax("");
|
||||
setMobilenumber("");
|
||||
|
||||
if (getmodule_install() == "no")
|
||||
},
|
||||
|
||||
onError: function (client, ctxt, status, errorMsg) {
|
||||
|
||||
}
|
||||
}
|
||||
function open_document()
|
||||
{
|
||||
if (check() == false){
|
||||
return true
|
||||
}
|
||||
var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
|
||||
var version_obj = prefService.getBranch("extensions.");
|
||||
version_obj.QueryInterface(Components.interfaces.nsIPrefBranch2);
|
||||
version = version_obj.getCharPref("lastAppVersion");
|
||||
version = parseInt(version[0])
|
||||
|
||||
file = getPredefinedFolder(2);
|
||||
|
||||
if (version > 2)
|
||||
{
|
||||
alert("Please install the thunderbird module on your '" + getDbName() +"' database and try again !");
|
||||
return false
|
||||
var emlsArray = gFolderDisplay.selectedMessages;
|
||||
}
|
||||
else
|
||||
{
|
||||
var emlsArray = GetSelectedMessages();
|
||||
}
|
||||
|
||||
IETtotal = emlsArray.length;
|
||||
IETexported = 0;
|
||||
var msguri = emlsArray[0];
|
||||
|
||||
|
||||
var branchobj = getPref();
|
||||
setServerService('xmlrpc/object');
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
|
||||
var xmlRpcClient = getXmlRpc();
|
||||
var strDbName = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strDbName.data = branchobj.getCharPref("serverdbname");
|
||||
var struids = xmlRpcClient.createType(xmlRpcClient.INT,{});
|
||||
struids.data = branchobj.getIntPref('userid');
|
||||
var strpass = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strpass.data = branchobj.getCharPref("password");
|
||||
var strmethod = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strmethod.data = 'search_message';
|
||||
var strobj = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strobj.data = 'thunderbird.partner';
|
||||
var eml_string = parse_eml()
|
||||
var a = ['model', 'message'];
|
||||
var b = [object, eml_string];
|
||||
var arrofarr = dictcontact(a,b);
|
||||
xmlRpcClient.asyncCall(listDocumentHandler,null,'execute',[strDbName,struids,strpass,strobj,strmethod,arrofarr],6);
|
||||
}
|
||||
function open_contact()
|
||||
{
|
||||
if (check() == false){
|
||||
return true
|
||||
}
|
||||
|
||||
var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
|
||||
var version_obj = prefService.getBranch("extensions.");
|
||||
version_obj.QueryInterface(Components.interfaces.nsIPrefBranch2);
|
||||
version = version_obj.getCharPref("lastAppVersion");
|
||||
version = parseInt(version[0])
|
||||
|
||||
file = getPredefinedFolder(2);
|
||||
|
||||
if (version > 2)
|
||||
{
|
||||
var emlsArray = gFolderDisplay.selectedMessages;
|
||||
}
|
||||
else
|
||||
{
|
||||
var emlsArray = GetSelectedMessages();
|
||||
}
|
||||
|
||||
IETtotal = emlsArray.length;
|
||||
IETexported = 0;
|
||||
var msguri = emlsArray[0];
|
||||
|
||||
|
||||
//gives the selected email uri
|
||||
var messageUri= gDBView.URIForFirstSelectedMessage;
|
||||
|
||||
var messenger = Components.classes['@mozilla.org/messenger;1'].createInstance(Components.interfaces.nsIMessenger);
|
||||
|
||||
//gives the selected email object
|
||||
var message = messenger.messageServiceFromURI(messageUri).messageURIToMsgHdr(messageUri);
|
||||
|
||||
//functionality to split the author name and email
|
||||
if(message.author.charAt(0) == '"'){
|
||||
sendername = message.author.split('"')[1].split('"')[0];
|
||||
}
|
||||
else if(message.author.indexOf('<')!=-1){
|
||||
sendername = message.author.split('<')[0];
|
||||
}
|
||||
else{
|
||||
sendername = message.author;
|
||||
}
|
||||
if(message.author.indexOf('<')!=-1){
|
||||
senderemail = message.author.split('<')[1].split('>')[0];
|
||||
}
|
||||
else{
|
||||
senderemail = message.author
|
||||
}
|
||||
|
||||
//set the initial information for the selected email
|
||||
setSenderEmail(senderemail);
|
||||
setSenderName(sendername);
|
||||
setPartnerName("");
|
||||
setStreet("");
|
||||
setStreet2("");
|
||||
setZipCode("");
|
||||
setCity("");
|
||||
setOfficenumber("");
|
||||
setFax("");
|
||||
setMobilenumber("");
|
||||
searchContact();
|
||||
}
|
||||
|
||||
|
||||
|
||||
//function to open the configuration window
|
||||
var Config = {
|
||||
onLoad: function() {
|
||||
|
@ -279,18 +465,17 @@ var Create = {
|
|||
}
|
||||
};
|
||||
window.addEventListener("load", function(e) { Create.onLoad(e); }, false);
|
||||
|
||||
|
||||
var Address = {
|
||||
onLoad: function(){
|
||||
this.initialized=true;
|
||||
},
|
||||
|
||||
onMenuItemCommand: function(){
|
||||
open_contact();
|
||||
searchContact();
|
||||
onMenuItemCommand: function(){
|
||||
open_contact();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
//function to open the window for selecting the partner for a new contact creation
|
||||
var Select = {
|
||||
|
@ -298,9 +483,9 @@ var Select = {
|
|||
this.initialized=true;
|
||||
},
|
||||
|
||||
onMenuItemCommand: function(){
|
||||
//document.getElementById("txtselectpartner").value="";
|
||||
window.open("chrome://openerp_plugin/content/selectpartner.xul", "", "chrome");
|
||||
onMenuItemCommand: function(){
|
||||
//document.getElementById("txtselectpartner").value="";
|
||||
window.open("chrome://openerp_plugin/content/selectpartner.xul", "", "chrome");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
image="&menuicon.value;"
|
||||
class="menuitem-iconic"
|
||||
tooltiptext="&pluginconfig.value;"/>
|
||||
</menupopup>
|
||||
</menupopup>
|
||||
|
||||
<menupopup id="taskPopup">
|
||||
<menuitem id="tiny-plugin1" label="&tinypluginconfig;"
|
||||
|
@ -49,13 +49,20 @@
|
|||
label= "Open Contact"
|
||||
oncommand="Address.onMenuItemCommand(event);" />
|
||||
</toolbarpalette>
|
||||
|
||||
<toolbarpalette id="MailToolbarPalette">
|
||||
<toolbarbutton id="GA-button2"
|
||||
class="toolbarbutton-1"
|
||||
image="&partnericon.value;"
|
||||
label= "Open Partner"
|
||||
oncommand="open_partner();"
|
||||
/>
|
||||
</toolbarpalette>
|
||||
<toolbarpalette id="MailToolbarPalette">
|
||||
<toolbarbutton id="GA-button3"
|
||||
class="toolbarbutton-1"
|
||||
image="&imagearchive.value;"
|
||||
label= "Open Document"
|
||||
oncommand="archivemail();" />
|
||||
oncommand="open_document();" />
|
||||
</toolbarpalette>
|
||||
|
||||
|
||||
|
|
|
@ -201,6 +201,10 @@ function setDbName(argDbName){
|
|||
getPref().setCharPref('serverdbname',argDbName);
|
||||
}
|
||||
|
||||
//set webserver url
|
||||
function setWebServerURL(argWebServerURL){
|
||||
getPref().setCharPref('webserverurl',argWebServerURL);
|
||||
}
|
||||
//set preference value of username for login
|
||||
function setUsername(argUsername){
|
||||
getPref().setCharPref('username',argUsername);
|
||||
|
@ -399,6 +403,11 @@ function getDbName(){
|
|||
return getPref().getCharPref('serverdbname');
|
||||
}
|
||||
|
||||
//get webserver url
|
||||
function getWebServerURL(){
|
||||
return getPref().getCharPref('webserverurl');
|
||||
}
|
||||
|
||||
//get username from config settings
|
||||
function getUsername(){
|
||||
return getPref().getCharPref('username');
|
||||
|
@ -459,7 +468,8 @@ function getSenderName(){
|
|||
}
|
||||
}
|
||||
|
||||
//ger partner name
|
||||
|
||||
//get partner name
|
||||
function getPartnerName(){
|
||||
return getPref().getCharPref('partnername');
|
||||
}
|
||||
|
@ -909,31 +919,46 @@ function createMenuItem(aLabel) {
|
|||
}
|
||||
|
||||
|
||||
function listinstallmodule( result ) {
|
||||
if ( rpc.onfault( result ) )
|
||||
{
|
||||
setmodule_install('no')
|
||||
var listinstallmodulehandler = {
|
||||
onResult: function(client, context, result) {
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
|
||||
var arrIdList = result.QueryInterface(Components.interfaces.nsISupportsArray);
|
||||
var count = arrIdList.Count();
|
||||
if (count > 0)
|
||||
{
|
||||
setmodule_install('yes')
|
||||
}
|
||||
|
||||
},
|
||||
onFault: function (client, ctxt, fault) {
|
||||
setmodule_install('no')
|
||||
},
|
||||
|
||||
onError: function (client, ctxt, status, errorMsg) {
|
||||
setmodule_install('no')
|
||||
}
|
||||
}
|
||||
|
||||
function module_install()
|
||||
{
|
||||
setmodule_install("yes")
|
||||
setmodule_install("no")
|
||||
var branchobj = getPref();
|
||||
setServerService('xmlrpc/object');
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
|
||||
var xmlRpcClient = getXmlRpc();
|
||||
strDbName = branchobj.getCharPref("serverdbname");
|
||||
struid = branchobj.getIntPref('userid');
|
||||
strpass = branchobj.getCharPref("password");
|
||||
strmethod = 'search';
|
||||
strobj = 'thunderbird.partner'; // TOFIX: Find module 'thunderbird' into 'module.module' model.
|
||||
var temp = new Array()
|
||||
server=getServer()
|
||||
port=getPort()
|
||||
basicList=getBasicList()
|
||||
rpc.addserver('object',basicList[3] , basicList[4],'/xmlrpc/object');
|
||||
srcids=rpc.ask( 'object', 'execute', [basicList[0],basicList[1],basicList[2],strobj,strmethod,[]],listinstallmodule)
|
||||
var strDbName = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strDbName.data = branchobj.getCharPref("serverdbname");
|
||||
var struid = xmlRpcClient.createType(xmlRpcClient.INT,{});
|
||||
struid.data = branchobj.getIntPref('userid');
|
||||
var strpass = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strpass.data = branchobj.getCharPref("password");
|
||||
var strmethod = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strmethod.data = 'name_search';
|
||||
var strobj = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strobj.data = 'ir.model';
|
||||
var strvalue = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strvalue.data = 'thunderbird.partner';
|
||||
xmlRpcClient.asyncCall(listinstallmodulehandler,null,'execute',[ strDbName,struid,strpass,strobj,strmethod, strvalue],6);
|
||||
}
|
||||
|
||||
|
||||
|
@ -951,7 +976,7 @@ var listSearchContactHandler = {
|
|||
setPartnerName(strlSearchResultValue);
|
||||
var t = getPartnerName();}
|
||||
|
||||
if(strlSearchResult=="contactname"){
|
||||
if(strlSearchResult=="contactname"){
|
||||
setSenderName(strlSearchResultValue);
|
||||
var t = getSenderName();}
|
||||
|
||||
|
@ -1679,6 +1704,16 @@ function createInstance(name,test){
|
|||
}
|
||||
|
||||
//xmlrpc request handler for handling the login information
|
||||
function check_module_install(count){
|
||||
if (getmodule_install() == "no")
|
||||
{
|
||||
if (count <= 0){ return false; }
|
||||
count = count - 1;
|
||||
return check_module_install(count)
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
var listLoginHandler = {
|
||||
onResult: function(client, context, result) {
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
|
||||
|
@ -1686,8 +1721,14 @@ var listLoginHandler = {
|
|||
if(login.type == 12){
|
||||
login = result.QueryInterface(Components.interfaces.nsISupportsPRInt32)
|
||||
setUserId(login.data);
|
||||
alert('Successfully Login To OpenERP.');
|
||||
window.close();
|
||||
module_install();
|
||||
alert('Successfully Login To OpenERP.');
|
||||
if (check_module_install(5) == false){
|
||||
alert("Please install the thunderbird module on your '" + getDbName() +"' database and try again !");
|
||||
}
|
||||
else{
|
||||
window.close();
|
||||
}
|
||||
}
|
||||
else{
|
||||
alert("Login Failed");
|
||||
|
@ -1744,6 +1785,7 @@ function testConnection(){
|
|||
var strpass = xmlRpcClient.createType(xmlRpcClient.STRING,{});
|
||||
strpass.data = getPref().getCharPref('password');
|
||||
xmlRpcClient.asyncCall(listLoginHandler,null,'login',[strDbName,strusername,strpass],3);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
<field name="name">Thunderbird Module Installation</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">thunderbird.installer</field>
|
||||
<field name="view_id" ref="view_thunderbird_wizard"/>
|
||||
<field name="view_id" ref="view_thunderbird_installer"/>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
|
|
Loading…
Reference in New Issue