Explorar el Código

Added new params for settings and info

Avetisyan Karen hace 8 años
padre
commit
5b1970b3ff

BIN
modules/HTTP_Server/fs/info.html


BIN
modules/HTTP_Server/fs/main.js


BIN
modules/HTTP_Server/fs/role.js


BIN
modules/HTTP_Server/fs/settings.html


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 654 - 660
modules/HTTP_Server/fsdata.c


+ 3 - 1
web_interface/src/wui/info.cgi

@@ -13,7 +13,9 @@ JSON = {
   "owner": "Karen",
   "sysLocation": "Moscow",
   "comment": "No comments",
+  "ups_model": "bTttt",
+  "ups_fwversion": "v 0.5.6",
   "utc": "3.0",
   "netsettings_changed": "false"
 }
-print(json.dumps(JSON))
+print(json.dumps(JSON))

+ 10 - 25
web_interface/src/wui/info.html

@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html>
 <html lang="">
 <head>
 <meta charset="utf-8">
@@ -35,23 +35,23 @@
   <tbody>
     <tr>
       <td class="none-border">Время работы</td>
-      <td class="none-border" id="uptime"></td> 
+      <td class="none-border" id="uptime"></td>
     </tr>
     <tr>
       <td>Модель</td>
-      <td id="model"></td> 
+      <td id="model"></td>
     </tr>
     <tr>
       <td>Дата производства</td>
-      <td id="prodate"></td> 
+      <td id="prodate"></td>
     </tr>
     <tr>
       <td>Версия ПО</td>
-      <td id="fwversion"></td> 
+      <td id="fwversion"></td>
     </tr>
     <tr>
       <td>MAC адрес</td>
-      <td id="macaddr"></td> 
+      <td id="macaddr"></td>
     </tr>
     <tr>
       <td>Серийный номер</td>
@@ -82,11 +82,11 @@
     </tr>
     <tr>
       <td>Модель</td>
-      <td id=""></td> 
+      <td id="ups_model"></td>
     </tr>
     <tr>
       <td>Версия ПО</td>
-      <td id=""></td> 
+      <td id="ups_fwversion"></td>
     </tr>
   </tbody>
 </table>
@@ -97,21 +97,6 @@
 </body>
 <script type="text/javascript" src="main.js"></script>
 <script type="text/javascript">
-  getJSON('info.cgi', function(data) {
-    // Cotroller Info
-    $('uptime').innerHTML    = data.uptime;
-    $('model').innerHTML     = data.model;
-    $('prodate').innerHTML   = data.prodate;
-    $('fwversion').innerHTML = data.fwversion;
-    $('macaddr').innerHTML   = data.macaddr;
-    $('serno').innerHTML     = data.serno;
-    $('owner').value         = data.owner;
-    $('location').value      = data.sysLocation;
-    $('comment').value       = data.comment;
-    utcParam                 = data.utc;
-    netsettings_changed      = data.netsettings_changed;
-  }, function(status) {
-    alert('Не удалось получить данные.');
-  });
+  infoGet();
 </script>
-</html>
+</html>

+ 102 - 38
web_interface/src/wui/main.js

