[MERGE]Thunderbird : Adding SSL to enable the HTTPS connection
authorjam-openerp <jam@tinyerp.com>
Tue, 1 Feb 2011 11:42:39 +0000 (17:12 +0530)
committerjam-openerp <jam@tinyerp.com>
Tue, 1 Feb 2011 11:42:39 +0000 (17:12 +0530)
bzr revid: jam@tinyerp.com-20110201114239-2yqavamfc02p9uyw

addons/thunderbird/plugin/openerp_plugin.xpi
addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar
addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/config.js
addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/config_change_web.xul
addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/exportTools.js
addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/tiny_xmlrpc.js
addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/config_change_web.dtd

index 28e8639..32a5a16 100644 (file)
Binary files a/addons/thunderbird/plugin/openerp_plugin.xpi and b/addons/thunderbird/plugin/openerp_plugin.xpi differ
index a392be1..114cf8c 100644 (file)
Binary files a/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar and b/addons/thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar differ
index e06504b..064f845 100644 (file)
 function config_close()
 {
    window.close("chrome://openerp_plugin/content/config_change.xul", "", "chrome");
-       window.open("chrome://openerp_plugin/content/config.xul", "", "chrome");
+    window.open("chrome://openerp_plugin/content/config.xul", "", "chrome");
 }
 
 //set the value of the configuration fields
 function config_change_load()
 {
-       var s = getServer();
-       var a =s.split(':');
-       if (String(a)=="" || String(a)=="undefined"){
-               document.getElementById('txtcurl').value = "localhost"
-               document.getElementById('txtcport').value = "8069"
-       }
-       else
-       {
-               len = a[1];
-               var url = "";
-               for (i=0;i<len.length;i++)
-               {       if (len[i] == "/")
-                       {
-                               continue
-                       }
-                       url += len[i]
-               }
-               if (String(url) == "" || String(url) == "undefined"){
-                       document.getElementById('txtcurl').value = "localhost"
-               }
-               else
-               {
-                       document.getElementById('txtcurl').value = url
-               }
-
-               if (String(a[2]) == "" || String(a[2]) == "undefined"){
-                       document.getElementById('txtcport').value = "8069"
-                       setPort("8069");
-               }
-               else
-               {
-                       document.getElementById('txtcport').value = a[2]
-                       setPort(a[2]);
-               }
-
-       }
+    var s = getServer();
+    var a =s.split(':');
+    if (String(a)=="" || String(a)=="undefined"){
+        document.getElementById('txtcurl').value = "localhost"
+        document.getElementById('txtcport').value = "8069"
+    }
+    else
+    {
+        len = a[1];
+        var url = "";
+        for (i=0;i<len.length;i++)
+        {   if (len[i] == "/")
+            {
+                continue
+            }
+            url += len[i]
+        }
+        if (String(url) == "" || String(url) == "undefined"){
+            document.getElementById('txtcurl').value = "localhost"
+        }
+        else
+        {
+            document.getElementById('txtcurl').value = url
+        }
+
+        if (String(a[2]) == "" || String(a[2]) == "undefined"){
+            document.getElementById('txtcport').value = "8069"
+            setPort("8069");
+        }
+        else
+        {
+            document.getElementById('txtcport').value = a[2]
+            setPort(a[2]);
+        }
+
+    }
 }
 
 function config_change_load_web()
 {
-       //var s = getServer();
+    //var s = getServer();
     weburl = getWebServerURL();
     webport = getwebPort();
     var urlport = weburl+':'+webport;
-       var a =urlport.split(':');
-       if (String(a)=="" || String(a)=="undefined"){
-               document.getElementById('txtcweburl').value = "localhost"
-               document.getElementById('txtcwebport').value = "8069"
-       }
-       else
-       {
-               len = a[1];
-               var url = "";
-               for (i=0;i<len.length;i++)
-               {       if (len[i] == "/")
-                       {
-                               continue
-                       }
-                       url += len[i]
-               }
-               if (String(url) == "" || String(url) == "undefined"){
-                       document.getElementById('txtcweburl').value = "localhost"
-               }
-               else
-               {
-                       document.getElementById('txtcweburl').value = url
-               }
-
-               if (String(a[2]) == "" || String(a[2]) == "undefined"){
-                       document.getElementById('txtcwebport').value = "8069"
-                       setwebPort("8069");
-               }
-               else
-               {
-                       document.getElementById('txtcwebport').value = a[2]
-                       setwebPort(a[2]);
-               }
-
-       }
+    var a =urlport.split(':');
+    if (String(a)=="" || String(a)=="undefined"){
+        document.getElementById('txtcweburl').value = "localhost"
+        document.getElementById('txtcwebport').value = "8069"
+    }
+    else
+    {
+        len = a[1];
+        var url = "";
+        for (i=0;i<len.length;i++)
+        {   if (len[i] == "/")
+            {
+                continue
+            }
+            url += len[i]
+        }
+        if (String(url) == "" || String(url) == "undefined"){
+            document.getElementById('txtcweburl').value = "localhost"
+        }
+        else
+        {
+            document.getElementById('txtcweburl').value = url
+        }
+
+        if (String(a[2]) == "" || String(a[2]) == "undefined"){
+            document.getElementById('txtcwebport').value = "8069"
+            setwebPort("8069");
+        }
+        else
+        {
+            document.getElementById('txtcwebport').value = a[2]
+            setwebPort(a[2]);
+        }
+
+    }
 }
 
 function config_ok()
 {
-       if (document.getElementById('txtcurl').value == '')
-       {
+    if (document.getElementById('txtcurl').value == '')
+    {
         alert("You Must Enter Server Name!")
-               return false;
+        return false;
       
-       }
-       if (document.getElementById('txtcport').value == '')
-       {
-               alert("You Must Enter Port!")
-               return false;
-       }
-       setServer("http://"+document.getElementById('txtcurl').value +":" + document.getElementById('txtcport').value);
-       window.close("chrome://openerp_plugin/content/config_change.xul", "", "chrome");
+    }
+    if (document.getElementById('txtcport').value == '')
+    {
+        alert("You Must Enter Port!")
+        return false;
+    }
+    setServer("http://"+document.getElementById('txtcurl').value +":" + document.getElementById('txtcport').value);
+    window.close("chrome://openerp_plugin/content/config_change.xul", "", "chrome");
     window.open("chrome://openerp_plugin/content/config.xul", "", "chrome");
 }
 
 function config_ok_web()
 {
-       if (document.getElementById('txtcweburl').value == '')
-       {
+    if (document.getElementById('txtcweburl').value == '')
+    {
         alert("You Must Enter Server Name!")
-               return false;
+        return false;
       
-       }
-       if (document.getElementById('txtcwebport').value == '')
-       {
-               alert("You Must Enter Port!")
-               return false;
-       }
-       setWebServerURL("http://"+document.getElementById('txtcweburl').value +":" + document.getElementById('txtcwebport').value);
-       window.close("chrome://openerp_plugin/content/config_change_web.xul", "", "chrome");
+    }
+    if (document.getElementById('txtcwebport').value == '' && !document.getElementById('lblssl').checked)
+    {
+        alert("You Must Enter Port!")
+        return false;
+    }
+    var protocol = "http://";
+    var port = document.getElementById('txtcwebport').value
+    if(document.getElementById('lblssl').checked) {
+        protocol = "https://";
+        if(port == '') {
+            port = 443
+        }
+    }
+    setWebServerURL(protocol + document.getElementById('txtcweburl').value +":" + port);
+    window.close("chrome://openerp_plugin/content/config_change_web.xul", "", "chrome");
     window.open("chrome://openerp_plugin/content/config.xul", "", "chrome");
 }
 
