11.0.0-42 Finish Software updater

This commit is contained in:
John Crisp 2025-06-26 16:08:15 +02:00
parent 4204273b79
commit cd31fcfc5b
7 changed files with 431 additions and 298 deletions

View File

@ -5,117 +5,141 @@
<div class="card-body">
% if (config->{debug} == 1) {
<p>
%= dumper $c->current_route
%= dumper $yum_datas
</p>
<pre>
<%= dumper $c->current_route %>
<%= dumper $yum_datas %>
</pre>
% }
<h1><%= $title%></h1>
% if ( $notif ) {
<br>
<span class="">
%= $notif
</span>
%}
<div class="text-warn">
<%= $notif %>
</div>
<br>
% }
% if ( $c->is_empty('updates') ) {
<br>
<div class=""><h2>
%=l 'yum_TITLE_UPTODATE'
</h2>
%=l 'yum_DESC_UPTODATE'
<div>
<h2><%=l 'yum_TITLE_UPTODATE' %></h2>
<br>
<%=l 'yum_DESC_UPTODATE' %>
</div>
<br>
%}
% }
% if ( $c->non_empty('updates') ) {
<br>
<div class="">
<h2>
%=l 'yum_TITLE_UPDATES_AVAILABLE'
</h2>
%=l 'yum_DESC_UPDATES_AVAILABLE'
<div>
<h2><%= l 'yum_TITLE_UPDATES_AVAILABLE' %></h2>
<%= l 'yum_DESC_UPDATES_AVAILABLE' %>
</div>
<br>
%= form_for 'yum' => (method => 'POST') => begin
%= hidden_field 'trt' => 'UPDT'
%= submit_button $c->l('yum_BUTTON_INSTALL_UPDATES'), class => ""
% end
%}
<form action="/smanager/yum" method="POST">
% my $btnInUp = $c->l('yum_BUTTON_INSTALL_UPDATES');
<%= hidden_field 'trt' => 'UPDT' %>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-sm btn-primary"><%= $btnInUp %></button>
</div>
</div>
</form>
% }
% if ( $c->non_empty('available') ) {
%= form_for 'yum' => (method => 'POST') => begin
<form action="/smanager/yum" method="POST">
<br>
%= hidden_field 'trt' => 'INST'
%= submit_button $c->l('yum_BUTTON_INSTALL_AVAILABLE'), class => ""
% end
%}
% my $btnInAv = $c->l('yum_BUTTON_INSTALL_AVAILABLE');
<%= hidden_field 'trt' => 'INST' %>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-sm btn-primary"><%= $btnInAv %></button>
</div>
</div>
</form>
% }
% if ( $c->non_empty('installed') ) {
%= form_for 'yum' => (method => 'POST') => begin
<form action="/smanager/yum" method="POST">
<br>
%= hidden_field 'trt' => 'REMO'
%= submit_button $c->l('yum_BUTTON_REMOVE'), class => ""
% end
%}
% my $btnInRm = $c->l('yum_BUTTON_REMOVE');
<%= hidden_field 'trt' => 'REMO' %>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-sm btn-primary"><%= $btnInRm %></button>
</div>
</div>
% }
</form>
<br>
<!--<br><hr class=""><br>-->
%= form_for 'yum' => (method => 'POST') => begin
<form action="/smanager/yum" method="POST">
<p>
<span class="">
%=l 'yum_LABEL_YUM_STATUS'
</span>
<span class="">
%= $c->get_status('status', 'localise')
</span>
</p>
<div class="row g-3 align-items-center">
<div class="col-md-2 border-bottom">
<%= l 'yum_LABEL_YUM_STATUS' %>
</div>
<div class="col-auto border-bottom">
<%= $c->get_status('status', 'localise') %>
</div>
</div>
<p>
<span class="">
%=l 'yum_LABEL_YUM_PACKAGEFUNCTIONS'
</span>
<span class="">
%= $c->get_status('PackageFunctions', 'localise')
</span>
</p>
<div class="row g-3 align-items-center">
<div class="col-md-2 border-bottom">
<%= l 'yum_LABEL_YUM_PACKAGEFUNCTIONS' %>
</div>
<div class="col-auto border-bottom">
<%= $c->get_status('PackageFunctions', 'localise') %>
</div>
</div>
<p>
<span class="">
%=l 'yum_LABEL_YUM_DELTARPMPROCESS'
</span>
<span class="">
%= $c->get_status('DeltaRpmProcess', 'localise')
</span>
</p>
<div class="row g-3 align-items-center">
<div class="col-md-2 border-bottom">
<%= l 'yum_LABEL_YUM_DELTARPMPROCESS' %>
</div>
<div class="col-auto border-bottom">
<%= $c->get_status('DeltaRpmProcess', 'localise') %>
</div>
</div>
<p>
<span class="">
%=l 'yum_LABEL_YUM_DOWNLOADONLY'
</span>
<span class="">
%= $c->get_status('DownloadOnly', 'localise')
</span>
</p>
<div class="row g-3 align-items-center">
<div class="col-md-2 border-bottom">
<%= l 'yum_LABEL_YUM_DOWNLOADONLY' %>
</div>
<div class="col-auto border-bottom">
<%= $c->get_status('DownloadOnly', 'localise') %>
</div>
</div>
<p>
<span class="">
%=l 'yum_LABEL_YUM_AUTOINSTALLUPDATES'
</span>
<span class="">
%= $c->get_status('AutoInstallUpdates', 'localise')
</span>
</p>
<div class="row g-3 align-items-center">
<div class="col-md-2 border-bottom">
<%= l 'yum_LABEL_YUM_AUTOINSTALLUPDATES' %>
</div>
<div class="col-auto border-bottom">
<%= $c->get_status('AutoInstallUpdates', 'localise') %>
</div>
</div>
%= hidden_field 'trt' => 'CONF'
<br>
%= submit_button $c->l('yum_BUTTON_CONFIGURATION'), class => ""
% end
% my $btnConfig = $c->l('yum_BUTTON_CONFIGURATION');
<%= hidden_field 'trt' => 'CONF' %>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-sm btn-primary"><%= $btnConfig %></button>
</div>
</div>
</form>
</div>

