Changeset 236 in main


Ignore:
Timestamp:
09/02/10 13:35:14 (12 years ago)
Author:
pcosquer
Message:

plugin thunderbird : handle error (badvalue...)

Location:
trunk/plugins/thunderbird/openplm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/thunderbird/openplm/chrome/content/overlay.js

    r139 r236  
    2929                            return; 
    3030                        } 
    31                         var res = OPENPLM.login(username.value, password.value); 
    32                         if (res["result"] != "ok"){ 
     31                        try{ 
     32                            var res = OPENPLM.login(username.value, password.value); 
     33                            document.getElementById("openplm-checkin-menu-item").disabled = false;   
     34                            document.getElementById("openplm-create-menu-item").disabled = false;   
     35                            return; 
     36                        }catch (er){ 
    3337                            user = username.value; 
    3438                            pw = password.value; 
    3539                            document.getElementById("openplm-checkin-menu-item").disabled = true;   
    3640                            document.getElementById("openplm-create-menu-item").disabled = true;   
    37                             alert(res["error"]); 
    38                         }else{ 
    39                             document.getElementById("openplm-checkin-menu-item").disabled = false;   
    40                             document.getElementById("openplm-create-menu-item").disabled = false;   
    41                             return; 
    42                         } 
     41                            alert(er); 
     42                        } 
     43 
    4344                    } 
    4445                }, 
     
    5859            var rev = document.getElementById("openplm-revision").value; 
    5960            var type = document.getElementById("document-list").value; 
    60  
    61             var docs = OPENPLM.search({"reference" : ref, "revision": rev, "type" : type}); 
    62             var theList = document.getElementById('result-list'); 
    63             while (theList.getRowCount() > 0){ 
    64                 theList.removeItemAt(0); 
    65             } 
    66             for (var i = 0; i < docs.length; i++) 
    67             { 
    68                 var columns = ["type", "reference", "revision", "name",  "id"]; 
    69                 var row = document.createElement('listitem'); 
    70                 columns.forEach( 
    71                         function(col){ 
    72                         var cell = document.createElement('listcell'); 
    73                         cell.setAttribute('label', docs[i][col]); 
    74                         if (col == "id"){ 
    75                         cell.setAttribute('hidden', true); 
    76                         } 
    77                         row.appendChild(cell); 
    78                         }); 
    79                 row.setAttribute("value", docs[i]["id"]); 
    80  
    81                 theList.appendChild(row); 
     61            try { 
     62                var docs = OPENPLM.search({"reference" : ref, "revision": rev, "type" : type}); 
     63                var theList = document.getElementById('result-list'); 
     64                while (theList.getRowCount() > 0){ 
     65                    theList.removeItemAt(0); 
     66                } 
     67                for (var i = 0; i < docs.length; i++) 
     68                { 
     69                    var columns = ["type", "reference", "revision", "name",  "id"]; 
     70                    var row = document.createElement('listitem'); 
     71                    columns.forEach( 
     72                            function(col){ 
     73                            var cell = document.createElement('listcell'); 
     74                            cell.setAttribute('label', docs[i][col]); 
     75                            if (col == "id"){ 
     76                            cell.setAttribute('hidden', true); 
     77                            } 
     78                            row.appendChild(cell); 
     79                            }); 
     80                    row.setAttribute("value", docs[i]["id"]); 
     81 
     82                    theList.appendChild(row); 
     83                } 
     84            } catch (er){ 
     85                alert("Error :" + er); 
    8286            } 
    8387            document.documentElement.getButton("accept").disabled = true;   
     
    110114 
    111115                      if (params.out) { 
    112                           var success = OPENPLM.checkin({"id" : params.out.id}); 
    113                           if (success){ 
    114                               alert("Mails have been successfully checked-in"); 
     116                          try { 
     117                              var success = OPENPLM.checkin({"id" : params.out.id}); 
     118                              if (success){ 
     119                                  alert("Mails have been successfully checked-in"); 
     120                              } 
     121                          }catch (er){ 
     122                              alert("Error :" + er); 
    115123                          } 
    116                       } 
     124                      }  
    117125                  }, 
    118126 
     
    126134 
    127135                     if (params.out) { 
    128                          var success = OPENPLM.create(params.out); 
    129                          if (success){ 
    130                              alert("Document has been successfully created"); 
     136                         try { 
     137                             var success = OPENPLM.create(params.out); 
     138                             if (success){ 
     139                                 alert("Document has been successfully created"); 
     140                             } 
     141                         }catch (er){ 
     142                             alert("Error : " + er); 
    131143                         } 
     144 
     145 
    132146                     } 
    133147                 }, 
     
    138152                        var rows = document.getElementById('fields-list'); 
    139153                        var type = theList.selectedItem.value; 
    140                         var fields = OPENPLM.get_creation_fields(type); 
     154                        try { 
     155                            var fields = OPENPLM.get_creation_fields(type); 
     156                        } catch (er){ 
     157                            alert("Error :" + er); 
     158                        } 
    141159                        var temp = {};  
    142160                        while (rows.childElementCount > 1){ 
     
    178196 
    179197onCreateOK: function(e){ 
    180                  var data = {}; 
    181                  var theList = document.getElementById('document-list'); 
    182                         var rows = document.getElementById('fields-list'); 
    183                         var type = theList.selectedItem.value; 
    184                         data["type"] = type; 
    185                         for (i=1; i < rows.childElementCount; i++){ 
    186                             var child = rows.children[i].lastChild; 
    187                             var value = openplm.getWidgetValue(child); 
    188                             data[child.getUserData("field")["name"]] = value; 
    189                         } 
    190                  window.arguments[0].out = data; 
    191                  return true; 
    192  
    193              }, 
     198                var data = {}; 
     199                var theList = document.getElementById('document-list'); 
     200                var rows = document.getElementById('fields-list'); 
     201                var type = theList.selectedItem.value; 
     202                data["type"] = type; 
     203                for (i=1; i < rows.childElementCount; i++){ 
     204                    var child = rows.children[i].lastChild; 
     205                    var value = openplm.getWidgetValue(child); 
     206                    data[child.getUserData("field")["name"]] = value; 
     207                } 
     208                window.arguments[0].out = data; 
     209                return true; 
     210 
     211            }, 
    194212 
    195213createWidget: function(field){ 
  • trunk/plugins/thunderbird/openplm/modules/openplm.jsm

    r234 r236  
    5858    this.xrequest.open("POST", url, false); 
    5959    this.xrequest.setRequestHeader('User-Agent', 'openplm'); 
    60     this.xrequest.send(params); 
    61     var result = this.xrequest.responseText; 
    62     return JSON.parse(result); 
     60    var result; 
     61    try { 
     62        this.xrequest.send(params); 
     63        var result_json = this.xrequest.responseText; 
     64        result = JSON.parse(result_json); 
     65    }catch (er){ 
     66        throw "can not open " + url; 
     67    } 
     68    if (result["result"] != "ok"){ 
     69        throw result["error"]; 
     70    } 
     71    return result; 
    6372} 
    6473 
     
    7079    this.xrequest.open("GET", url + "?"+params, false); 
    7180    this.xrequest.setRequestHeader('User-Agent', 'openplm'); 
    72     this.xrequest.send(); 
    73     var result = this.xrequest.responseText; 
    74     return JSON.parse(result); 
     81    var result; 
     82    try { 
     83        this.xrequest.send(); 
     84        var result_json = this.xrequest.responseText; 
     85        result = JSON.parse(result_json); 
     86    }catch (er){ 
     87        throw "can not open " + url; 
     88    } 
     89 
     90    if (result["result"] != "ok"){ 
     91        throw result["error"]; 
     92    } 
     93    return result; 
    7594} 
    7695 
Note: See TracChangeset for help on using the changeset viewer.