11.0.0-44.sme Tidy up Nut Panels

This commit is contained in:
John Crisp
2025-07-06 17:25:17 +02:00
parent 305e7b75d2
commit 142c05fbd7
7 changed files with 178 additions and 168 deletions

View File

@@ -3,16 +3,9 @@
%#
<div>
<!-- reetp This needs fixing -->
<!--
<script>
window.onload = function() {
SelectInput();
};
</script>
-->
% if (config->{debug} == 0) {
% if (config->{debug} == 1) {
<pre>
%= dumper $nut_data
</pre>
@@ -38,7 +31,7 @@
%# param 'status' => $nut_data->{status} unless param 'status';
% my @status_options = selected_field([['Disabled' => 'disabled'], ['Enabled' => 'enabled']], $nut_data->{status});
<%= select_field 'status' => @status_options, class => "form-select" %>
<%= select_field 'status' => @status_options, class => "form-select", id => 'status_select' %>
</div>
</div>
@@ -51,139 +44,167 @@
<div class="col-auto">
% my @Nutmode_options = [['Standalone' => 'standalone'], ['Net Server' => 'netserver'], ['Net Client ' => 'netclient']];
% param 'Nutmode' => $nut_data->{Nutmode} unless param 'Nutmode';
<%= select_field 'Nutmode' => @Nutmode_options, class => "form-select" %>
<%= select_field 'Nutmode' => @Nutmode_options, class => "input form-select", id => "Nutmode_select" %>
</div>
</div>
<br><br>
<h2><%=l('nut_if_Net_Server')%></h2>
<div class="masterups">
<div class="secondaryups">
<br>
<h2><%=l('nut_if_Net_Server')%></h2>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputMasterUPSName" class="col-form-label"><%= l ('nut_MasterUPS_UPSNAME@IP') %></label>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputMasterUPSName" class="col-form-label"><%= l ('nut_MasterUPS_UPSNAME@IP') %></label>
</div>
<div class="col-auto">
% param 'MasterUPS_Name' => $nut_data->{MasterUPS_Name} unless param 'MasterUPS_Name';
<input type="text" name="MasterUPS_Name" pattern=".*" size="50" id="inputMasterUPSName" class="form-control" aria-describedby="Master UPS Name" placeholder="<%= 'ups@'. $nut_data->{'localip'} %>" value="<%= $nut_data->{MasterUPS_Name} %>" >
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="MasterUPSPassword" class="col-form-label"><%= l ('nut_MasterUPS_Password') %></label>
</div>
<div class="col-auto">
% param 'MasterUPS_Password' => $nut_data->{MasterUPS_Password} unless param 'MasterUPS_Password';
<input type="password" name="MasterUPS_Password" id="MasterUPSPassword" class="form-control" aria-describedby="Master UPS Password" value="<%= $nut_data->{MasterUPS_Password} %>">
</div>
<!-- reetp fix toggle password -->
<!-- <div class="col-auto">
<span id="togglePassword" class="bi bi-eye"></span>
</div>
-->
</div>
</div>
<div class="col-auto">
% param 'MasterUPS_Name' => $nut_data->{MasterUPS_Name} unless param 'MasterUPS_Name';
<input type="text" name="MasterUPS_Name" pattern=".*" size="50" id="inputMasterUPSName" class="form-control" aria-describedby="Master UPS Name" placeholder="ups@localhost" value="<%= $nut_data->{MasterUPS_Name} %>" >
<div>
<h2>UPS Model</h2>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ('nut_UPS_Model') %>
</div>
<div class="col-auto">
% my @UPS_Model_options = $c->get_model_options();
% param 'UPS_Model' => $nut_data->{UPS_Model} unless param 'UPS_Model';
<%= select_field 'UPS_Model' => \@UPS_Model_options, class => "form-select", id => 'UPS_Model_select' %>
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputUPSDevice" class="col-form-label"><%= l ('nut_UPS_Device') %></label>
</div>
<div class="col-auto">
% param 'UPS_Device' => $nut_data->{UPS_Device} unless param 'UPS_Device';
<input type="text" name="UPS_Device" pattern=".*" size="50" id="inputUPSDevice" class="form-control" aria-describedby="UPS Device" placeholder="auto (for usb)" value="<%= $nut_data->{UPS_Device} %>" >
</div>
</div>
</div>
</div>
<br>
<div class="slaveups">
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="MasterUPSPassword" class="col-form-label"><%= l ('nut_MasterUPS_Password') %></label>
</div>
<div class="col-auto">
% param 'MasterUPS_Password' => $nut_data->{MasterUPS_Password} unless param 'MasterUPS_Password';
<input type="password" name="MasterUPS_Password" id="MasterUPSPassword" class="form-control" aria-describedby="Master UPS Password" value="<%= $nut_data->{MasterUPS_Password} %>">
</div>
<!-- reetp fix toggle password -->
<!-- <div class="col-auto">
<span id="togglePassword" class="bi bi-eye"></span>
</div>
-->
</div>
<h2><%=l('nut_if_Net_Client')%></h2>
<br>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ('nut_UPS_Model') %>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputClientUPSDevice" class="col-form-label"><%= l ('nut_SlaveUPS_UPSNAME@IP') %></label>
</div>
<div class="col-auto">
% param 'ClientUPS_Name' => $nut_data->{ClientUPS_Name} unless param 'ClientUPS_Name';
<input type="text" name="ClientUPS_Name" pattern=".*" size="50" id="inputClientUPSDevice" class="form-control" aria-describedby="Client UPS Name" placeholder="upsname@IP[:port]" value="<%= $nut_data->{ClientUPS_Name} %>" >
</div>
</div>
<div class="col-auto">
% my @UPS_Model_options = $c->get_model_options();
% param 'UPS_Model' => $nut_data->{UPS_Model} unless param 'UPS_Model';
%= select_field 'UPS_Model' => \@UPS_Model_options, class => "form-select"
</div>
</div>
<br>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputUPSDevice" class="col-form-label"><%= l ('nut_UPS_Device') %></label>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="ClientUPSUsername" class="col-form-label"><%= l ('nut_ClientUPS_Username') %></label>
</div>
<div class="col-auto">
% param 'ClientUPS_User' => $nut_data->{ClientUPS_User} unless param 'ClientUPS_User';
<input type="password" name="ClientUPS_User" id="ClientUPSUsername" class="form-control" aria-describedby="Client UPS Username" value="<%= $nut_data->{ClientUPS_User} %>" >
</div>
</div>
<div class="col-auto">
% param 'UPS_Device' => $nut_data->{UPS_Device} unless param 'UPS_Device';
<input type="text" name="UPS_Device" pattern=".*" size="50" id="inputUPSDevice" class="form-control" aria-describedby="UPS Device" placeholder="auto (for usb)" value="<%= $nut_data->{UPS_Device} %>" >
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="ClientUPSPassword" class="col-form-label"><%= l ('nut_ClientUPS_Password') %></label>
</div>
<div class="col-auto">
% param 'ClientUPS_Pass' => $nut_data->{ClientUPS_Pass} unless param 'ClientUPS_Pass';
<input type="password" name="ClientUPS_Pass" id="ClientUPSPassword" class="form-control" aria-describedby="Client UPS Password" value="<%= $nut_data->{ClientUPS_Pass} %>" >
</div>
<!-- reetp fix toggle password -->
<!-- <div class="col-auto">
<span id="togglePassword" class="bi bi-eye"></span>
</div>
-->
</div>
</div>
<br><br>
<h2><%=l('nut_if_Net_Client')%></h2>
<div class="generics">
<br>
<h2><%=l('nut_if_genericups')%></h2>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputSlaveUPSDevice" class="col-form-label"><%= l ('nut_SlaveUPS_UPSNAME@IP') %></label>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputUPSGenericType" class="col-form-label"><%= l ('nut_UPS_Generic_Type') %></label>
</div>
<div class="col-auto">
% param 'UPS_gen_Type' => $nut_data->{UPS_gen_Type} unless param 'UPS_gen_Type';
<input type="text" name="UPS_gen_Type" pattern=".*" size="50" id="inputUPSGenericType" class="form-control" aria-describedby="UPS Generic Type" placeholder="UPS_Gen_Type" value="<%= $nut_data->{UPS_gen_Type} %>" >
</div>
</div>
<div class="col-auto">
% param 'SlaveUPS_Name' => $nut_data->{SlaveUPS_Name} unless param 'SlaveUPS_Name';
<input type="text" name="SlaveUPS_Name" pattern=".*" size="50" id="inputSlaveUPSDevice" class="form-control" aria-describedby="Slave UPS Name" placeholder="upsname@IP" value="<%= $nut_data->{SlaveUPS_Name} %>" >
</div>
</div>
<br>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="SlaveUPSPassword" class="col-form-label"><%= l ('nut_SlaveUPS_Password') %></label>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputUPSManufacturer" class="col-form-label"><%= l ('nut_UPS_Generic_Manufacturer') %></label>
</div>
<div class="col-auto">
% param 'UPS_gen_Mfr' => $nut_data->{UPS_gen_Mfr} unless param 'UPS_gen_Mfr';
<input type="text" name="UPS_gen_Mfr" pattern=".*" size="50" id="inputUPSManufacturer" class="form-control" aria-describedby="UPS Generic Manufacturer" placeholder="UPS_sen_Mfr" value="<%= $nut_data->{UPS_gen_Mfr} %>" >
</div>
</div>
<div class="col-auto">
% param 'SlaveUPS_Pass' => $nut_data->{SlaveUPS_Pass} unless param 'SlaveUPS_Pass';
<input type="password" name="SlaveUPS_Pass" id="SlaveUPSPassword" class="form-control" aria-describedby="Slave UPS Password" value="<%= $nut_data->{SlaveUPS_Pass} %>">
</div>
<!-- reetp fix toggle password -->
<!-- <div class="col-auto">
<span id="togglePassword" class="bi bi-eye"></span>
</div>
-->
</div>
<br><br>
<br>
<h2><%=l('nut_if_genericups')%></h2>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputUPSGenericType" class="col-form-label"><%= l ('nut_UPS_Generic_Type') %></label>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputUPSModel" class="col-form-label"><%= l ('nut_UPS_Generic_Model') %></label>
</div>
<div class="col-auto">
% param 'UPS_gen_Model' => $nut_data->{UPS_gen_Model} unless param 'UPS_gen_Model';
<input type="text" name="UPS_gen_Model" pattern=".*" size="50" id="inputUPSModel" class="form-control" aria-describedby="UPS Generic Model" placeholder="UPS_gen_Model" value="<%= $nut_data->{UPS_gen_Model} %>" >
</div>
</div>
<div class="col-auto">
% param 'UPS_gen_Type' => $nut_data->{UPS_gen_Type} unless param 'UPS_gen_Type';
<input type="text" name="UPS_gen_Type" pattern=".*" size="50" id="inputUPSGenericType" class="form-control" aria-describedby="UPS Generic Type" placeholder="UPS_Gen_Type" value="<%= $nut_data->{UPS_gen_Type} %>" >
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputUPSManufacturer" class="col-form-label"><%= l ('nut_UPS_Generic_Manufacturer') %></label>
</div>
<div class="col-auto">
% param 'UPS_gen_Mfr' => $nut_data->{UPS_gen_Mfr} unless param 'UPS_gen_Mfr';
<input type="text" name="UPS_gen_Mfr" pattern=".*" size="50" id="inputUPSManufacturer" class="form-control" aria-describedby="UPS Generic Manufacturer" placeholder="UPS_sen_Mfr" value="<%= $nut_data->{UPS_gen_Mfr} %>" >
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="inputUPSModel" class="col-form-label"><%= l ('nut_UPS_Generic_Model') %></label>
</div>
<div class="col-auto">
% param 'UPS_gen_Model' => $nut_data->{UPS_gen_Model} unless param 'UPS_gen_Model';
<input type="text" name="UPS_gen_Model" pattern=".*" size="50" id="inputUPSModel" class="form-control" aria-describedby="UPS Generic Model" placeholder="UPS_gen_Model" value="<%= $nut_data->{UPS_gen_Model} %>" >
</div>
</div>
<br>
@@ -199,8 +220,8 @@
</div>
</div>
%# Probably finally by a submit.
</form>
<br>
</div>

View File

@@ -3,37 +3,36 @@
%#
<div>
<!--
<!--
<script>
window.onload = function() {
SelectInput();
};
</script>
-->
-->
% if (config->{debug} == 1) {
<pre>
%= dumper $nut_data
<%= dumper $nut_data %>
</pre>
% }
% my $btn = l('nut_APPLY');
%= form_for "nutupsu" => (method => 'POST') => begin
<form action="/smanager/nutupsu" method="POST">
% param 'trt' => $nut_data->{trt} unless param 'trt';
%= hidden_field 'trt' => $nut_data->{trt}
<%= hidden_field 'trt' => $nut_data->{trt} %>
%# Inputs etc in here.
<div class="">
<a href='nutupsd?trt=CONFIG' class="">
%= l('nut_Configure_NutUPS')
</a>
<div>
<a href='nutupsd?trt=CONFIG'>
<%= l ('nut_Configure_NutUPS') %>
</a>
%#= link_to l('nut_Configure_NutUPS'), 'nutupsd?trt=CONFIG' , class=> 'link link1'
</div>
<br>
<h2><%= l ('nut_Status_of_the_controlled_UPS')%></h2>
@@ -41,7 +40,9 @@
<%= l ('nut_Descriptive_paragraph') %>
</div>
<!--
<br>
<!--
<span class="">
%=l('nut_Status_(from_upsc)')
</span>
@@ -50,10 +51,11 @@
%= text_area 'UPSStatus', cols=>55, rows=>35, Readonly=>'true'
</span>
<br>
-->
-->
%= include 'partials/_nut_UPS_STATUS'
<%= include 'partials/_nut_UPS_STATUS' %>
%# Probably finally by a submit.
%end
</form>
</div>

View File

@@ -1,11 +1,9 @@
<h1>UPS Status</h1>
%= stylesheet '/css/nut_ups-status-page.css'
<h2>UPS Status</h2>
<div class="container-md">
<div>
<h2>Device Information</h2>
<table class="table table-bordered">
<table class="table table-bordered nutTable">
<tr>
<td>Manufacturer:</td>
<td><%= $nut_data->{'ups_data'}->{'device.mfr'} %></td>
@@ -29,7 +27,7 @@
<div>
<h2>Battery Status</h2>
<table class="table table-bordered">
<table class="table table-bordered nutTable">
<tr>
<td>Charge:</td>
<td><%= $nut_data->{'ups_data'}->{'battery.charge'} %>%</td>
@@ -53,7 +51,7 @@
<div>
<h2>Input Power</h2>
<table class="table table-bordered">
<table class="table table-bordered nutTable">
<tr>
<td>Voltage:</td>
<td><%= $nut_data->{'ups_data'}->{'input.voltage'} %>V</td>
@@ -81,7 +79,7 @@
<div>
<h2>UPS Status</h2>
<table class="table table-bordered">
<table class="table table-bordered nutTable">
<tr>
<td>Status:</td>
<td><%= $nut_data->{'ups_data'}->{'ups.status'} %></td>