View File

@ -5,105 +5,157 @@
<div class="card-body">
% if (config->{debug} == 1) {
<p>
%= dumper $c->current_route
%= dumper $yum_datas
</p>
<pre>
<%= dumper $c->current_route %>
<%= dumper $yum_datas %>
</pre>
% }
<h1><%= $title%></h1>
% if ( $notif ) {
<br>
<div class="">
%= $notif
<div class="text-warn">
<%= $notif %>
</div>
%}
<br>
% }
%= form_for 'yumd' => (method => 'POST') => begin
<p>
<span class="">
%=l 'yum_LABEL_YUM_STATUS'
</span>
<span class="">
<form action="/smanager/yumd" method="POST">
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%= l 'yum_LABEL_YUM_STATUS' %>
</div>
<div class="col-auto">
% param 'yum_check4updates' => $c->get_status('check4updates') unless param 'yum_check4updates';
%= select_field 'yum_check4updates' => $c->get_check_freq_opt()
</span>
</p>
<%= select_field 'yum_check4updates' => $c->get_check_freq_opt(), class => "form-select" %>
</div>
</div>
<br>
%=l 'yum_DESC_YUM_PACKAGEFUNCTIONS'
<p>
<span class="">
%=l 'yum_LABEL_YUM_PACKAGEFUNCTIONS'
</span>
<span class="">
<%= l 'yum_DESC_YUM_PACKAGEFUNCTIONS' %>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%= l 'yum_LABEL_YUM_PACKAGEFUNCTIONS' %>
</div>
<div class="col-auto">
% param 'yum_PackageFunctions' => $c->get_status('PackageFunctions') unless param 'yum_PackageFunctions';
%= select_field 'yum_PackageFunctions' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
</span>
</p>
<%= select_field 'yum_PackageFunctions' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']], class => "form-select" %>
</div>
</div>
<br>
%=l 'yum_DESC_ENABLED_REPOSITORIES'
<p>
<span class="">
%=l 'yum_LABEL_ENABLED_REPOSITORIES'
</span>
<span class="">
<%= l 'yum_DESC_ENABLED_REPOSITORIES' %>
<br><br>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%= l 'yum_LABEL_ENABLED_REPOSITORIES' %>
</div>
<div class="col-auto">
% param 'SelectedRepositories' => $c->get_repository_current_options() unless param 'SelectedRepositories';
%= select_field 'SelectedRepositories' => $c->get_repository_options2(), class => "", multiple => '1'
</span>
</p>
<%= select_field 'SelectedRepositories' => $c->get_repository_options2(), multiple => '1', size => "16", class => "form-select" %>
</div>
</div>
<br>
<%= dumper $c->get_repository_options2() %>
<br>
<%= dumper $c->get_repository_current_options () %>
<br>
<%= dumper $c->every_param('SelectedRepositories') %>
<br>
%# my @repo ();
%# my %repositories = $c->get_repository_options2();
<%#= dumper %repositories %>
%# foreach my @repository (keys %$repositories) {
<%#= dumper @repository %>
<br>
%# my $repoName = $_->{Name};
%# my $repoStatus = $_ -> {Status};
%# }
<br>
%=l 'yum_DESC_YUM_DELTARPMPROCESS'
<p>
<span class="">
%=l 'yum_LABEL_YUM_DELTARPMPROCESS'
</span>
<span class="">
<%= l 'yum_DESC_YUM_DELTARPMPROCESS' %>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%= l 'yum_LABEL_YUM_DELTARPMPROCESS' %>
</div>
<div class="col-auto">
% param 'yum_DeltaRpmProcess' => $c->get_status('DeltaRpmProcess') unless param 'yum_DeltaRpmProcess';
%= select_field 'yum_DeltaRpmProcess' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
</span>
</p>
<%= select_field 'yum_DeltaRpmProcess' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']], class => "form-select" %>
</div>
</div>
<br>
%=l 'yum_DESC_YUM_DOWNLOADONLY'
<p>
<span class="">
%=l 'yum_LABEL_YUM_DOWNLOADONLY'
</span>
<span class="">
<%= l 'yum_DESC_YUM_DOWNLOADONLY' %>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%= l 'yum_LABEL_YUM_DOWNLOADONLY' %>
</div>
<div class="col-auto">
% param 'yum_DownloadOnly' => $c->get_status('DownloadOnly') unless param 'yum_DownloadOnly';
%= select_field 'yum_DownloadOnly' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
</span>
</p>
<%= select_field 'yum_DownloadOnly' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']], class => "form-select" %>
</div>
</div>
<br>
%=l 'yum_DESC_YUM_AUTOINSTALLUPDATES'
<p>
<span class="">
%=l 'yum_LABEL_YUM_AUTOINSTALLUPDATES'
</span>
<span class="">
<%= l 'yum_DESC_YUM_AUTOINSTALLUPDATES' %>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%= l 'yum_LABEL_YUM_AUTOINSTALLUPDATES' %>
</div>
<div class="col-auto">
% param 'yum_AutoInstallUpdates' => $c->get_status('AutoInstallUpdates') unless param 'yum_AutoInstallUpdates';
%= select_field 'yum_AutoInstallUpdates' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
</span>
</p>
<%= select_field 'yum_AutoInstallUpdates' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']], class => "form-select" %>
</div>
</div>
%= hidden_field 'trt' => 'CONF'
<br>
<!--<div class="">-->
%= submit_button $c->l('SAVE'), class => ""
<!--</div>-->
% end
% my $btnSave = $c->l('SAVE');
<%= hidden_field 'trt' => 'CONF' %>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-sm btn-primary"><%= $btnSave %></button>
</div>
</div>
</form>
</div>

