diff --git a/addons/thunderbird/partner/partner.py b/addons/thunderbird/partner/partner.py index 1c028a9e019..3ce4c8ee53e 100644 --- a/addons/thunderbird/partner/partner.py +++ b/addons/thunderbird/partner/partner.py @@ -182,12 +182,10 @@ class thunderbird_partner(osv.osv_memory): #@param message: string of mail which is read from EML File #@return model,res_id dictcreate = dict(message) - message = dictcreate.get('message') + message_id = dictcreate.get('message_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 + model = '' + res_id = 0 if message_id: msg_ids = msg_pool.search(cr, uid, [('message_id','=',message_id)]) if msg_ids and len(msg_ids): @@ -196,6 +194,7 @@ class thunderbird_partner(osv.osv_memory): 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)]) diff --git a/addons/thunderbird/plugin/openerp_plugin.xpi b/addons/thunderbird/plugin/openerp_plugin.xpi index 4215a6defc2..d12aeac69e5 100644 Binary files a/addons/thunderbird/plugin/openerp_plugin.xpi and b/addons/thunderbird/plugin/openerp_plugin.xpi differ diff --git a/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar b/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar index fc279a42790..51681af30e5 100644 Binary files a/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar and b/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar differ diff --git a/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/overlay.js b/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/overlay.js index f9cbb820332..cba4b450ca9 100755 --- a/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/overlay.js +++ b/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/overlay.js @@ -301,10 +301,17 @@ var listDocumentHandler = { res_id = res.QueryElementAt(1, Components.interfaces.nsISupportsPRInt32); model = res.QueryElementAt(0, Components.interfaces.nsISupportsCString); weburl = getWebServerURL(); - - var t = weburl + "/openerp/form/view?model=" + model +"&id=" + res_id; - window.open(t, "", "chrome","resizable=yes,scrollbars=yes,status=yes,"); - + if(res_id==0) + { + alert("Document is not available."); + return; + } + else + { + var t = weburl + "/openerp/form/view?model=" + model +"&id=" + res_id; + window.open(t, "", "chrome","resizable=yes,scrollbars=yes,status=yes,"); + } + }, onFault: function (client, ctxt, fault) { @@ -341,7 +348,15 @@ function open_document() 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); + var branchobj = getPref(); setServerService('xmlrpc/object'); @@ -357,9 +372,8 @@ function open_document() strmethod.data = 'search_message'; var strobj = xmlRpcClient.createType(xmlRpcClient.STRING,{}); strobj.data = 'thunderbird.partner'; - var eml_string = parse_eml() - var a = ['message']; - var b = [eml_string]; + var a = ['message_id']; + var b = ['<'+message.messageId+'>']; var arrofarr = dictcontact(a,b); xmlRpcClient.asyncCall(listDocumentHandler,null,'execute',[strDbName,struids,strpass,strobj,strmethod,arrofarr],6); } diff --git a/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/tiny_xmlrpc.js b/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/tiny_xmlrpc.js index 34d42c77aa5..edec181da0d 100755 --- a/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/tiny_xmlrpc.js +++ b/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/tiny_xmlrpc.js @@ -1439,7 +1439,6 @@ function parse_eml(){ } name = fpath + getFileName() +".eml" - var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); file.initWithPath( name ); if ( file.exists() == false ) {