Edit template for controller - Refine params copy and bring DB opens up to spec with UTF8

This commit is contained in:
2025-10-06 10:57:00 +01:00
parent 29f8de63fd
commit ecb846fc6c
119 changed files with 10059 additions and 36 deletions

View File

@@ -0,0 +1,232 @@
%#
%# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-01-20 16:21:33
%#
<div>
% if (config->{debug} == 1) {
<pre>
%= dumper $nut_data
</pre>
% }
<form action="/smanager/nutupsu" method="POST">
%# Inputs etc in here.
<!-- reetp - autocomplete="off" ? -->
<h2><%=l("nut_Manage_Nutups-config_settings:")%></h2>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("nut_Nut_status") %>
</div>
<div class="col-auto">
%# my @status_options = [["Disabled" => "disabled"], ["Enabled" => "enabled"]];
%# 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", id => "status_select" %>
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("nut_Nut_mode") %>
</div>
<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 => "input form-select", id => "Nutmode_select" %>
</div>
</div>
<br><br>
<div class="masterups">
<div class="secondaryups">
<h2><%=l("nut_if_Net_Server")%></h2>
<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";
<%= "ups@". $nut_data->{"localip"} %>
</div>
</div>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l ("nut_SlaveUPS_User") %>
</div>
<div class="col-auto">
<%= "upssecondary" %>
</div>
</div>
<div class="row g-3 align-items-center">
<div class="col-md-1">
%=l("nut_SlaveUPS_Password")
</div>
<div class="col-auto">
<%= $nut_data->{"SlaveUPS_Pass"}%>
</div>
</div>
<br>
</div>
<br>
<div>
<h2><%= l ("nut_UPS_Device") %></h2>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="UPS_Model_select" class="col-form-label"><%= l ("nut_UPS_Model") %></label>
</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>
<div class="slaveups">
<h2><%=l("nut_if_Net_Client")%></h2>
<br>
<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>
<br>
<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="text" name="ClientUPS_User" id="ClientUPSUsername" class="form-control" aria-describedby="Client UPS Username" placeholder="Client username" value="<%= $nut_data->{ClientUPS_User} %>" >
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<label for="password" 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="password" class="form-control" aria-describedby="Client UPS Password" placeholder="Client password" value="<%= $nut_data->{ClientUPS_Pass} %>" >
</div>
<div class="col-auto">
<span id="togglePassword" class="bi bi-eye"></span>
</div>
</div>
</div>
<br><br>
<div class="generics">
<h2><%=l("nut_if_genericups")%></h2>
<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>
<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>
</div>
<br>
% param "trt" => $nut_data->{trt} unless param "trt";
<%= hidden_field "trt" => $nut_data->{trt} %>
% my $btn = l ("Save");
<div class="row g-3 align-items-center">
<div class="col-md-1">
<button type="submit" class="btn btn-primary btn-sm"><%= $btn %></button>
</div>
</div>
</form>
<br>
</div>

View File

@@ -0,0 +1,60 @@
%#
%# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-01-20 16:21:33
%#
<div>
<!--
<script>
window.onload = function() {
SelectInput();
};
</script>
-->
% if (config->{debug} == 1) {
<pre>
<%= dumper $nut_data %>
</pre>
% }
% my $btn = l("Apply");
<form action="/smanager/nutupsu" method="POST">
% param "trt" => $nut_data->{trt} unless param "trt";
<%= hidden_field "trt" => $nut_data->{trt} %>
%# Inputs etc in here.
<div>
<a href="nutupsd?trt=CONFIG" class = "btn btn-sm btn-primary">
<%= l ("nut_Configure_NutUPS") %>
</a>
</div>
<br>
<h2><%= l ("nut_Status_of_the_controlled_UPS")%></h2>
<div >
<%= l ("nut_Descriptive_paragraph") %>
</div>
<br>
<!--
<span class="">
%=l("nut_Status_(from_upsc)")
</span>
<span class="">
% param "UPSStatus" => $nut_data->{UPSStatus} unless param "UPSStatus";
%= text_area "UPSStatus", cols=>55, rows=>35, Readonly=>"true"
</span>
<br>
-->
<%= include "partials/_nut_UPS_STATUS" %>
%# Probably finally by a submit.
</form>
</div>

View File