View File

@ -5,61 +5,79 @@
<div class="card-body">
% if (config->{debug} == 1) {
<p>
%= dumper $c->current_route
%= dumper $yum_datas
</p>
<pre>
<%= dumper $c->current_route %>
<%= dumper $yum_datas %>
</pre>
% }
<h1><%= $title%></h1>
% if ( $notif ) {
<br>
<div class="">
%= $notif
<div class="text-warn">
<%= $notif %>
</div>
%}
<br>
% }
%= form_for 'yumd' => (method => 'POST') => begin
<form action="/smanager/yumd" method="POST">
<%= l 'yum_HEADER_AVAILABLE_SOFTWARE' %>
%=l 'yum_HEADER_AVAILABLE_SOFTWARE'
<br><br>
% if ($c->non_empty('available','group')) {
%=l 'yum_DESC_AVAILABLE_GROUPS'
<p>
<span class="">
%=l 'yum_LABEL_AVAILABLE_GROUPS'
</span>
<span class="">
<%=l 'yum_DESC_AVAILABLE_GROUPS' %>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l 'yum_LABEL_AVAILABLE_GROUPS' %>
</div>
<div class="col-md-3">
% param 'SelectedGroups' => $c->get_names2('updates','group') unless param 'SelectedGroups';
%= select_field 'SelectedGroups' => $c->get_options2('available', 'group'), class => "", multiple => "1"
</span>
</p>
%}
<br>
<%= select_field 'SelectedGroups' => $c->get_options2('available', 'group'), class => "form-select", size => "10", multiple => "1" %>
</div>
</div>
% }
<br><br>
% if ($c->non_empty('available','packages')) {
%=l 'yum_DESC_AVAILABLE_PACKAGES'
<p>
<span class="">
%=l 'yum_LABEL_AVAILABLE_PACKAGES'
</span>
<span class="">
<%= l 'yum_DESC_AVAILABLE_PACKAGES' %>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%=l 'yum_LABEL_AVAILABLE_PACKAGES' %>
</div>
<div class="col-md-3">
% param 'SelectedPackages' => $c->get_names2('updates','package') unless param 'SelectedPackages';
%= select_field 'SelectedPackages' => $c->get_options2('available', 'package'), class => "", multiple => "1"
</span>
</p>
%}
%= select_field 'SelectedPackages' => $c->get_options2('available', 'package'), class => "form-select", size => "10", multiple => "1"
</div>
</div>
% }
<!-- $c->print_skip_header() -->
<br>
<%= hidden_field 'trt' => 'INST' %>
% my $btnSave = $c->l('yum_INSTALL_SOFTWARE');
%= hidden_field 'trt' => 'INST'
<br><br>
<!-- <div class="">-->
%= submit_button $c->l('yum_INSTALL_SOFTWARE'), class => ""
<!--</div>-->
% end
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-sm btn-primary"><%= $btnSave %></button>
</div>
</div>
</form>
</div>