@@ -139,89 +147,89 @@ function openConfigChangeweb()
 
 function appendDbList()
 {
-       setServerService('xmlrpc/db');
-       getDbList('DBlist');
+    setServerService('xmlrpc/db');
+    getDbList('DBlist');
 }
 
 //set the database list in the listbox in configuration window
 function setDb()
 {
-       var cmbDbList = document.getElementById('listDBListBox');
-       document.getElementById('DBlist').value = cmbDbList.getItemAtIndex(cmbDbList.selectedIndex).value;
+    var cmbDbList = document.getElementById('listDBListBox');
+    document.getElementById('DBlist').value = cmbDbList.getItemAtIndex(cmbDbList.selectedIndex).value;
 }
 
 //stores the value of configuration fields in preferences
 function okClick()
 {
-       if (getDBList()=="false")
-       {
-               if (document.getElementById('DBlist_text').value =='')
-               {
-                       alert("You Must Enter Database Name");
-                       return false;
-               }
-               setDbName(document.getElementById('DBlist_text').value);
-       }
-       else if(document.getElementById('DBlist') != null)
-       {
-               setDbName(document.getElementById('DBlist').value);
-       }
-       setServer(document.getElementById('txturl').value);
-       var s = document.getElementById('txturl').value;
-       var a =s.split(':');
-       setPort(a[a.length-1]);
-       setUsername(document.getElementById('txtusername').value);
-       setPassword(document.getElementById('txtpassword').value);
-       window.close();
+    if (getDBList()=="false")
+    {
+        if (document.getElementById('DBlist_text').value =='')
+        {
+            alert("You Must Enter Database Name");
+            return false;
+        }
+        setDbName(document.getElementById('DBlist_text').value);
+    }
+    else if(document.getElementById('DBlist') != null)
+    {
+        setDbName(document.getElementById('DBlist').value);
+    }
+    setServer(document.getElementById('txturl').value);
+    var s = document.getElementById('txturl').value;
+    var a =s.split(':');
+    setPort(a[a.length-1]);
+    setUsername(document.getElementById('txtusername').value);
+    setPassword(document.getElementById('txtpassword').value);
+    window.close();
 }
 
 //deletes the value of the selected value in the listbox in configuraton menu
 function deleteDocument(){
-       if(document.getElementById("listObjectListBox").selectedItem){
-               var objectlist = getPref().getCharPref("object").split(',');
-               var imagelist = getPref().getCharPref("imagename").split(',');
-               var objlist = getPref().getCharPref("listobject").split(',');
-               if(objectlist.length>0){
-                       var objectcharpref = '';
-                       var imagecharpref = '';
-                       var objcharpref = '';
-                       var nodelist = document.getElementById("listObjectListBox").selectedItem.childNodes
-                       var childnode = document.getElementById("listObjectListBox").childNodes
-                       for(i=2;i<childnode.length;i++){
-                               if(childnode[i].hasChildNodes){
-                                       var secondchild = childnode[i].childNodes;
-                                       if (secondchild[1].getAttribute("label") != nodelist[1].getAttribute("label")){
-                                               objcharpref += secondchild[0].getAttribute("label")+',';
-                                               objectcharpref += secondchild[1].getAttribute("label")+',';
-                                               imagecharpref += secondchild[2].getAttribute("image")+',';
-                                       }
-                               }
-                       }
-                       var demo3 = objectcharpref.substring(0,objectcharpref.length-1);
-                       var demo4 = imagecharpref.substring(0,imagecharpref.length-1);
-                       var demo5 = objcharpref.substring(0,objcharpref.length-1);
-
-                       getPref().setCharPref("listobject",demo5);
-                       getPref().setCharPref("object",demo3);
-                       getPref().setCharPref("imagename",demo4);
-               }
-               document.getElementById("listObjectListBox").removeItemAt(document.getElementById("listObjectListBox").selectedIndex)
-       }
-       else{
-               alert("Please Select Any One Document ");
-       }
+    if(document.getElementById("listObjectListBox").selectedItem){
+        var objectlist = getPref().getCharPref("object").split(',');
+        var imagelist = getPref().getCharPref("imagename").split(',');
+        var objlist = getPref().getCharPref("listobject").split(',');
+        if(objectlist.length>0){
+            var objectcharpref = '';
+            var imagecharpref = '';
+            var objcharpref = '';
+            var nodelist = document.getElementById("listObjectListBox").selectedItem.childNodes
+            var childnode = document.getElementById("listObjectListBox").childNodes
+            for(i=2;i<childnode.length;i++){
+                if(childnode[i].hasChildNodes){
+                    var secondchild = childnode[i].childNodes;
+                    if (secondchild[1].getAttribute("label") != nodelist[1].getAttribute("label")){
+                        objcharpref += secondchild[0].getAttribute("label")+',';
+                        objectcharpref += secondchild[1].getAttribute("label")+',';
+                        imagecharpref += secondchild[2].getAttribute("image")+',';
+                    }
+                }
+            }
+            var demo3 = objectcharpref.substring(0,objectcharpref.length-1);
+            var demo4 = imagecharpref.substring(0,imagecharpref.length-1);
+            var demo5 = objcharpref.substring(0,objcharpref.length-1);
+
+            getPref().setCharPref("listobject",demo5);
+            getPref().setCharPref("object",demo3);
+            getPref().setCharPref("imagename",demo4);
+        }
+        document.getElementById("listObjectListBox").removeItemAt(document.getElementById("listObjectListBox").selectedIndex)
+    }
+    else{
+        alert("Please Select Any One Document ");
+    }
 }
 
 //function to add the image file for the checkbox
 function addFile(){
-       var nsIFilePicker = Components.interfaces.nsIFilePicker;
-       var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
-       fp.init(this, "Select a File", nsIFilePicker.modeOpen);
-       fp.appendFilters(nsIFilePicker.filterImages);
-       var res = fp.show();
-       if (res == nsIFilePicker.returnOK){
-         var thefile = fp.file;
-         document.getElementById("txtimagename").value = thefile.path
-       }
+    var nsIFilePicker = Components.interfaces.nsIFilePicker;
+    var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
+    fp.init(this, "Select a File", nsIFilePicker.modeOpen);
+    fp.appendFilters(nsIFilePicker.filterImages);
+    var res = fp.show();
+    if (res == nsIFilePicker.returnOK){
+      var thefile = fp.file;
+      document.getElementById("txtimagename").value = thefile.path
+    }
 }
 
