Compare commits
5 Commits
11_0_0-32_
...
91105c83c9
Author | SHA1 | Date | |
---|---|---|---|
![]() |
91105c83c9 | ||
![]() |
f3295483b2 | ||
![]() |
eb05438d80 | ||
![]() |
22fbb582d2 | ||
![]() |
de9c4a9264 |
@@ -208,7 +208,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
//if (!response.ok) throw new Error('Country not found');
|
||||
//const data = await response.json();
|
||||
//// Return the name in the native language
|
||||
//return data[0].name.common;
|
||||
//return data[0].name.common;
|
||||
//} catch (error) {
|
||||
//console.error(error);
|
||||
//return 'Unknown Country';
|
||||
@@ -222,7 +222,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
function getCountryCodeFromLanguage(language) {
|
||||
return languageToCountryMap[language] ? languageToCountryMap[language].code : null;
|
||||
}
|
||||
|
||||
|
||||
function getCountryNameFromCountryCode(countryCode) {
|
||||
//alert(`Country code: ${countryCode}`);
|
||||
for (const language in languageToCountryMap) {
|
||||
@@ -263,11 +263,15 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
|
||||
function displayLocaleAndFlag() {
|
||||
// Get the browser locale
|
||||
const userLocale = navigator.language || navigator.userLanguage;
|
||||
const userLocale = navigator.languages && navigator.languages.length
|
||||
? navigator.languages[0]
|
||||
: navigator.language;
|
||||
|
||||
//alert(`User Locale: ${userLocale}`); // Alert the detected locale
|
||||
//console.log(navigator.languages); // Log language to console
|
||||
|
||||
const { flag, isUnknown, countryCode } = getFlagEmoji(userLocale);
|
||||
|
||||
|
||||
//alert(`Country Code: ${countryCode}, Is Unknown: ${isUnknown}`); // Debug country code and unknown flag status
|
||||
|
||||
// Display the locale and the corresponding flag (or fallback)
|
||||
@@ -278,7 +282,7 @@ function displayLocaleAndFlag() {
|
||||
fallbackDiv.className = 'fallback-box';
|
||||
fallbackDiv.textContent = `? ${userLocale.toUpperCase()}`; // Show ? and locale code inside the box
|
||||
document.getElementById('flag-container').appendChild(fallbackDiv);
|
||||
|
||||
|
||||
// Tooltip for fallback
|
||||
fallbackDiv.title = "Unknown Country"; // Tooltip for fallback
|
||||
//alert('Fallback triggered: Unknown Country'); // Debug fallback
|
||||
@@ -290,7 +294,7 @@ function displayLocaleAndFlag() {
|
||||
flagSpan.textContent = flag; // Use flag emoji
|
||||
flagSpan.title = countryName; // Tooltip for the flag in country language
|
||||
document.getElementById('flag-container').appendChild(flagSpan);
|
||||
|
||||
|
||||
//alert(`Flag Emoji: ${flag}`); // Debug flag emoji display
|
||||
}
|
||||
}
|
||||
|
@@ -15,7 +15,7 @@
|
||||
<div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
%}
|
||||
% }
|
||||
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
@@ -39,9 +39,9 @@
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% if ( $bac_datas->{status} eq 'checked' ) {
|
||||
<input type='checkbox' name='Tapebackup' checked >
|
||||
<input type='checkbox' name='Tapebackup' aria-describedby="enabled" checked >
|
||||
% } else {
|
||||
<input type='checkbox' name='Tapebackup'>
|
||||
<input type='checkbox' name='Tapebackup' aria-describedby="disabled">
|
||||
% }
|
||||
</div>
|
||||
</div>
|
||||
@@ -50,17 +50,20 @@
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'bac_TAPE_BACKUP_TIME' %>
|
||||
<label for="inputBackupHour" class="col-form-label"><%= l 'bac_TAPE_BACKUP_TIME' %></label>
|
||||
<label for="inputBackupMin" class="col-form-label"></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupHour' => $bac_datas->{backupHour} unless param 'BackupHour';
|
||||
<%= text_field 'BackupHour', size => '2' %>
|
||||
<input type="text" name="BackupHour" id="inputBackupHour" class="form-control" maxlength="2" size="4" aria-describedby="Backup Hour" value="<%= $bac_datas->{backupHour} %>">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupMin' => $bac_datas->{backupMin} unless param 'BackupMin';
|
||||
<%= text_field 'BackupMin', size => '2' %>
|
||||
<input type="text" name="BackupMin" id="inputBackupMin" class="form-control" maxlength="2" size="4" aria-describedby="Backup Minute" value="<%= $bac_datas->{backupMin} %>">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupAMPM' => $bac_datas->{backupAMPM} unless param 'BackupAMPM';
|
||||
<%= select_field 'BackupAMPM' => ['AM', 'PM'], class => "form-select" %>
|
||||
<%= select_field 'BackupAMPM' => ['AM', 'PM'], class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -69,17 +72,20 @@
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'bac_LOAD_TAPE_REMINDER_TIME' %>
|
||||
<label for="inputReminderMin" class="col-form-label"><%= l 'bac_LOAD_TAPE_REMINDER_TIME' %></label>
|
||||
<label for="inputReminderMin" class="col-form-label"></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'ReminderHour' => $bac_datas->{reminderHour} unless param 'ReminderHour';
|
||||
<%= text_field 'ReminderHour', size => '2' %>
|
||||
<input type="text" name="ReminderHour" id="inputReminderHour" class="form-control" maxlength="2" size="4" aria-describedby="Reminder Hour" value="<%= $bac_datas->{reminderHour} %>">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'ReminderMin' => $bac_datas->{reminderMin} unless param 'ReminderMin';
|
||||
<%= text_field 'ReminderMin', size => '2' %>
|
||||
<input type="text" name="ReminderMin" id="inputReminderMin" class="form-control" maxlength="2" size="4" aria-describedby="Reminder Minute" value="<%= $bac_datas->{reminderMin} %>">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'ReminderAMPM' => $bac_datas->{reminderAMPM} unless param 'ReminderAMPM';
|
||||
<%= select_field 'ReminderAMPM' => ['AM', 'PM'], class => "form-select" %>
|
||||
<%= select_field 'ReminderAMPM' => ['AM', 'PM'], class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@@ -5,10 +5,10 @@
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
@@ -22,13 +22,15 @@
|
||||
|
||||
<br>
|
||||
|
||||
<h2><%=l 'bac_RESTORE_CONF_FROM_TAPE' %></h2>
|
||||
|
||||
<br>
|
||||
|
||||
<form action="/smanager/backupd" method="POST">
|
||||
|
||||
<h2><%=l 'bac_RESTORE_CONF_FROM_TAPE' %></h2>
|
||||
|
||||
<br>
|
||||
|
||||
<%= $c->render_to_string(inline => (l 'bac_RESTORE_CONF_FROM_TAPE_DESC')) %>
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => (l 'bac_RESTORE_CONF_FROM_TAPE_DESC')) %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
|
@@ -5,31 +5,34 @@
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
%}
|
||||
<br>
|
||||
<div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
% }
|
||||
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
<br>
|
||||
|
||||
<form action="/smanager/backup" method="POST">
|
||||
<h2><%= l 'bac_CONFIGURE_WORKSTN_BACKUP' %></h2>
|
||||
|
||||
<h2><%= l 'bac_CONFIGURE_WORKSTN_BACKUP' %></h2>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => (l 'bac_WORKSTN_BACKUP_DESC')) %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<form action="/smanager/backup" method="POST">
|
||||
|
||||
<div>
|
||||
<%= l 'bac_WORKSTN_BACKUP_ENABLED' %>: <%= $bac_datas->{status} %>
|
||||
|
@@ -5,169 +5,268 @@
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $bac_datas
|
||||
</p>
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div>
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
<br>
|
||||
<div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
% }
|
||||
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
<h2>
|
||||
%=l 'bac_CONFIGURE_WORKSTN_BACKUP'
|
||||
</h2>
|
||||
|
||||
%= $c->render_to_string(inline => (l 'bac_CONFIGURE_WORKSTN_BACKUP_DESC'))
|
||||
|
||||
%= form_for '/backupd' => (method => 'POST') => begin
|
||||
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_ENABLE_WORKSTN_BACKUP'
|
||||
</span>
|
||||
<span class="">
|
||||
% if ( $bac_datas->{status} eq 'checked' ) {
|
||||
<input type='checkbox' name='Workstnbackup' checked >
|
||||
%} else {
|
||||
%= check_box 'Workstnbackup'
|
||||
%}
|
||||
</span>
|
||||
|
||||
</p>
|
||||
<p>
|
||||
<h3>
|
||||
%= l 'bac_WORKSTATION_BACKUP_DEST'
|
||||
</h3>
|
||||
<br>
|
||||
|
||||
% if ( $bac_datas->{vfstype} =~ m/cifs|nfs/s ) {
|
||||
<span class="">
|
||||
%=l 'bac_WORKSTN_NAME'
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupwkStation' => $bac_datas->{station} unless param 'BackupwkStation';
|
||||
%= text_field 'BackupwkStation', size => 20, class => ""
|
||||
</span>
|
||||
<br>
|
||||
%}
|
||||
% if ( $bac_datas->{vfstype} eq 'usb' ) {
|
||||
<span class="">
|
||||
%=l 'bac_local removable disk'
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupwkFolder' => $bac_datas->{mount} unless param 'BackupwkFolder';
|
||||
%= select_field 'BackupwkFolder' => $c->get_BackupwkDest_options( $bac_datas->{vfstype}), class => ""
|
||||
</span>
|
||||
<br>
|
||||
% } elsif ( $bac_datas->{vfstype} eq 'mnt') {
|
||||
<span class="">
|
||||
%=l 'bac_Mounted disk'
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupwkFolder' => $bac_datas->{folder} unless param 'BackupwkFolder';
|
||||
%= select_field 'BackupwkFolder' => $c->get_BackupwkDest_options( $bac_datas->{vfstype}), class => ""
|
||||
</span>
|
||||
<br>
|
||||
% } else {
|
||||
<span class="">
|
||||
%=l 'bac_SHARED_FOLDER_NAME'
|
||||
</span><span class="">
|
||||
% param 'BackupwkFolder' => $bac_datas->{folder} unless param 'BackupwkFolder';
|
||||
%= text_field 'BackupwkFolder', size => 20, class => ""
|
||||
</span>
|
||||
<br>
|
||||
%}
|
||||
% if ( $bac_datas->{vfstype} eq 'cifs' ) {
|
||||
<span class="">
|
||||
%=l 'bac_WORKSTN_LOGIN'
|
||||
</span><span class="">
|
||||
% param 'BackupwkLogin' => $bac_datas->{login} unless param 'BackupwkLogin';
|
||||
%= text_field 'BackupwkLogin', size => 12, class => ""
|
||||
</span>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_PASSWORD'
|
||||
</span><span class="">
|
||||
% param 'BackupwkPassword' => $bac_datas->{password} unless param 'BackupwkPassword';
|
||||
%= password_field 'BackupwkPassword', size => 12, class => ""
|
||||
</span>
|
||||
%}
|
||||
</p><br><h3>
|
||||
%= l 'bac_WORKSTN_BACKUP_SETTINGS'
|
||||
</h3><br>
|
||||
<h2><%= l 'bac_CONFIGURE_WORKSTN_BACKUP' %></h2>
|
||||
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_NUMBER_OF_SETS'
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SetsNumber' => $bac_datas->{setsNumber} unless param 'SetsNumber';
|
||||
%= text_field 'SetsNumber', size => '3'
|
||||
</span>
|
||||
%=l 'bac_NUMBER_OF_FILES_IN_SET'
|
||||
<span class="">
|
||||
% param 'Filesinset' => $bac_datas->{filesinset} unless param 'Filesinset';
|
||||
%= text_field 'Filesinset', size => '3'
|
||||
</span></p>
|
||||
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_WORKSTN_BACKUP_TIME'
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupwkHour' => $bac_datas->{hour} unless param 'BackupwkHour';
|
||||
%= text_field 'BackupwkHour', size => '2'
|
||||
% param 'BackupwkMin' => $bac_datas->{min} unless param 'BackupwkMin';
|
||||
%= text_field 'BackupwkMin', size => '2'
|
||||
</span>
|
||||
%=l 'AM/PM:'
|
||||
<span class="">
|
||||
% param 'BackupwkAMPM' => $bac_datas->{ampm} unless param 'BackupwkAMPM';
|
||||
%= select_field 'BackupwkAMPM' => ['AM', 'PM'], class => ""
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'bac_WORKSTN_TIMEOUT'
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupwkTimeout' => $bac_datas->{timeout} unless param 'BackupwkTimeout';
|
||||
%= text_field 'BackupwkTimeout', size => '2'
|
||||
</span>
|
||||
%=l 'bac_INC_ONLY_TIMEOUT'
|
||||
<span class="">
|
||||
% if ( $bac_datas->{incOnlyTimeout} eq 'checked' ) {
|
||||
<input type='checkbox' name='IncOnlyTimeout' checked >
|
||||
%} else {
|
||||
%= check_box 'IncOnlyTimeout'
|
||||
%}
|
||||
</span></p>
|
||||
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_COMPRESSION_LEVEL'
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Compression' => $bac_datas->{compression} unless param 'Compression';
|
||||
%= text_field 'Compression', size => '1'
|
||||
</span>
|
||||
%=l 'bac_FULL_ONLY_ON'
|
||||
<span class="">
|
||||
% param 'Dof' => $bac_datas->{dof} unless param 'Dof';
|
||||
%= select_field 'Dof' => $c->get_dow_list(), class => ""
|
||||
</p>
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => (l 'bac_CONFIGURE_WORKSTN_BACKUP_DESC')) %>
|
||||
<div>
|
||||
|
||||
<br>
|
||||
|
||||
<form action="/smanager/backupd" method="POST">
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'bac_ENABLE_WORKSTN_BACKUP' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% if ( $bac_datas->{status} eq 'checked' ) {
|
||||
<input type='checkbox' name='Workstnbackup' aria-describedby="enabled" checked >
|
||||
% } else {
|
||||
<input type='checkbox' name='Workstnbackup' aria-describedby="disabled">
|
||||
% }
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</p>
|
||||
<p>
|
||||
<h3>
|
||||
%= l 'bac_WORKSTATION_BACKUP_DEST'
|
||||
</h3>
|
||||
<br>
|
||||
|
||||
% if ( $bac_datas->{vfstype} =~ m/cifs|nfs/s ) {
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<label for="inputBackupWorkStationName" class="col-form-label"><%= l 'bac_WORKSTN_NAME' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupwkStation' => $bac_datas->{station} unless param 'BackupwkStation';
|
||||
<input type="text" name="BackupwkStation" id="inputBackupWorkStationName" class="form-control"
|
||||
size="20" aria-describedby="Workstation Name" value="<%= $bac_datas->{station} %>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
% }
|
||||
|
||||
% if ( $bac_datas->{vfstype} eq 'usb' ) {
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'bac_local removable disk' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupwkFolder' => $bac_datas->{mount} unless param 'BackupwkFolder';
|
||||
<%= select_field 'BackupwkFolder' => $c->get_BackupwkDest_options( $bac_datas->{vfstype}), class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
% } elsif ( $bac_datas->{vfstype} eq 'mnt') {
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'bac_Mounted disk' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupwkFolder' => $bac_datas->{folder} unless param 'BackupwkFolder';
|
||||
<%= select_field 'BackupwkFolder' => $c->get_BackupwkDest_options( $bac_datas->{vfstype}), class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
% } else {
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<label for="inputBackupSharedFolderName" class="col-form-label"><%= l 'bac_SHARED_FOLDER_NAME' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="text" name="BackupwkFolder" id="inputBackupSharedFolderName" class="form-control"
|
||||
size="20" aria-describedby="Backup Shared Folder Name" value="<%= $bac_datas->{folder} %>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
% }
|
||||
|
||||
% if ( $bac_datas->{vfstype} eq 'cifs' ) {
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<label for="inputBackupWorkLogin" class="col-form-label"><%= l 'bac_WORKSTN_LOGIN' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupwkLogin' => $bac_datas->{login} unless param 'BackupwkLogin';
|
||||
<input type="text" name="BackupwkLogin" id="inputBackupWorkLogin" class="form-control"
|
||||
size="12" aria-describedby="Backup Workstation Login" value="<%= $bac_datas->{login} %>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<label for="password" class="col-form-label"><%= l 'bac_PASSWORD' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupwkPassword' => $bac_datas->{password} unless param 'BackupwkPassword';
|
||||
<input type="password" name="BackupwkPassword" id="password" class="form-control" size="12" aria-describedby="Backup Workstation Password" value="<%= $bac_datas->{password} %>">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span id="togglePassword" class="bi bi-eye"></span>
|
||||
</div>
|
||||
</div>
|
||||
% }
|
||||
|
||||
<br>
|
||||
|
||||
<h3><%= l 'bac_WORKSTN_BACKUP_SETTINGS' %></h3>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<label for="inputNumberofSets" class="col-form-label"><%= l 'bac_NUMBER_OF_SETS' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'SetsNumber' => $bac_datas->{setsNumber} unless param 'SetsNumber';
|
||||
<input type="text" name="SetsNumber" id="inputNumberofSets" class="form-control" maxlength="3" size="3" aria-describedby="Number of sets" value="<%= $bac_datas->{setsNumber} %>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<label for="inputFilesinSet" class="col-form-label"><%= l 'bac_NUMBER_OF_FILES_IN_SET' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'Filesinset' => $bac_datas->{filesinset} unless param 'Filesinset';
|
||||
<input type="text" name="Filesinset" id="inputFilesinSet" class="form-control" maxlength="3" size="3" aria-describedby="Files in set" value="<%= $bac_datas->{filesinset} %>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<label for="inputWorkstationBackupHour" class="col-form-label"><%= l 'bac_WORKSTN_BACKUP_TIME' %></label>
|
||||
<label for="inputWorkstationBackupMin" class="col-form-label"></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupwkHour' => $bac_datas->{hour} unless param 'BackupwkHour';
|
||||
<input type="text" name="BackupwkHour" id="inputWorkstationBackupHour" class="form-control" maxlength="2" size="4" aria-describedby="Backup Hour" value="<%= $bac_datas->{hour} %>">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupwkMin' => $bac_datas->{min} unless param 'BackupwkMin';
|
||||
<input type="text" name="BackupwkMin" id="inputWorkstationBackupMin" class="form-control" maxlength="2" size="4" aria-describedby="Backup Minute" value="<%= $bac_datas->{min} %>">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<%= l 'AM/PM:' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupwkAMPM' => $bac_datas->{ampm} unless param 'BackupwkAMPM';
|
||||
<%= select_field 'BackupwkAMPM' => ['AM', 'PM'], class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<label for="inputWorkstationTimeout" class="col-form-label"><%= l 'bac_WORKSTN_TIMEOUT' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'BackupwkTimeout' => $bac_datas->{timeout} unless param 'BackupwkTimeout';
|
||||
<input type="text" name="BackupwkTimeout" id="inputWorkstationTimeout" class="form-control" maxlength="2" size="2" aria-describedby="Workstation Timeout" value="<%= $bac_datas->{timeout} %>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'bac_INC_ONLY_TIMEOUT' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% if ( $bac_datas->{incOnlyTimeout} eq 'checked' ) {
|
||||
<input type='checkbox' name='IncOnlyTimeout' aria-describedby="enabled" checked >
|
||||
% } else {
|
||||
<input type='checkbox' name='IncOnlyTimeout' aria-describedby="disabled">
|
||||
% }
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<label for="inputBackupCompression" class="col-form-label"><%= l 'bac_COMPRESSION_LEVEL' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'Compression' => $bac_datas->{compression} unless param 'Compression';
|
||||
<input type="text" name="Compression" id="inputBackupCompression" class="form-control" maxlength="1" size="1" aria-describedby="Compression level" value="<%= $bac_datas->{compression} %>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'bac_FULL_ONLY_ON' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
% param 'Dof' => $bac_datas->{dof} unless param 'Dof';
|
||||
%= select_field 'Dof' => $c->get_dow_list(), class => "form-select"
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
%= hidden_field 'Function' => $bac_datas->{function}
|
||||
%= hidden_field 'VFSType' => $bac_datas->{vfstype}
|
||||
% my $btn = l('bac_UPDATE_CONF');
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<button type="submit" class="btn btn-primary" value="<%=$c->l('NEXT')%>"><%= $btn %></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
</form>
|
||||
|
||||
%= hidden_field 'Function' => $bac_datas->{function}
|
||||
%= hidden_field 'VFSType' => $bac_datas->{vfstype}
|
||||
%= submit_button $c->l('bac_UPDATE_CONF'), class => ""
|
||||
% end
|
||||
</div>
|
||||
|
||||
% end
|
@@ -5,42 +5,64 @@
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $bac_datas
|
||||
</p>
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
<br>
|
||||
<div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
% }
|
||||
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
%= form_for '/backupd' => (method => 'POST') => begin
|
||||
<br>
|
||||
|
||||
<h2>
|
||||
%=l 'bac_WORKSTN_RESTORE'
|
||||
</h2>
|
||||
<h2><%= l 'bac_WORKSTN_RESTORE' %></h2>
|
||||
|
||||
<br><br>
|
||||
% if ($bac_datas->{status} ne 'enabled') {
|
||||
%= $c->render_to_string(inline => (l 'bac_CONFIGURATION_TO_BE_DONE'))
|
||||
% } else {
|
||||
%= $c->render_to_string(inline => (l 'bac_RESTORE_CONF_FROM_WORKSTN_DESC') . ' ' . $c->get_shared_folder_to_verify())
|
||||
%}
|
||||
<br>
|
||||
|
||||
<br><br><span class="">
|
||||
%=l 'bac_SELECT_BACKUP_FILE'
|
||||
</span>
|
||||
<span class="">
|
||||
%= select_field 'Backupset' => $c->get_Backupset_options(), class => ""
|
||||
</span><br><br>
|
||||
<form action="/smanager/backupd" method="POST">
|
||||
|
||||
% if ($bac_datas->{status} ne 'enabled') {
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => (l 'bac_CONFIGURATION_TO_BE_DONE')) %>
|
||||
</div>
|
||||
% } else {
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => (l 'bac_RESTORE_CONF_FROM_WORKSTN_DESC') . ' ' . $c->get_shared_folder_to_verify()) %>
|
||||
</div>
|
||||
% }
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<%= l 'bac_SELECT_BACKUP_FILE' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<%= select_field 'Backupset' => $c->get_Backupset_options(), class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br><br>
|
||||
|
||||
<%= hidden_field 'Function' => $bac_datas->{'function'} %>
|
||||
|
||||
% my $btn = l('bac_RESTORE_FROM_WORKSTN');
|
||||
|
||||
<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>
|
||||
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
%= submit_button $c->l('bac_RESTORE_FROM_WORKSTN'), class => ""
|
||||
% end
|
||||
</div>
|
||||
% end
|
@@ -5,33 +5,49 @@
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $bac_datas
|
||||
</p>
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
<br>
|
||||
<div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
% }
|
||||
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
%= form_for '/backupd' => (method => 'POST') => begin
|
||||
<br>
|
||||
|
||||
<h2><%= l 'bac_WORKSTN_RESTORE' %></h2>
|
||||
|
||||
<br>
|
||||
|
||||
<form action="/smanager/backupd" method="POST">
|
||||
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => $bac_datas->{restore_log}) %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<%= l 'bac_YOU_MUST_REBOOT' %>
|
||||
</div>
|
||||
|
||||
<%= hidden_field 'Function' => $bac_datas->{'function'} %>
|
||||
|
||||
% my $btn = l('bac_REBOOT');
|
||||
|
||||
<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>
|
||||
|
||||
<h2>
|
||||
%=l 'bac_WORKSTN_RESTORE'
|
||||
</h2>
|
||||
<p>
|
||||
%= $c->render_to_string(inline => $bac_datas->{restore_log})
|
||||
</p><p>
|
||||
%=l 'bac_YOU_MUST_REBOOT'
|
||||
</p>
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
%= submit_button $c->l('bac_REBOOT'), class => ""
|
||||
% end
|
||||
</div>
|
||||
|
||||
% end
|
@@ -5,49 +5,73 @@
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $bac_datas
|
||||
</p>
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
<br><div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
%}
|
||||
% }
|
||||
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
%= form_for '/backupd' => (method => 'POST') => begin
|
||||
<br>
|
||||
|
||||
<h2><%=l 'bac_WORKSTN_SEL_RESTORE' %></h2>
|
||||
|
||||
%= $c->render_to_string(inline => (l 'bac_WORKSTN_SEL_REST_DESC') . ' ' . $c->get_shared_folder_to_verify())
|
||||
<br>
|
||||
|
||||
<h3><%=l 'bac_BACKUP_CHOICE' %></h3>
|
||||
<form action="/smanager/backupd" method="POST">
|
||||
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_SELECT_BACKUP_FILE'
|
||||
</span>
|
||||
<span class="">
|
||||
%= select_field 'Backupset' => $c->get_Restoreset_options(), class => ""
|
||||
</span>
|
||||
<br>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_FILTER_EXPRESSION'
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'Filterexp', size => 32, class => ""
|
||||
</span>
|
||||
<br>
|
||||
<br>
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
%= submit_button $c->l('PERFORM'), class => ""
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => (l 'bac_WORKSTN_SEL_REST_DESC') . ' ' . $c->get_shared_folder_to_verify()) %>
|
||||
</div>
|
||||
|
||||
% end
|
||||
<br>
|
||||
|
||||
<h3><%= l 'bac_BACKUP_CHOICE' %></h3>
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<%= l 'bac_SELECT_BACKUP_FILE' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<%= select_field 'Backupset' => $c->get_Restoreset_options(), class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<label for="inputFilterExpression" class="col-form-label"><%=l 'bac_FILTER_EXPRESSION' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="text" name="Filterexp" id="inputFilterExpression" class="form-control" aria-describedby="Input Filter Expression">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
|
||||
% my $btn = l('PERFORM');
|
||||
|
||||
<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>
|
||||
|
||||
</div>
|
||||
|
||||
|
@@ -5,51 +5,71 @@
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $bac_datas
|
||||
</p>
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
<br>
|
||||
<div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
% }
|
||||
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
<br>
|
||||
|
||||
<h2><%=l 'bac_WORKSTN_SELECTIVE_RESTORE' %></h2>
|
||||
|
||||
<br>
|
||||
|
||||
%= $c->render_to_string(inline => (l 'bac_READ_COMPLETE'))
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => (l 'bac_READ_COMPLETE')) %>
|
||||
</div>
|
||||
|
||||
%= form_for '/backupd' => (method => 'POST') => begin
|
||||
<br>
|
||||
|
||||
<br><span class="">
|
||||
%=l 'bac_SELECT_FILES_TO_RESTORE'
|
||||
</span>
|
||||
<span class="">
|
||||
%= select_field 'Restorefiles' => $c->get_Restorefiles_options($bac_datas->{'filterexp'},$bac_datas->{'backupset'}), class => "", multiple => 1, size => 15
|
||||
</span>
|
||||
<br>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_SELECT_DATE_BEFORE'
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'Seldatebefore', size => 32, class => ""
|
||||
</span>
|
||||
<br>
|
||||
<br>
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
%= hidden_field 'Backupset' => $bac_datas->{'backupset'}
|
||||
%= hidden_field 'Filterexp' => $bac_datas->{'filterexp'}
|
||||
<form action="/smanager/backupd" method="POST">
|
||||
|
||||
%= submit_button $c->l('PERFORM'), class => ""
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<%=l 'bac_SELECT_FILES_TO_RESTORE' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<%= select_field 'Restorefiles' => $c->get_Restorefiles_options($bac_datas->{'filterexp'},$bac_datas->{'backupset'}), class => "form-select", multiple => 1, size => 15 %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
% end
|
||||
<br><br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<label for="inputSelectDate" class="col-form-label"><%=l 'bac_SELECT_DATE_BEFORE' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="text" name="Seldatebefore" id="inputSelectDate" class="form-control" aria-describedby="Restore most recent">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
%= hidden_field 'Backupset' => $bac_datas->{'backupset'}
|
||||
%= hidden_field 'Filterexp' => $bac_datas->{'filterexp'}
|
||||
|
||||
|
||||
% my $btn = l('PERFORM');
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<button type="submit" class="btn btn-primary" value="<%=$c->l('bac_RESTORE_FROM_TAPE')%>"><%= $btn %></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form>
|
||||
|
||||
</div>
|
||||
% end
|
@@ -5,30 +5,44 @@
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $bac_datas
|
||||
</p>
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
<div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
%}
|
||||
% }
|
||||
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
<br>
|
||||
|
||||
<h2><%=l 'bac_WORKSTN_SELECTIVE_RESTORE' %></h2>
|
||||
<br>
|
||||
%= $c->render_to_string(inline => $bac_datas->{restore_log})
|
||||
|
||||
<br>
|
||||
|
||||
%= form_for '/backupd' => (method => 'POST') => begin
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
%= submit_button $c->l('NEXT'), class => ""
|
||||
<form action="/smanager/backupd" method="POST">
|
||||
|
||||
% end
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => $bac_datas->{restore_log}) %>
|
||||
</div>
|
||||
|
||||
<%= hidden_field 'Function' => $bac_datas->{'function'} %>
|
||||
|
||||
% my $btn = l('NEXT');
|
||||
|
||||
<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>
|
||||
|
||||
</div>
|
||||
% end
|
@@ -4,59 +4,75 @@
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $bac_datas
|
||||
</p>
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas %>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
<br><div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
% }
|
||||
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
<h2>
|
||||
%=l 'bac_VERIFY_WORKSTN_BACKUP_FILE'
|
||||
</h2>
|
||||
|
||||
%= form_for '/backup' => (method => 'POST') => begin
|
||||
|
||||
% if ($bac_datas->{status} ne 'enabled') {
|
||||
%= $c->render_to_string(inline => (l 'bac_CONFIGURATION_TO_BE_DONE'))
|
||||
% } else {
|
||||
%= $c->render_to_string(inline => (l 'bac_VERIFY_WORKSTN_BACKUP_DESC') . ' ' . $c->get_shared_folder_to_verify())
|
||||
%}
|
||||
<br>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_SELECT_BACKUP_FILE'
|
||||
</span>
|
||||
<span class="">
|
||||
%= select_field 'Backupset' => $c->get_Backupset_options(), class => ""
|
||||
</span>
|
||||
<br>
|
||||
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_CHECK_TO_VERIFY_FULL_RESTORE'
|
||||
</span>
|
||||
<span class="">
|
||||
%= check_box 'Verifyall'
|
||||
</span>
|
||||
</p>
|
||||
<br>
|
||||
<h2><%=l 'bac_VERIFY_WORKSTN_BACKUP_FILE' %></h2>
|
||||
|
||||
%=l 'bac_CHECK_INTEGRITY_WARNING'
|
||||
<form action="/smanager/backup" method="POST">
|
||||
|
||||
<br>
|
||||
<br>
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'} . '1'
|
||||
%= submit_button $c->l('bac_VERIFY'), class => ""
|
||||
<br>
|
||||
|
||||
% end
|
||||
% if ($bac_datas->{status} ne 'enabled') {
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => (l 'bac_CONFIGURATION_TO_BE_DONE')) %>
|
||||
</div>
|
||||
% } else {
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => (l 'bac_VERIFY_WORKSTN_BACKUP_DESC') . ' ' . $c->get_shared_folder_to_verify()) %>
|
||||
</div>
|
||||
% }
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<%=l 'bac_SELECT_BACKUP_FILE' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<%= select_field 'Backupset' => $c->get_Backupset_options(), class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-4">
|
||||
<%=l 'bac_CHECK_TO_VERIFY_FULL_RESTORE' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type='checkbox' name='Verifyall'>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
%=l 'bac_CHECK_INTEGRITY_WARNING'
|
||||
|
||||
<br>
|
||||
<br>
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'} . '1'
|
||||
|
||||
% my $btn = l('bac_VERIFY');
|
||||
|
||||
<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>
|
||||
</div>
|
||||
% end
|
@@ -4,34 +4,47 @@
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $bac_datas->{function}
|
||||
<!-- dumper $bac_datas->{'files_list'} -->
|
||||
</p>
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $bac_datas->{function} %>
|
||||
<!-- dumper $bac_datas->{'files_list'} -->
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
<div class="text-danger">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
%}
|
||||
% }
|
||||
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
<br>
|
||||
|
||||
<h2><%= l 'bac_VERIFY_WORKSTN_BACKUP_FILE' %></h2>
|
||||
|
||||
<br>
|
||||
%= $c->render_to_string(inline => $c->workstnVerify())
|
||||
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => $c->workstnVerify()) %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
%= form_for '/backupd' => (method => 'POST') => begin
|
||||
<form action="/smanager/backupd" method="POST">
|
||||
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
|
||||
%= submit_button $c->l('NEXT'), class => ""
|
||||
% my $btn = l('NEXT');
|
||||
|
||||
<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>
|
||||
% end
|
@@ -2,11 +2,11 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
% if ( config 'debug' ) {
|
||||
% if (config->{debug} == 1) {
|
||||
<div>
|
||||
<!-- %= dumper $c->current_route -->
|
||||
<%= dumper $c->current_route %>
|
||||
% if ( stash 'trt' ) {
|
||||
%= dumper stash 'trt'
|
||||
<%= dumper stash 'trt' %>
|
||||
% }
|
||||
</div>
|
||||
% }
|
||||
|
@@ -19,33 +19,31 @@
|
||||
<br>
|
||||
|
||||
|
||||
<div>
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<%= l 'PASSWORD_NEW' %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<input name="newPass" id="newPass" type="password" class="form-control sme-password" placeholder="Password">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input name="newPass" id="password" type="password" class="form-control sme-password" placeholder="Password" autocomplete="on">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span id="togglePassword" class="bi bi-eye"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<%= l 'PASSWORD_VERIFY_NEW' %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<input name="newPassVerify" id="newPassVerify" type="password" class="form-control sme-password" placeholder="Password">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input name="newPassVerify" id="passVerify" type="password" class="form-control sme-password" placeholder="Password" autocomplete="on">
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div class="col-auto">
|
||||
<span id="togglePasswordVerify" class="bi bi-eye"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
|
@@ -8,7 +8,7 @@
|
||||
% my %ret;
|
||||
% unless (length($retref)) {%ret = (ret=>"");}
|
||||
% else {%ret = %$retref;}
|
||||
|
||||
|
||||
<!-- So at this point the next section is only relevant it ret is not defined -->
|
||||
|
||||
%# my $element_count = scalar(@ret);
|
||||
@@ -40,9 +40,9 @@
|
||||
% }
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
% my $btn = l('ln_LOCALNETWORK_ADD');
|
||||
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<button type="submit" class="btn btn-primary"><%= $btn %></button>
|
||||
@@ -50,7 +50,7 @@
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
% my $numlocalnetworks = @$localnetworks;
|
||||
% if ($numlocalnetworks == 0) {
|
||||
<%= l 'ln_LOCAL_NETWORK_NONE' %>
|
||||
@@ -72,11 +72,11 @@
|
||||
% my $removable = $localnetwork->prop('Removable') || "yes";
|
||||
% my $system = $localnetwork->prop('SystemLocalNetwork') || "no";
|
||||
% if ( $system eq "yes" ) { $removable = "no"; }
|
||||
<tr>
|
||||
<td><%= $localnetwork->key %>
|
||||
<td><%= $localnetwork->prop('Mask') %>
|
||||
<td><%= $num_hosts %>
|
||||
<td><%= $localnetwork->prop('Router') %>
|
||||
<tr class="align-middle">
|
||||
<td><%= $localnetwork->key %></td>
|
||||
<td><%= $localnetwork->prop('Mask') %></td>
|
||||
<td><%= $num_hosts %></td>
|
||||
<td><%= $localnetwork->prop('Router') %></td>
|
||||
% my $actionRemove = ' ';
|
||||
% if ($removable eq "yes") {
|
||||
%my $remove_text = l('REMOVE'); # Localized text
|
||||
@@ -97,6 +97,6 @@
|
||||
</table>
|
||||
<%= hidden_field 'trt' => $ln_datas->{trt} %>
|
||||
% }
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,51 +1,61 @@
|
||||
<div>
|
||||
|
||||
% my $btn = l('ADD');
|
||||
<h2><%=l 'prt_CREATE_NEW_PRINTER' %></h2>
|
||||
|
||||
%= form_for '/printers2' => (method => 'POST') => begin
|
||||
<p>
|
||||
<h2>
|
||||
%=l 'prt_CREATE_NEW_PRINTER'
|
||||
</h2>
|
||||
<br>
|
||||
%=l 'prt_CREATE_NEW_DESC'
|
||||
</p>
|
||||
<br>
|
||||
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'prt_PRINTER_NAME', class => ""
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'Name', class => ""
|
||||
</span>
|
||||
</p>
|
||||
<form action="/smanager/printers2" method="POST">
|
||||
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'DESCRIPTION_BRIEF', class => ""
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'Description', class => ""
|
||||
</span>
|
||||
</p>
|
||||
<br>
|
||||
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'LOCATION', class => ""
|
||||
</span>
|
||||
<span class="">
|
||||
%= select_field 'Location' => $c->printerLocation_list(), class => ""
|
||||
</span>
|
||||
</p>
|
||||
<div>
|
||||
<%= l 'prt_CREATE_NEW_DESC' %>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<br><br>
|
||||
%= submit_button "$btn", class => ""
|
||||
</p>
|
||||
<br>
|
||||
|
||||
%= hidden_field 'trt' => $prt_datas->{trt}
|
||||
|
||||
% end
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<label for="inputPrinterName" class="col-form-label"><%= l 'prt_PRINTER_NAME' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="text" name="Name" id="inputPrinterName" class="form-control" aria-describedby="Printer Name">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<label for="inputPrinterDesc" class="col-form-label"><%= l 'DESCRIPTION_BRIEF' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="text" name="Description" id="inputPrinterDesc" class="form-control" aria-describedby="Printer Description">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<%= l 'LOCATION'%>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<%= select_field 'Location' => $c->printerLocation_list(), class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
<%= hidden_field 'trt' => $prt_datas->{trt} %>
|
||||
|
||||
% my $btn = l('ADD');
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<button type="submit" class="btn btn-primary"><%= $btn %></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
@@ -1,30 +1,38 @@
|
||||
<div>
|
||||
% my $btn = l('REMOVE');
|
||||
%= form_for '/printers2' => (method => 'POST') => begin
|
||||
<p>
|
||||
<h2>
|
||||
%=l 'prt_REMOVE_PRINTER'
|
||||
</h2>
|
||||
<br><br>
|
||||
|
||||
<%=l 'prt_ABOUT_TO_REMOVE'%> <%=$prt_datas->{printer}%>
|
||||
(<%=$prt_datas->{description}%>)
|
||||
<h2><%= l 'prt_REMOVE_PRINTER' %></h2>
|
||||
|
||||
<form action="/smanager/printers2" method="POST">
|
||||
|
||||
<br>
|
||||
|
||||
%=l 'prt_SPOOL_FILE_WARNING'
|
||||
<div>
|
||||
<%= l 'prt_ABOUT_TO_REMOVE'%> <%=$prt_datas->{printer}%> (<%=$prt_datas->{description}%>)
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
%=l 'prt_ARE_YOU_SURE'
|
||||
</p>
|
||||
<div class="text-danger">
|
||||
<%= l 'prt_SPOOL_FILE_WARNING' %>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<br>
|
||||
%= submit_button "$btn", class => ""
|
||||
</p>
|
||||
|
||||
<div>
|
||||
<%= l 'prt_ARE_YOU_SURE' %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
%= hidden_field 'trt' => $prt_datas->{trt}
|
||||
%= hidden_field 'printer' => $prt_datas->{printer}
|
||||
|
||||
% end
|
||||
% my $btn = l('REMOVE');
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<button type="submit" class="btn btn-primary"><%= $btn %></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
@@ -1,82 +1,72 @@
|
||||
<div>
|
||||
|
||||
% my $btn = l('prt_INITIAL_BTN');
|
||||
|
||||
%= form_for '/printers' => (method => 'POST') => begin
|
||||
|
||||
%= hidden_field 'trt' => 'ADD'
|
||||
|
||||
<p>
|
||||
<br>
|
||||
%= submit_button "$btn", class => ""
|
||||
</p>
|
||||
% end
|
||||
|
||||
<p>
|
||||
<h2>
|
||||
%=l 'prt_CURRENT_LIST'
|
||||
</h2>
|
||||
<form action="/smanager/printers" method="POST">
|
||||
|
||||
% my $btn = l('prt_INITIAL_BTN');
|
||||
<%= hidden_field 'trt' => 'ADD' %>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<button type="submit" class="btn btn-primary"><%= $btn %></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<br>
|
||||
|
||||
<h2><%= l 'prt_CURRENT_LIST' %></h2>
|
||||
<br><br>
|
||||
% my $numPrinters = @$printerDrivers;
|
||||
% if ($numPrinters == 0){
|
||||
%=l 'prt_NO_PRINTERS'
|
||||
% } else {
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="">
|
||||
%=l 'NAME'
|
||||
</th>
|
||||
<th class="">
|
||||
%=l 'DESCRIPTION'
|
||||
</th>
|
||||
<th class="">
|
||||
%=l 'LOCATION'
|
||||
</th>
|
||||
<th class="">
|
||||
%=l 'prt_REMOTE_ADDRESS'
|
||||
</th>
|
||||
<th class="">
|
||||
%=l 'prt_REMOTE_NAME'
|
||||
</th>
|
||||
<th class="">
|
||||
%=l 'ACTION'
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
% foreach my $printer (@$printerDrivers)
|
||||
% {
|
||||
% my $address = ($printer->prop('Location') eq 'remote')
|
||||
% ? $printer->prop('Address') : 'N/A';
|
||||
% my $remoteName = ($printer->prop('Location') eq 'remote')
|
||||
% ? $printer->prop('RemoteName') : 'N/A';
|
||||
% $remoteName = 'raw' unless ($remoteName);
|
||||
<tr>
|
||||
%= t td => (class => "") => $printer->key
|
||||
%= t td => (class => "") => $printer->prop('Description')
|
||||
%= t td => (class => "") => $printer->prop('Location')
|
||||
%= t td => (class => "") => $address
|
||||
%= t td => (class => "") => $remoteName
|
||||
<td class="">
|
||||
%my $remove_text = l('REMOVE'); # Localized text
|
||||
%my $csrf_token = "TOKEN"; # CSRF token for security
|
||||
%my $printer_name = $printer->key;
|
||||
%my $actionRemove = qq{
|
||||
% <a href="printers2?CsrfDef=$csrf_token&trt=DEL&&printer=$printer_name">
|
||||
% <button type='button' class="" title='$remove_text' >
|
||||
% $remove_text
|
||||
% </button>
|
||||
% </a>
|
||||
%};
|
||||
<%= $c->render_to_string(inline => $actionRemove) %>
|
||||
</td>
|
||||
</tr>
|
||||
% }
|
||||
</tbody>
|
||||
</table>
|
||||
<%} %>
|
||||
</p>
|
||||
|
||||
% my $numPrinters = @$printerDrivers;
|
||||
% if ($numPrinters == 0){
|
||||
<%= l 'prt_NO_PRINTERS' %>
|
||||
% } else {
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><%= l 'NAME' %></th>
|
||||
<th><%= l 'DESCRIPTION' %></th>
|
||||
<th><%= l 'LOCATION' %></th>
|
||||
<th><%= l 'prt_REMOTE_ADDRESS' %></th>
|
||||
<th><%= l 'prt_REMOTE_NAME' %></th>
|
||||
<th><%= l 'ACTION' %></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
% foreach my $printer (@$printerDrivers) {
|
||||
% my $address = ($printer->prop('Location') eq 'remote')
|
||||
% ? $printer->prop('Address') : 'N/A';
|
||||
% my $remoteName = ($printer->prop('Location') eq 'remote')
|
||||
% ? $printer->prop('RemoteName') : 'N/A';
|
||||
% $remoteName = 'raw' unless ($remoteName);
|
||||
|
||||
<tr class="align-middle">
|
||||
<td><%= $printer->key %></td>
|
||||
<td><%= $printer->prop('Description') %></td>
|
||||
<td><%= $printer->prop('Location') %></td>
|
||||
<td><%= $address %></td>
|
||||
<td><%= $remoteName %></td>
|
||||
<td>
|
||||
% my $remove_text = l('REMOVE'); # Localized text
|
||||
% my $csrf_token = "TOKEN"; # CSRF token for security
|
||||
% my $printer_name = $printer->key;
|
||||
% my $actionRemove = qq{
|
||||
% <a href="printers2?CsrfDef=$csrf_token&trt=DEL&&printer=$printer_name">
|
||||
% <button type='button' class="btn btn-primary" title='$remove_text' >
|
||||
% $remove_text
|
||||
% </button>
|
||||
% </a>
|
||||
% };
|
||||
<%= $c->render_to_string(inline => $actionRemove) %>
|
||||
</td>
|
||||
</tr>
|
||||
% }
|
||||
</tbody>
|
||||
</table>
|
||||
% }
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
@@ -19,7 +19,9 @@
|
||||
|
||||
|
||||
% if ($numUsers == 0){
|
||||
<%= l 'ACCOUNT_USER_NONE' %>
|
||||
<div>
|
||||
<%= l 'ACCOUNT_USER_NONE' %>
|
||||
</div>
|
||||
% } else {
|
||||
|
||||
% my $limit = l('quo_LIMIT_WITH_GRACE_MB'); $limit =~ s#(graceX)#<br>$1#;
|
||||
|
@@ -22,7 +22,7 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr class="">
|
||||
<tr>
|
||||
<th><%=l 'ACCOUNT' %></th>
|
||||
<th><%=l 'USER_NAME' %></th>
|
||||
<th><%=l 'usr_VPN_CLIENT_ACCESS' %></th>
|
||||
@@ -54,7 +54,7 @@
|
||||
% my ($actionModify, $actionLock, $actionResetPw, $actionRemove,$actionroundcube) = ' ';
|
||||
% my $thisdomain = $c->req->url->to_abs->host;
|
||||
|
||||
<tr>
|
||||
<tr class="align-middle">
|
||||
<td><%= $username %></td>
|
||||
<td><%= $first %> <%=$last %></td>
|
||||
<td><%= $vpnaccess %></td>
|
||||
|
@@ -43,31 +43,31 @@
|
||||
<%= l 'usr_RESET_DESC2' %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<%= l 'PASSWORD_NEW' %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br><br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<input name="newPass" id="newPass" type="password" class="form-control sme-password" placeholder="Password">
|
||||
<div class="col-md-1">
|
||||
<%= l 'PASSWORD_NEW' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input name="newPass" id="password" type="password" class="form-control sme-password" placeholder="Password" autocomplete="on">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span id="togglePassword" class="bi bi-eye"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<%= l 'PASSWORD_VERIFY_NEW' %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<input name="newPassVerify" id="newPassVerify" type="password" class="form-control sme-password" placeholder="Password">
|
||||
<div class="col-md-1">
|
||||
<%= l 'PASSWORD_VERIFY_NEW' %>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input name="newPassVerify" id="passVerify" type="password" class="form-control sme-password" placeholder="Password" autocomplete="on">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span id="togglePasswordVerify" class="bi bi-eye"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@@ -5,10 +5,10 @@
|
||||
<div class="card-body">
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<div>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $prt_datas
|
||||
</div>
|
||||
<pre>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $prt_datas
|
||||
</pre>
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
|
@@ -24,12 +24,13 @@
|
||||
|
||||
<% my $btn = l('SAVE'); %>
|
||||
|
||||
|
||||
|
||||
<form action="/smanager/remoteaccess" method="POST">
|
||||
|
||||
% my $ipsec = $c->get_ipsecrw_status();
|
||||
% if ( $ipsec ) {
|
||||
|
||||
<!-- reetp not tested -->
|
||||
% if ( $ipsec) {
|
||||
|
||||
<h2><%= l 'rma_TITLE_IPSECRW' %></h2>
|
||||
<div>
|
||||
<%= l 'rma_DESC_IPSECRW' %>
|
||||
@@ -42,7 +43,7 @@
|
||||
<%= text_field 'IpsecrwSess', class => "" %>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => $c->l('rma_DESC_IPSECRW_RESET')); %>
|
||||
</div>
|
||||
@@ -51,19 +52,19 @@
|
||||
<%= l 'rma_LABEL_IPSECRW_RESET' %>
|
||||
</div>
|
||||
<div>
|
||||
<%= check_box 'IpsecrwReset',class => "" %>
|
||||
<input type='checkbox' name='IpsecrwReset'>
|
||||
</div>
|
||||
<br><br>
|
||||
<!--<hr class="" />-->
|
||||
|
||||
%}
|
||||
% }
|
||||
|
||||
<!-- percequ include 'partials/_rma_pptp' -->
|
||||
|
||||
<h2><%= $c->l('rma_VALIDFROM_TITLE', $c->l('rma_REMOTE_MANAGEMENT')); %></h2>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<div>
|
||||
<%= l 'rma_VALIDFROM_DESC' %>
|
||||
</div>
|
||||
@@ -82,12 +83,12 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
|
||||
% foreach my $val ( @vals ) {
|
||||
% my ($net, $mask) = split '/', $val;
|
||||
% $mask = '255.255.255.255' unless ($mask);
|
||||
% my ($numhosts,$a,$b) = esmith::util::computeHostRange($net,$mask);
|
||||
<tr>
|
||||
<tr class="align-middle">
|
||||
<td><%= $net %></td>
|
||||
<td><%= $mask %></td>
|
||||
<td><%= $numhosts %></td>
|
||||
@@ -96,9 +97,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
% }
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
<!-- my @cbGroup = $q->checkbox_group(-name => 'validFromRemove',
|
||||
-values => [@vals], -labels => { map {$_ => ''} @vals });
|
||||
@@ -109,36 +110,42 @@
|
||||
<b><%= l('rma_NO_ENTRIES_YET'); %></b>
|
||||
% }
|
||||
|
||||
<%= l 'rma_DESC_VALID_FROM_ENTRIES' %>
|
||||
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<%= l 'rma_DESC_VALID_FROM_ENTRIES' %>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'NETWORK' %>
|
||||
<div class="col-md-1">
|
||||
<label for="inputNetwork" class="col-form-label"><%= l 'NETWORK' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<%= text_field 'ValidFromNetwork', class => "" %>
|
||||
<input type="text" name="ValidFromNetwork" id="inputNetwork" class="form-control" aria-describedby="Network">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'rma_SUBNET_MASK' %>
|
||||
<div class="col-md-1">
|
||||
<label for="inputSubnetMask" class="col-form-label"><%= l 'rma_SUBNET_MASK' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<%= text_field 'ValidFromMask', class => "" %>
|
||||
<input type="text" name="ValidFromMask" id="inputSubnetMask" class="form-control" aria-describedby="Subnet">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--<hr class="" />-->
|
||||
|
||||
<br><br>
|
||||
|
||||
<h2><%= l 'rma_TITLE_SSH' %></h2>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<div>
|
||||
<%= l 'rma_DESC_SSH' %>
|
||||
</div>
|
||||
@@ -156,7 +163,7 @@
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'rma_LABEL_SSH_ADMIN' %>
|
||||
@@ -178,16 +185,16 @@
|
||||
<%= select_field 'SshPasswordAuthentication' => [[(l 'NO'), 'no'], [(l 'YES'), 'yes']], class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'rma_LABEL_SSH_PORT' %>
|
||||
<label for="inputSSHPort" class="col-form-label"><%= l 'rma_LABEL_SSH_PORT' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="col-sm-1">
|
||||
% param 'SshTCPPort' => $c->get_ssh_port() unless param 'SshTCPPort';
|
||||
<%= text_field 'SshTCPPort' %>
|
||||
<input type="text" name="SshTCPPort" id="inputSSHPort" class="form-control" aria-describedby="SSH Port" value="<%= $c->get_ssh_port() %>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -195,12 +202,14 @@
|
||||
|
||||
<!--<hr class="" />-->
|
||||
|
||||
<br><br>
|
||||
<h2><%= l 'rma_TITLE_FTP_ACCESS' %></h2>
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => $c->l('rma_DESC_FTP_ACCESS')); %>
|
||||
</div>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
@@ -212,16 +221,16 @@
|
||||
<%= select_field 'FtpAccess' => $c->networkAccess_list(), class => "form-select" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
||||
<div>
|
||||
<%= $c->render_to_string(inline => $c->l('rma_DESC_FTP_LOGIN')); %>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'rma_LABEL_FTP_LOGIN' %>
|
||||
@@ -237,19 +246,19 @@
|
||||
% my $mode = $c->get_telnet_mode();
|
||||
% if ( $mode ne 'off') {
|
||||
<!--<hr class="" />-->
|
||||
|
||||
|
||||
<h2><%= l 'rma_TITLE_TELNET_ACCESS' %></h2>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'rma_DESC_TELNET_ACCESS' %>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<%= l 'rma_LABEL_TELNET_ACCESS' %>
|
||||
|
@@ -16,7 +16,7 @@
|
||||
% if ( stash 'error' ) {
|
||||
<br>
|
||||
<div>
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<div>
|
||||
%= $c->render_to_string( inline => l('pwd_DESCRIPTION'));
|
||||
</div>
|
||||
|
||||
|
||||
% if ( $pwd_datas->{trt} eq 'RESET' ) {
|
||||
% my $btn = l('pwd_PASSWORD_RESET');
|
||||
% my $url = '/userpasswordr';
|
||||
@@ -57,16 +57,16 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
% if ( $pwd_datas->{trt} ne 'RESET' ) {
|
||||
<div>
|
||||
<%= l 'pwd_PASSWORD_OLD' %>
|
||||
</div>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<input name="OldPass" id="OldPass" type="password" class="form-control sme-password" placeholder="Password">
|
||||
@@ -74,14 +74,14 @@
|
||||
</div>
|
||||
% }
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<%= l 'pwd_PASSWORD_NEW' %>
|
||||
</div>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<input name="Pass" id="Pass" type="password" class="form-control sme-password" placeholder="Password">
|
||||
@@ -93,14 +93,14 @@
|
||||
<div>
|
||||
%=l 'pwd_PASSWORD_VERIFY_NEW'
|
||||
</div>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<input name="Passverify" id="PassVerify" type="password" class="form-control sme-password" placeholder="Password">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
|
@@ -5,12 +5,12 @@
|
||||
<div class="card-body">
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<div>
|
||||
(DBG)route: <%= $c->current_route %><br>
|
||||
(DBG)pdc: <%= $wkg_datas->{ServerRole}%><br>
|
||||
(DBG)roam: <%= $wkg_datas->{RoamingProfiles}%><br>
|
||||
</div>
|
||||
%}
|
||||
<pre>
|
||||
route: <%= dumper $c->current_route %>
|
||||
pdc: <%= dumper $wkg_datas->{ServerRole}%>
|
||||
roam: <%= dumper $wkg_datas->{RoamingProfiles}%>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
<h1><%= $title %></h1>
|
||||
<br>
|
||||
@@ -29,8 +29,8 @@
|
||||
<label for="inputWorkgroup" class="col-form-label"><%= l 'wkg_LABEL_WORKGROUP' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="text" name="Workgroup" id="inputWorkgroup" class="form-control" aria-describedby="inputWorkgroup" maxlength="15" value="<%= $wkg_datas->{Workgroup}%>" >
|
||||
</div>
|
||||
<input type="text" name="Workgroup" id="inputWorkgroup" class="form-control" aria-describedby="inputWorkgroup" maxlength="15" size="15" value="<%= $wkg_datas->{Workgroup}%>" >
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span id="passwordHelpInline" class="form-text">
|
||||
Limited to 15 characters by the NETBIOS
|
||||
|
@@ -1,6 +1,6 @@
|
||||
%define name smeserver-manager-AdminLTE
|
||||
%define version 11.0.0
|
||||
%define release 32
|
||||
%define release 35
|
||||
Summary: AdminLTE is an html framework for admin consoles - this rpm adds it to smeserver manager2
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
@@ -29,7 +29,33 @@ AdminLTE is an html framework for admin consoles
|
||||
wget https://github.com/ColorlibHQ/AdminLTE/archive/master.zip
|
||||
|
||||
%changelog
|
||||
* Mon Jun 09 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0.31.sme
|
||||
* Thu Jun 12 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-35.sme
|
||||
- Finish backup panels
|
||||
- Finish printer panels
|
||||
- Tidy Local Networks
|
||||
- Small layout tweaks
|
||||
|
||||
* Wed Jun 11 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-34.sme
|
||||
- Update flag detection JS [SME: 13039]
|
||||
- Tweak login template
|
||||
- Update Remoteaccess template
|
||||
- Various formatting fixes
|
||||
- User password trying to get the show hide password icon working
|
||||
- Ibay password trying to get the show hide password icon working
|
||||
- Continue Backup panels
|
||||
|
||||
* Tue Jun 10 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-33.sme
|
||||
- Fix out of sync versioning
|
||||
|
||||
* Tue Jun 10 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-32.sme
|
||||
- Add autocomplete to login as per Google
|
||||
- Update to Quota list - thanks Ed Burgstaler
|
||||
- Update Clamav
|
||||
- Modify ibay update
|
||||
- Modify Localnetwork list
|
||||
- Start remoteaccess
|
||||
|
||||
* Mon Jun 09 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-31.sme
|
||||
- Fix some issues with user panel
|
||||
- Fix missing bootstrap icons
|
||||
- Reduce font size to keep Brian happy
|
||||
|
Reference in New Issue
Block a user