@@ -162,18 +162,23 @@ setInterval(netsettings_changedCheck, 100);
 //########## Settings Form ############
 
 function formValidation(){
-  var read_community, write_community,managerIP,managerIP2,managerIP3,managerIP4,managerIP5,ipaddr,gw,mask/*, ntpservip*/;
-
-  read_community   = $('read_community'),
-  write_community    = $('write_community'),
-  managerIP          = $('managerIP'),
-  managerIP2         = $('managerIP2'),
-  managerIP3         = $('managerIP3'),
-  managerIP4         = $('managerIP4'),
-  managerIP5         = $('managerIP5'),
-  ipaddr             = $('ipaddr'),
-  gw                 = $('gw'),
-  mask               = $('mask');
+  var read_community,write_community,managerIP,managerIP2,managerIP3,managerIP4,managerIP5,
+    ipaddr, gw, mask,
+    rs_server, rs_port, rs_key/*, ntpservip*/;
+
+  read_community  = $('read_community'),
+  write_community = $('write_community'),
+  managerIP       = $('managerIP'),
+  managerIP2      = $('managerIP2'),
+  managerIP3      = $('managerIP3'),
+  managerIP4      = $('managerIP4'),
+  managerIP5      = $('managerIP5'),
+  ipaddr          = $('ipaddr'),
+  gw              = $('gw'),
+  mask            = $('mask'),
+  rs_server       = $('rs_server'),
+  rs_port         = $('rs_port'),
+  rs_key          = $('rs_key');
   // ntpservip          = $('ntpservip');
 
   var flag = true;
@@ -182,6 +187,11 @@ function formValidation(){
     if(!ValidateIPaddress(gw,     ' IP-адрес шлюза')) flag = false;
     if(!ValidateIPaddress(mask,   'а Маска подсети')) flag = false;
   }
+  if ($('rs_enabled').checked) {
+    if(!ValidateIPaddress(rs_server, ' IP-адрес RADIUS сервера')) flag = false;
+    if(!ValidateNumber(rs_port, ' Порт RADIUS сервера')) flag = false;
+    if(!ValidateAlphanumeric(rs_key, ' Код атрибута access RADIUS сервера')) flag = false;
+  }
   if(!ValidateIPaddress(managerIP, ' Сервер SNMP 1')) flag = false;
   if(!ValidateAlphanumeric(read_community, 'Read Community')) flag = false;
   if(!ValidateAlphanumeric(write_community, 'Write Community')) flag = false;
@@ -203,35 +213,16 @@ function ValidateIPaddress(ipaddress, z) {
   return false;
 }
 
-function ValidateTemperature(minTemp, maxTemp) {
+function ValidateNumber(n, z) {
   var warn = document.createElement('li');
-  warn.innerHTML = 'Верхняя граница температуры должна превышать нижнюю!';
-  if (Number(minTemp.value) < Number(maxTemp.value)) {
+  warn.innerHTML = 'Неправильно задан' + z + '!';
+  if(/^-?[\d.]+(?:e-?\d+)?$/.test(n.value)) {
     return true;
   }
   $('validation-box').appendChild(warn);
   return false;
 }
 
-function ValidateMinMax(elem, ID, name) {
-  var warn = document.createElement('li');
-  var minValue = elem.options.minimum;
-  var maxValue = elem.options.maximum;
-  var curValue = $(ID).childNodes[0].value;
-  var boolVale = true;
-  if (curValue < minValue) {
-    warn.innerHTML = 'Значение ' + name + ' не может быть ниже ' + minValue;
-    $('validation-box').appendChild(warn);
-    boolVale = false;
-  }
-  else if (curValue > maxValue) {
-    warn.innerHTML = 'Значение ' + name + ' не может быть выше ' + maxValue;
-    $('validation-box').appendChild(warn);
-    boolVale = false;
-  } else { boolVale = true; }
-  return boolVale;
-}
-
 function ValidateAlphanumeric(uadd, z) {
   var warn = document.createElement('li');
   var letter = /^[0-9a-zA-Z]+$/;
@@ -241,6 +232,36 @@ function ValidateAlphanumeric(uadd, z) {
   return false;
 }
 
+// function ValidateTemperature(minTemp, maxTemp) {
+//   var warn = document.createElement('li');
+//   warn.innerHTML = 'Верхняя граница температуры должна превышать нижнюю!';
+//   if (Number(minTemp.value) < Number(maxTemp.value)) {
+//     return true;
+//   }
+//   $('validation-box').appendChild(warn);
+//   return false;
+// }
+
+// function ValidateMinMax(elem, ID, name) {
+//   var warn = document.createElement('li');
+//   var minValue = elem.options.minimum;
+//   var maxValue = elem.options.maximum;
+//   var curValue = $(ID).childNodes[0].value;
+//   var boolVale = true;
+//   if (curValue < minValue) {
+//     warn.innerHTML = 'Значение ' + name + ' не может быть ниже ' + minValue;
+//     $('validation-box').appendChild(warn);
+//     boolVale = false;
+//   }
+//   else if (curValue > maxValue) {
+//     warn.innerHTML = 'Значение ' + name + ' не может быть выше ' + maxValue;
+//     $('validation-box').appendChild(warn);
+//     boolVale = false;
+//   } else { boolVale = true; }
+//   return boolVale;
+// }
+
+
 function submitForms() {
   if (confirm('Вы уверены что хотите применить настройки?')) {
     if ($('ntp-inp')) {
@@ -377,6 +398,19 @@ function dhcpState() {
     $('mask').removeAttribute('disabled');
   }
 }
+function radiusState() {
+  if (!$('rs_enabled').checked) {
+    $('rs_server').setAttribute('disabled', 'disabled');
+    $('rs_port').setAttribute('disabled', 'disabled');
+    $('rs_pwd').setAttribute('disabled', 'disabled');
+    $('rs_key').setAttribute('disabled', 'disabled');
+  } else {
+    $('rs_server').removeAttribute('disabled');
+    $('rs_port').removeAttribute('disabled');
+    $('rs_pwd').removeAttribute('disabled');
+    $('rs_key').removeAttribute('disabled');
+  }
+}
 
 //########## Info Form Validation ############
 
@@ -583,7 +617,7 @@ function getPage(pn){
       tr.appendChild(td[3]);
       $('history_data').appendChild(tr);
     }
-    utcParam = data.utc;
+    // utcParam = data.utc;
     setCookie('netsettings_changed', data.netsettings_changed);
     setCookie('profilaction_changed', data.profilaction_changed);
     setCookie('need_confirm', data.need_confirm);
@@ -725,14 +759,20 @@ function settingsGET(){
     $('managerIP3').value = data.managerIP3;
     $('managerIP4').value = data.managerIP4;
     $('managerIP5').value = data.managerIP5;
-    $('dy_in1').value = +data.dy_in1;
-    $('rel_out1').value = +data.rel_out1;
-    $('rel_out2').value = +data.rel_out2;
+    $('di1').value = +data.di1;
+    $('ro1').value = +data.ro1;
+    $('ro2').value = +data.ro2;
     // Network params
     $('ipaddr').value   = data.ipaddr;
     $('gw').value       = data.gw;
     $('mask').value     = data.mask;
     $('dhcp').checked   = data.dhcp;
+    // RADIUS params
+    $('rs_server').value    = data.rs_server;
+    $('rs_port').value      = data.rs_port;
+    $('rs_pwd').value       = data.rs_pwd;
+    $('rs_key').value       = data.rs_key;
+    $('rs_enabled').checked = data.rs_enabled;
     // DateTime
     if (data.ntpservip != $('ntpservip').options[0].value &&
         data.ntpservip != $('ntpservip').options[1].value &&
@@ -759,6 +799,7 @@ function settingsGET(){
     $('lastsynctime').value = data.lastsynctime;
     $('ntp').value          = data.ntp;
     dhcpState();
+    radiusState();
     timesetType($('ntp'));
     netsettings_changed     = data.netsettings_changed;
     // profilaction_changed    = data.NeedProfilaction;
@@ -769,6 +810,29 @@ function settingsGET(){
 
 // ################################################################################
 
+function infoGet() {
+  getJSON('info.cgi', function(data) {
+    // Cotroller Info
+    $('uptime').innerHTML    = data.uptime;
+    $('model').innerHTML     = data.model;
+    $('prodate').innerHTML   = data.prodate;
+    $('fwversion').innerHTML = data.fwversion;
+    $('macaddr').innerHTML   = data.macaddr;
+    $('serno').innerHTML     = data.serno;
+    $('owner').value         = data.owner;
+    $('location').value      = data.sysLocation;
+    $('comment').value       = data.comment;
+    $('ups_fwversion').innerHTML       = data.ups_fwversion;
+    $('ups_model').innerHTML       = data.ups_model;
+    // utcParam                 = data.utc;
+    netsettings_changed      = data.netsettings_changed;
+  }, function() {
+    alert('Не удалось получить данные.');
+  });
+}
+
+// ################################################################################
+
 /*
 
 SpinBox.js

+ 10 - 6
web_interface/src/wui/settings.cgi

@@ -12,17 +12,21 @@ JSON = {
   "managerIP4":"0.0.0.0",
   "managerIP5":"0.0.0.0",
   "batvoltage_min":42,
-  "batvoltage_min_hist":0.25, 
+  "batvoltage_min_hist":0.25,
   "batcap":7,
   "batcharge_volt":2.275,
   "tempcomp":False,
   "tempcomp_k_buf":3,
   "tempcomp_k_cycle":4,
   "batsym":False,
-  "dy_in1":2,
-  "rel_out1":1,
-  "rel_out2":3,
-  "batcurrlim":False,
+  "di1":2,
+  "ro1":1,
+  "ro2":3,
+  "rs_enabled":True,
+  "rs_server":"127.0.0.1",
+  "rs_port":"1227",
+  "rs_pwd":"12345",
+  "rs_key":"123",
   "ipaddr":"192.168.10.254",
   "gw":"192.168.10.1",
   "mask":"255.255.255.0",
@@ -40,4 +44,4 @@ JSON = {
   "netsettings_changed":"false",
   "NeedProfilaction":"false"
 }
-print(json.dumps(JSON))
+print(json.dumps(JSON))

+ 13 - 25
web_interface/src/wui/settings.html

@@ -103,7 +103,7 @@
           <tr>
             <td>1</td>
             <td>
-              <select name="dy_in1" id="dy_in1" class="form-control">
+              <select name="di1" id="di1" class="form-control">
                 <option value="1">Вкл ИБП</option>
                 <option value="2">SNMP Trap</option>
               </select>
@@ -125,14 +125,8 @@
         <tbody>
           <tr>
             <td>1</td>
-<!--             <td>
-              <select name="rel_type1" id="rel_type1" class="form-control">
-                <option value="no">Нормально открытый</option>
-                <option value="nc">Нормально закрытый</option>
-              </select>
-            </td> -->
             <td>
-              <select name="rel_out1" id="rel_out1" class="form-control">
+              <select name="ro1" id="ro1" class="form-control">
                 <option value="1">Критическая авария</option>
                 <option value="2">Некритическая авария</option>
                 <option value="3">SNMP SET</option>
@@ -141,14 +135,8 @@
           </tr>
           <tr>
             <td>2</td>
-<!--             <td>
-              <select name="rel_type2" id="rel_type2" class="form-control">
-                <option value="no">Нормально открытый</option>
-                <option value="nc">Нормально закрытый</option>
-              </select>
-            </td> -->
             <td>
-              <select name="rel_out2" id="rel_out2" class="form-control">
+              <select name="ro2" id="ro2" class="form-control">
                 <option value="1">Критическая авария</option>
                 <option value="2">Некритическая авария</option>
                 <option value="3">SNMP SET</option>
@@ -229,24 +217,24 @@
     <div class="col span_1_of_2">
       <div class="checkbox col span_2_of_2">
         <label>
-          <input type="checkbox" name="" id=""> Включить
+          <input type="checkbox" name="rs_enabled" id="rs_enabled" onchange="radiusState()"> Включить
         </label>
       </div>
-      <label for="" class="col span_1_of_2">Сервер</label>
+      <label for="rs_server" class="col span_1_of_2">Сервер</label>
       <div class="col span_1_of_2">
-        <input type="text" class="form-control" id="" name="">
+        <input type="text" class="form-control" id="rs_server" name="rs_server">
       </div>
-      <label for="" class="col span_1_of_2">Порт</label>
+      <label for="rs_port" class="col span_1_of_2">Порт</label>
       <div class="col span_1_of_2">
-        <input type="text" class="form-control" id="" name="">
+        <input type="text" class="form-control" id="rs_port" name="rs_port" maxlength="5">
       </div>
-      <label for="" class="col span_1_of_2">Пароль</label>
+      <label for="rs_pwd" class="col span_1_of_2">Пароль</label>
       <div class="col span_1_of_2">
-        <input type="text" class="form-control" id="" name="">
+        <input type="password" class="form-control" id="rs_pwd" name="rs_pwd">
       </div>
-      <label for="" class="col span_1_of_2">Код access</label>
+      <label for="rs_key" class="col span_1_of_2">Код access</label>
       <div class="col span_1_of_2">
-        <input type="text" class="form-control" id="" name="">
+        <input type="password" class="form-control" id="rs_key" name="rs_key">
       </div>
     </div>
   </div>
@@ -368,4 +356,4 @@ $('dev-reboot').onclick = function(){
   };
 };
 </script>
-</html>
+</html>

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio