Subversion Repositories oidplus

Rev

Rev 642 | Rev 1036 | Go to most recent revision | View as "text/javascript" | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*
  2.  * OIDplus 2.0
  3.  * Copyright 2019 - 2021 Daniel Marschall, ViaThinkSoft
  4.  *
  5.  * Licensed under the Apache License, Version 2.0 (the "License");
  6.  * you may not use this file except in compliance with the License.
  7.  * You may obtain a copy of the License at
  8.  *
  9.  *     http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17.  
  18. var OIDplusPageAdminOIDInfoExport = {
  19.  
  20.         oid: "1.3.6.1.4.1.37476.2.5.2.4.3.400",
  21.  
  22.         removeMissingOid: function(oid) {
  23.                 $('#missing_oid_'+oid.replace(/\./g,'_')).remove();
  24.         },
  25.  
  26.         importMissingOid: function(oid) {
  27.                 $.ajax({
  28.                         url:"ajax.php",
  29.                         method:"POST",
  30.                         beforeSend: function(jqXHR, settings) {
  31.                                 $.xhrPool.abortAll();
  32.                                 $.xhrPool.add(jqXHR);
  33.                         },
  34.                         complete: function(jqXHR, text) {
  35.                                 $.xhrPool.remove(jqXHR);
  36.                         },
  37.                         data: {
  38.                                 csrf_token: csrf_token,
  39.                                 plugin: OIDplusPageAdminOIDInfoExport.oid,
  40.                                 action: "import_oidinfo_oid",
  41.                                 oid: oid
  42.                         },
  43.                         error:function(jqXHR, textStatus, errorThrown) {
  44.                                 if (errorThrown == "abort") return;
  45.                                 alertError(_L("Error: %1",errorThrown));
  46.                         },
  47.                         success:function(data) {
  48.                                 if ("error" in data) {
  49.                                         alertError(_L("Error: %1",data.error));
  50.                                 } else if (data.status >= 0) {
  51.                                         console.log(_L("Imported OID %1",oid));
  52.                                         OIDplusPageAdminOIDInfoExport.removeMissingOid(oid);
  53.                                 } else {
  54.                                         alertError(_L("Error: %1",data));
  55.                                 }
  56.                         }
  57.                 });
  58.         },
  59.  
  60.         uploadXmlFile: function(file) {
  61.                 var file_data = $('#userfile').prop('files')[0];
  62.  
  63.                 var form_data = new FormData();
  64.                 form_data.append('userfile', file_data);
  65.                 form_data.append('plugin', OIDplusPageAdminOIDInfoExport.oid),
  66.                 form_data.append('action', "import_xml_file");
  67.                 form_data.append('csrf_token', csrf_token);
  68.  
  69.                 $.ajax({
  70.                         url:"ajax.php",
  71.                         method:"POST",
  72.                         processData:false,
  73.                         contentType:false,
  74.                         beforeSend: function(jqXHR, settings) {
  75.                                 $.xhrPool.abortAll();
  76.                                 $.xhrPool.add(jqXHR);
  77.                         },
  78.                         complete: function(jqXHR, text) {
  79.                                 $.xhrPool.remove(jqXHR);
  80.                         },
  81.                         data: form_data,
  82.                         error:function(jqXHR, textStatus, errorThrown) {
  83.                                 if (errorThrown == "abort") return;
  84.                                 alertError(_L("Error: %1",errorThrown));
  85.                         },
  86.                         success:function(data) {
  87.                                 // TODO XXX: (Future feature) If the user decides that existing OIDs shall be overwritten, then we may not print "Ignored OIDs because they are already existing"
  88.                                 if ("error" in data) {
  89.                                         if ("count_imported_oids" in data) {
  90.                                                 // TODO: Device if alertSuccess, alertWarning oder alertError is shown
  91.                                                 alertSuccess(_L("Successfully imported OIDs: %1",data.count_imported_oids)+"\n"+
  92.                                                           _L("Ignored OIDs because they are already existing: %1",data.count_already_existing)+"\n"+
  93.                                                           _L("Not imported because of errors: %1",data.count_errors)+"\n"+
  94.                                                           _L("Warnings: %1",data.count_warnings)+"\n"+
  95.                                                           "\n"+
  96.                                                           _L("Warnings / Error messages:")+"\n"+
  97.                                                           "\n"+
  98.                                                           data.error);
  99.                                         } else {
  100.                                                 alertError(_L("Error: %1",data.error));
  101.                                         }
  102.                                 } else if (data.status >= 0) {
  103.                                         // TODO: Device if alertSuccess, alertWarning oder alertError is shown
  104.                                         alertSuccess(_L("Successfully imported OIDs: %1",data.count_imported_oids)+"\n"+
  105.                                                   _L("Ignored OIDs because they are already existing: %1",data.count_already_existing)+"\n"+
  106.                                                   _L("Not imported because of errors: %1",data.count_errors)+"\n"+
  107.                                                   _L("Warnings: %1",data.count_warnings));
  108.                                         $('#userfile').val('');
  109.                                 } else {
  110.                                         if ("count_imported_oids" in data) {
  111.                                                 // TODO: Device if alertSuccess, alertWarning oder alertError is shown
  112.                                                 alertSuccess(_L("Successfully imported OIDs: %1",data.count_imported_oids)+"\n"+
  113.                                                           _L("Ignored OIDs because they are already existing: %1",data.count_already_existing)+"\n"+
  114.                                                           _L("Not imported because of errors: %1",data.count_errors)+"\n"+
  115.                                                           _L("Warnings: %1",data.count_warnings)+"\n"+
  116.                                                           "\n"+
  117.                                                           _L("Warnings / Error messages:")+"\n"+
  118.                                                           "\n"+
  119.                                                           data/*sic*/);
  120.                                         } else {
  121.                                                 alertError(_L("Error: %1",data));
  122.                                         }
  123.                                 }
  124.                         }
  125.                 });
  126.         },
  127.  
  128.         uploadXmlFileOnSubmit: function() {
  129.                 try {
  130.                         OIDplusPageAdminOIDInfoExport.uploadXmlFile($("#userfile")[0].value);
  131.                 } finally {
  132.                         return false;
  133.                 }
  134.         }
  135.  
  136. };
  137.