View File

@ -9,35 +9,39 @@
<div class="card-body">
% if (config->{debug} == 1) {
<p>
%= dumper $c->current_route
%= dumper $yum_datas
</p>
<pre>
<%= dumper $c->current_route %>
<%= dumper $yum_datas %>
</pre>
% }
<h1><%= $title%></h1>
% if ( $notif ) {
<br>
<div class="">
%= $notif
<div class="text-warn">
<%= $notif %>
</div>
%}
<br>
% }
%= form_for 'yum' => (method => 'POST') => begin
<form action="/smanager/yum" method="POST">
<br>
<h2>Please Wait - Yum Running (<%= $c->get_yum_status_page() %>)</h2>
<BR><center><H2>Please Wait - Yum Running (<%= $c->get_yum_status_page() %>)</H2></center>
<%= $c->render_to_string(inline => $c->format_yum_log()) %>
%= hidden_field 'trt' => 'LOGF'
<br>
<!-- div class="">
prc= submit_button $c->l('NEXT'), class => ""
</div -->
% end
</form>
</div>

View File

@ -1,62 +1,84 @@
% layout 'AdminLTE', title => "Sme server 2 - yum_update";
% layout 'AdminLTE', title => "Sme server 2 - yum_remove";
% content_for 'module' => begin
<div class="card-body">
% if (config->{debug} == 1) {
<p>
%= dumper $c->current_route
%= dumper $yum_datas
</p>
<pre>
<%= dumper $c->current_route %>
<%= dumper $yum_datas %>
</pre>
% }
<h1><%= $title%></h1>
<br>
% if ( $notif ) {
<br><div class="">
%= $notif
<br>
<div class="text-warn">
<%= $notif %>
</div>
%}
<br>
% }
%= form_for 'yumd' => (method => 'POST') => begin
<form action="/smanager/yumd" method="POST">
%=l 'yum_HEADER_INSTALLED_SOFTWARE'
<%= l 'yum_HEADER_INSTALLED_SOFTWARE' %>
<br>
% if ($c->non_empty('installed','group')) {
%=l 'yum_DESC_INSTALLED_GROUPS'
<p>
<span class="">
%=l 'yum_LABEL_INSTALLED_GROUPS'
</span>
<span class="">
%= select_field 'SelectedGroups' => $c->get_options2('installed', 'group'), class => "", multiple => "1"
</span></p>
%}
<br>
<%=l 'yum_DESC_INSTALLED_GROUPS' %>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%= l 'yum_LABEL_INSTALLED_GROUPS' %>
</div>
<div class="col-md-3">
%# param 'SelectedGroups' => $c->get_names2('updates','group') unless param 'SelectedGroups';
<%= select_field 'SelectedGroups' => $c->get_options2('installed', 'group'), class => "form-select", size => "10", multiple => "1" %>
</div>
</div>
% }
<br><br>
% if ($c->non_empty('installed','packages')) {
%=l 'yum_DESC_INSTALLED_PACKAGES'
<p>
<span class="">
%=l 'yum_LABEL_INSTALLED_PACKAGES'
</span>
<span class="">
%= select_field 'SelectedPackages' => $c->get_options2('installed', 'package'), class => "", multiple => "1"
</span>
</p>
%}
<%= l 'yum_DESC_INSTALLED_PACKAGES' %>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-1">
<%=l 'yum_LABEL_INSTALLED_PACKAGES' %>
</div>
<div class="col-md-3">
%# param 'SelectedPackages' => $c->get_names2('updates','package') unless param 'SelectedPackages';
%= select_field 'SelectedPackages' => $c->get_options2('installed', 'package'), class => "form-select", size => "10", multiple => "1"
</div>
</div>
% }
<!--subroutine src="print_skip_header()" /-->
%= hidden_field 'trt' => 'REMO'
<br>
<!--<div class="">-->
%= submit_button $c->l('REMOVE'), class => ""
<!--</div>-->
% end
<br>
<%= hidden_field 'trt' => 'REMO' %>
% my $btn = $c->l('REMOVE');
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-sm btn-primary"><%= $btn %></button>
</div>
</div>
</form>
</div>