index 9a46642..fa23a9a 100644 (file)
@@ -2,25 +2,29 @@
 <?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
 <!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/config_change.dtd">
 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-       xmlns:html="http://www.w3.org/1999/xhtml" onload="config_change_load_web()"
-       title="Openerp Connection" height="140" width="240">
+    xmlns:html="http://www.w3.org/1999/xhtml" onload="config_change_load_web()"
+    title="Openerp Connection" height="140" width="240">
 <script type="text/javascript" src="chrome://openerp_plugin/content/tiny_xmlrpc.js"></script>
 <script type="text/javascript" src="chrome://openerp_plugin/content/config.js"></script>
 <script type="text/javascript" src="chrome://openerp_plugin/content/loaddata.js"></script>
 <script type="text/javascript" src="chrome://openerp_plugin/content/static.js"></script>
 <script type="text/javascript" src="chrome://openerp_plugin/content/overlay.js"></script>
-       <hbox>
-        <label  align="center" id="heading"  value="&lblheading.label;" style="padding-left:38px" />
+    <hbox>
+     <label  align="center" id="heading"  value="&lblheading.label;" style="padding-left:38px" />
     </hbox>
 <groupbox id="gpData" width="200">
-       <hbox >
-               <label id="lblurl" control="txtcurl" value="&lblurl.label;" width="50"/>
-               <textbox id="txtcweburl" width="140" />
-       </hbox>
-       <hbox>  
-               <label id="lblport" control="txtcport" value="&lblport.label;" width="50"/>
-               <textbox id="txtcwebport" width="140" />
-       </hbox>
+    <hbox >
+        <label id="lblurl" control="txtcurl" value="&lblurl.label;" width="50"/>
+        <textbox id="txtcweburl" width="140" />
+    </hbox>
+    <hbox>  
+        <label id="lblport" control="txtcport" value="&lblport.label;" width="50"/>
+        <textbox id="txtcwebport" width="140" />
+    </hbox>
+    <hbox>
+
+        <checkbox id="lblssl" label="SSL (https)" checked="false"/>
+    </hbox>
     
 </groupbox>
 <hbox align="right">