@@ -0,0 +1,136 @@
%#
%# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-01-20 16:21:33
%#
<div id="Nutups-CONFIG" class="partial Nutups-CONFIG">
<script>
window.onload = function() {
SelectInput();
};
</script>
% if (config->{debug} == 1) {
<pre>
%= dumper $nut_data
</pre>
% }
% my $btn = l("Apply");
%= form_for "nutupsu" => (method => "POST") => (autocomplete => "off" ) => begin
% param "trt" => $nut_data->{trt} unless param "trt";
%= hidden_field "trt" => $nut_data->{trt}
%# Inputs etc in here.
<h2 class="subh2"><%=l("nut_Manage_Nutups-config_settings:")%></h2>
<p><span class=label>
%=l("nut_Nut_status")
</span><span class=data>
%# my @status_options = [["Disabled" => "disabled"], ["Enabled" => "enabled"]];
%# 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 => "input", id => "status_select"
<br></span> </p>
<p><span class=label>
%=l("nut_Nut_mode")
</span><span class=data>
% 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 => "input", id => "Nutmode_select"
<br></span> </p>
<div class=masterups>
<div class=secondaryups>
<h2 class="subh3"><%=l("nut_if_Net_Server")%></h2>
<p><span class=label>
%=l("nut_MasterUPS_UPSNAME@IP")
</span><span class=data>
% param "MasterUPS_Name" => $nut_data->{MasterUPS_Name} unless param "MasterUPS_Name";
%= "ups@". $nut_data->{"localip"}
<br></span></p>
<p><span class="label">
%=l("nut_SlaveUPS_User")
</span><span class=data>
%= "upssecondary"
</span></p>
<p><span class="label">
%=l("nut_SlaveUPS_Password")
</span><span class=data>
<%= $nut_data->{"SlaveUPS_Pass"}%>
</span></p>
</div>
<div>
<h2><%= l ("nut_UPS_Device") %></h2>
<p><span class=label>
%=l("nut_UPS_Model")
</span><span class=data>
% 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 => "input", id => "UPS_Model_select"
<br></span> </p>
<p><span class=label>
%=l("nut_UPS_Device")
</span><span class=data>
% param "UPS_Device" => $nut_data->{UPS_Device} unless param "UPS_Device";
%= text_field "UPS_Device", size => "50", class => "textinput UPS_Device" , pattern=>".*" , placeholder=>"auto (for usb)"
<br></span></p>
</div>
</div>
<div class=slaveups>
<h2 class="subh4"><%=l("nut_if_Net_Client")%></h2>
<p><span class=label>
%=l("nut_SlaveUPS_UPSNAME@IP")
</span><span class=data>
% param "ClientUPS_Name" => $nut_data->{ClientUPS_Name} unless param "ClientUPS_Name";
%= text_field "ClientUPS_Name", size => "50", class => "textinput ClientUPS_Name" , pattern=>".*" , placeholder=>"upsname@IP[:port]"
<br></span></p>
<p><span class="label">
%=l("nut_ClientUPS_Username")
</span><span class=data>
% param "ClientUPS_User" => $nut_data->{ClientUPS_User} unless param "ClientUPS_User";
%=text_field "ClientUPS_User", class => "textinput"
</span></p>
<p><span class="label">
%=l("nut_ClientUPS_Password")
</span><span class=data>
% param "ClientUPS_Pass" => $nut_data->{ClientUPS_Pass} unless param "ClientUPS_Pass";
%=password_field "ClientUPS_Pass", class => "pass4 sme-password", autocomplete => "off"
</span></p>
</div>
<div class=generics>
<h2 class="subh5"><%=l("nut_if_genericups")%></h2>
<p><span class=label>
%=l("nut_UPS_Generic_Type")
</span><span class=data>
% param "UPS_gen_Type" => $nut_data->{UPS_gen_Type} unless param "UPS_gen_Type";
%= text_field "UPS_gen_Type", size => "50", class => "textinput UPS_gen_Type" , pattern=>".*" , placeholder=>"UPS_gen_Type"
<br></span></p>
<p><span class=label>
%=l("nut_UPS_Generic_Manufacturer")
</span><span class=data>
% param "UPS_gen_Mfr" => $nut_data->{UPS_gen_Mfr} unless param "UPS_gen_Mfr";
%= text_field "UPS_gen_Mfr", size => "50", class => "textinput UPS_gen_Mfr" , pattern=>".*" , placeholder=>"UPS_gen_Mfr"
<br></span></p>
<p><span class=label>
%=l("nut_UPS_Generic_Model")
</span><span class=data>
% param "UPS_gen_Model" => $nut_data->{UPS_gen_Model} unless param "UPS_gen_Model";
%= text_field "UPS_gen_Model", size => "50", class => "textinput UPS_gen_Model" , pattern=>".*" , placeholder=>"UPS_gen_Model"
<br></span></p>
</div>
<span class="data">
%= submit_button l("Save"), class => "action subm12"
</span>
%# Probably finally by a submit.
%end
</div>