View File

@ -5,43 +5,52 @@
<div class="card-body">
% if (config->{debug} == 1) {
<p>
%= dumper $c->current_route
%= dumper $yum_datas
</p>
<pre>
<%= dumper $c->current_route %>
<%= dumper $yum_datas %>
</pre>
% }
<h1><%= $title%></h1>
% if ( $notif ) {
<br><div class="">
%= $notif
<br>
<div class="text-warn">
<%= $notif %>
</div>
%}
% }
%= form_for 'yumd' => (method => 'POST') => begin
<form action="/smanager/yumd" method="POST">
%=l 'yum_DESC_AVAILABLE_UPDATES'
<div>
<%=l 'yum_DESC_AVAILABLE_UPDATES' %>
</div>
<p>
<span class="">
%=l 'yum_LABEL_AVAILABLE_UPDATES'
</span>
<span class="">
<div>
<%=l 'yum_LABEL_AVAILABLE_UPDATES' %>
</div>
<div>
% param 'SelectedPackages' => $c->get_names2('updates','package') unless param 'SelectedPackages';
%= select_field 'SelectedPackages' => $c->get_options2('updates', 'package'), class => "", multiple => "1"
</span>
</p>
<%= select_field 'SelectedPackages' => $c->get_options2('updates', 'package'), class => "form-select", multiple => "1" %>
</div>
<!-- $c->print_skip_header() -->
%= hidden_field 'trt' => 'UPDT'
<br>
<!--<div class="">-->
%= submit_button $c->l('yum_INSTALL_UPDATES'), class => ""
<!--</div>-->
<%= hidden_field 'trt' => 'UPDT' %>
<br>
% $btn = $c->l('yum_INSTALL_UPDATES');
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-primary"><%= $btn %></button>
</div>
</div>
</form>
% end
</div>

View File

@ -1,6 +1,7 @@
%define name smeserver-manager-AdminLTE
%define version 11.0.0
%define release 41
%define release 42
Summary: AdminLTE is an html framework for admin consoles - this rpm adds it to smeserver manager2
Name: %{name}
Version: %{version}
@ -28,6 +29,9 @@ AdminLTE is an html framework for admin consoles
wget https://github.com/ColorlibHQ/AdminLTE/archive/master.zip
%changelog
* Thu Jun 26 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-42.sme
- Finish Software updater
* Thu Jun 19 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-41.sme
- Work on NutUPS
- Work on DateTime