index cd3cd90..7da3701 100644 (file)
@@ -196,11 +196,12 @@ function getPredefinedFolder(type) {
 
                var fname = msgDate8601string+"-"+subj+"-"+hdr.messageKey;
        }
-       var rand1=Math.floor(Math.random()*100000)
-       var rand2=Math.floor(Math.random()*100000)
-       fname = rand1+'openerp-eml'+rand2
        setFileName(fname)
        fname = fname.replace(/[\x00-\x19]/g,"_");
+       if (mustcorrectname)
+               fname = nametoascii(fname);
+       else
+               fname = fname.replace(/[\/\\:,<>*\?\"\|]/g,"_");
        return fname;
 }
 
index 84aa939..c32413b 100644 (file)
@@ -612,7 +612,6 @@ function createMenuItem_db(aLabel) {
 //xmlrpc request handler for getting the list of database
 var listDbHandler = {
     onResult: function(client, context, result) {
-        setconnect_server("true")
         netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
         var arrMethodList = result.QueryInterface(Components.interfaces.nsISupportsArray);
                 // Set the number of results
@@ -625,7 +624,7 @@ var listDbHandler = {
         var database = ""
         if (count > 0)
         {
-            setDBList("true")
+            setDBList("true");
             var label = document.getElementById("database_option");
             var vbox = document.createElement("vbox");
             var hbox = document.createElement("hbox");
@@ -658,7 +657,7 @@ var listDbHandler = {
         }
         else
         {
-            setDBList("false")
+            setDBList("false");
         }
         // Loop through the results, adding items to the list
         if (count)
@@ -682,22 +681,18 @@ var listDbHandler = {
 
 
     onFault: function (client, ctxt, fault) {
-        
+        setDBList("false");
     },
 
     onError: function (client, ctxt, status, errorMsg) {
-        if(status == 0) {
-            setconnect_server("true");
-            setDBList("false");
-        }
-        
+        setDBList("false");       
     }
 };
 //function to get the database list
 function getDbList(argControl)
 {
-    setDBList("false")
-    setconnect_server("false")
+    setDBList("false");
+    setconnect_server("true");
     // Enable correct security
     netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
     // Get the instance of the XML-RPC client
@@ -1389,6 +1384,7 @@ function getPartnerList(){
     xmlRpcClient.asyncCall(listPartnerHandler,cmdPartnerList,'execute',[ strDbName,struid,strpass,strobj,strmethod,strvalue ],6);
 }
 
+
 //function to create the xmlrpc supported variables for xmlrpc request
 function dictcontact(a,b){
     var temp = xmlRpcClient.createType(xmlRpcClient.ARRAY,{});
@@ -1844,7 +1840,6 @@ function testConnection(){
 function testConnection_web(){
     var branchobj = getPref();
     weburl = getWebServerURL();
-//    window.open(weburl, "", "chrome","resizable=yes,scrollbars=yes,status=yes");
     var messenger = Components.classes["@mozilla.org/messenger;1"].createInstance();
     messenger = messenger.QueryInterface(Components.interfaces.nsIMessenger);
     messenger.launchExternalURL(weburl);
@@ -1876,6 +1871,7 @@ var listcreateLoginHandler = {
 
 //function to check the login information
 function createConnection(){
+    setconnect_server("true");
     var branchobj = getPref();
     setServerService('xmlrpc/common');
     netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
index 5ec72d0..f241c18 100644 (file)
@@ -1,5 +1,7 @@
 <!ENTITY lblurl.label "Server: ">\r
-<!ENTITY lblport.label "Port: ">
+<!ENTITY lblport.label "Port: ">\r
+<!ENTITY lblssl.label "Use SLL ? ">\r
+
 <!ENTITY lblheading.label "Openerp Connection">\r
 <!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">\r
 <!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">\r