View File

@@ -0,0 +1,83 @@
%#
%# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-01-20 16:21:33
%#
<div id="Nutups-STATUS" class="partial Nutups-STATUS">
<script>
window.onload = function() {
SelectInput();
};
</script>
% if (config->{debug} == 1) {
<pre>
%= dumper $nut_data
</pre>
% }
% my $btn = l("Apply");
%= form_for "nutupsu" => (method => "POST") => begin
% param "trt" => $nut_data->{trt} unless param "trt";
%= hidden_field "trt" => $nut_data->{trt}
%# Inputs etc in here.
<div class=inline-buttons>
<a href="nutupsd?trt=CONFIG" class="link link1">
%= l("nut_Configure_NutUPS")
</a>
%#= link_to l("nut_Configure_NutUPS"), "nutupsd?trt=CONFIG" , class=>"link link1"
</div>
<h2 class="subh1"><%=l("nut_Status_of_the_controlled_UPS")%></h2>
<p class="paragraph para1">
%=l("nut_Descriptive_paragraph")
</p>
<br />
<!--
<span class=label>
%=l("nut_Status_(from_upsc)")
</span><span class=data>
% param "UPSStatus" => $nut_data->{UPSStatus} unless param "UPSStatus";
%= text_area "UPSStatus", cols=>55, rows=>35, Readonly=>"true"
</span><br>
-->
<span class=label>
%=l("nut_Nut_mode")
</span><span class=data>
%= $nut_data->{Nutmode}
</span><br>
% if ($nut_data->{Nutmode} eq "nutserver") {
<div class=secondaryups>
<p><span class=label>
%=l("nut_MasterUPS_UPSNAME@IP")
</span><span class=data>
% param "MasterUPS_Name" => $nut_data->{MasterUPS_Name} unless param "MasterUPS_Name";
%= "ups@". $nut_data->{"localip"}
<br></span></p>
<p><span class="label">
%=l("nut_SlaveUPS_User")
</span><span class=data>
%= "upssecondary"
</span></p>
<p><span class="label">
%=l("nut_SlaveUPS_Password")
</span><span class=data>
<%= $nut_data->{"SlaveUPS_Pass"}%>
</span></p>
</div>
% }
%= include "partials/_nut_UPS_STATUS"
%# Probably finally by a submit.
%end
</div>

View File

View File

@@ -0,0 +1,30 @@
#
# Lex file for Nutups generated on 2025-07-17 09:52:27
#
'nut_ClientUPS_Password' => 'Client UPS password',
'nut_ClientUPS_Username' => 'Client UPS username',
'nut_CONFIG_panel_action_was_successful' => 'CONFIG panel action was successful',
'nut_Configure_NutUPS' => 'Configure NutUPS',
'nut_Descriptive_paragraph' => 'You can use your UPS connected directly to your server in a standalone mode or you can act as a Primary whereby other servers can also react to the status of your connected UPS, or you can connect to another server as a Secondary and react to the status of the UPS connected to that server.',
'nut_Error_Status_Report' => 'Error Status Report',
'nut_if_genericups' => 'Generic UPS details',
'nut_if_Net_Client' => 'Net Client details',
'nut_if_Net_Server' => 'Net Server details',
'nut_Manage_Nutups-config_settings:' => 'Manage Nutups configuration settings',
'nut_MasterUPS_Password' => 'Local server password',
'nut_MasterUPS_UPSNAME@IP' => 'UPS name@localhost',
'nut_Nut_mode' => 'Nut mode',
'nut_Nut_status' => 'Nut status',
'nut_NutUPS_configuration' => 'NutUPS configuration',
'nut_SlaveUPS_Password' => 'Secondary->Primary ->Server',
'nut_SlaveUPS_UPSNAME@IP' => 'Secondary->Primary UPSNAME@IP',
'nut_SlaveUPS_User' => 'Secondary UPS user',
'nut_Status_(from_upsc)' => 'Status (from running upsc)',
'nut_Status_of_the_controlled_UPS' => 'Status of the controlled UPS',
'nut_STATUS_panel_action_was_successful' => 'STATUS panel action was successful',
'nut_Status_Report' => 'Status Report',
'nut_UPS_Device' => 'UPS Device',
'nut_UPS_Generic_Manufacturer' => 'UPS Generic Manufacturer',
'nut_UPS_Generic_Model' => 'UPS Generic Model',
'nut_UPS_Generic_Type' => 'UPS Generic Type',
'nut_UPS_Model' => 'UPS Model',