Compare commits
3 Commits
11_0_0-46_
...
11_0_0-48_
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0811200222 | ||
![]() |
8e17b87a2f | ||
![]() |
64de86dcf7 |
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -5,9 +5,78 @@ $(document).ready(function () {
|
||||
let pass = togglePassword;
|
||||
|
||||
if (pass) {
|
||||
togglePassword.addEventListener("click", function () {
|
||||
// toggle the type attribute
|
||||
togglePassword.addEventListener("click", function () {
|
||||
// toggle the type attribute
|
||||
const type = password.getAttribute("type") === "password" ? "text" : "password";
|
||||
password.setAttribute("type", type);
|
||||
// toggle the eye icon
|
||||
if (type === "text") {
|
||||
$(this).removeClass("bi-eye");
|
||||
$(this).addClass("bi-eye-slash");
|
||||
} else {
|
||||
$(this).removeClass("bi-eye-slash");
|
||||
$(this).addClass("bi-eye");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
// Get the fields
|
||||
const toggle = document.querySelector("#togglePasswords");
|
||||
const passwords = document.querySelectorAll('[type="password"]');
|
||||
|
||||
|
||||
// listen for click events on the toggle
|
||||
toggle.addEventListener("click", function () {
|
||||
// loop through each password field
|
||||
for (let password of passwords) {
|
||||
// if toggle is checked, change type to "text"
|
||||
// otherwise, change it back to "password"
|
||||
if (toggle.checked) {
|
||||
password.type = "text";
|
||||
} else {
|
||||
password.type = "password";
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
// For each password input
|
||||
$('.sme-password').each(function () {
|
||||
// Create a new container
|
||||
//alert("sme-password");
|
||||
//var $inputContainer = $('<div class="input-container"></div>');
|
||||
|
||||
// Move the input into the new container
|
||||
//$(this).wrap($inputContainer);
|
||||
|
||||
// Create the toggle image
|
||||
//var $togglePassword = $('<img src="images/visible.png" alt="Show Password" class="toggle-password" />');
|
||||
|
||||
// Append the toggle image to the container
|
||||
//$(this).after($togglePassword);
|
||||
});
|
||||
|
||||
$('.toggle-password').on('click', function () {
|
||||
|
||||
alert("toggle-password");
|
||||
// Find the associated password field
|
||||
var input = $(this).siblings('.sme-password');
|
||||
|
||||
// Toggle the type attribute between password and text
|
||||
//var inputType = input.attr('type') === 'password' ? 'text' : 'password';
|
||||
//input.attr('type', inputType);
|
||||
|
||||
// Toggle the icon source based on the input type
|
||||
//var iconSrc = inputType === 'password' ? 'images/visible.png' : 'images/visible-slash.png';
|
||||
//$(this).attr('src', iconSrc);
|
||||
|
||||
const type = password.getAttribute("type") === "password" ? "text" : "password";
|
||||
|
||||
password.setAttribute("type", type);
|
||||
// toggle the eye icon
|
||||
if (type === "text") {
|
||||
@@ -17,6 +86,9 @@ $(document).ready(function () {
|
||||
$(this).removeClass("bi-eye-slash");
|
||||
$(this).addClass("bi-eye");
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
@@ -206,7 +206,7 @@
|
||||
|
||||
<div id="adminlte-version"></div>
|
||||
|
||||
%# Specific panel js code
|
||||
%# Specific panel general js code
|
||||
% $controller = stash('controller');
|
||||
% if ($controller) {
|
||||
% my $js_path = "js/$controller.js";
|
||||
@@ -216,6 +216,17 @@
|
||||
% }
|
||||
% }
|
||||
|
||||
%# Specific panel general js code
|
||||
% $controller = stash('controller');
|
||||
% if ($controller) {
|
||||
% my $js_path = "smanager/koozali/$controller.js";
|
||||
%# Use the url_for helper to generate the correct static file URL
|
||||
% if (app->static->file($js_path)) {
|
||||
<script src="<%= url_for("smanager/koozali/$js_path") %>"></script>
|
||||
% }
|
||||
% }
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
@@ -4,117 +4,115 @@
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $pwd_datas
|
||||
</p>
|
||||
% if (config->{debug} == 0) {
|
||||
<pre>
|
||||
<%= dumper $c->current_route %>
|
||||
<%= dumper $pwd_datas %>
|
||||
</pre>
|
||||
% }
|
||||
|
||||
<h2><%= l 'pwd_ACCOUNT_PASSWORD_CHANGE' %></h2>
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br>
|
||||
<div>
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
<div CLASS="text-danvgr">
|
||||
<%= $c->render_to_string(inline => stash 'error') %>
|
||||
</div>
|
||||
%}
|
||||
% }
|
||||
|
||||
|
||||
% my $btn = l('pwd_PASSWORD_CHANGE');
|
||||
% my $url = '/userpassword';
|
||||
% my $btn = l('pwd_PASSWORD_CHANGE');
|
||||
% my $url = '/userpassword';
|
||||
|
||||
<div>
|
||||
%= $c->render_to_string( inline => l('pwd_DESCRIPTION'));
|
||||
<%= $c->render_to_string( inline => l('pwd_DESCRIPTION')); %>
|
||||
</div>
|
||||
|
||||
% if ( $pwd_datas->{trt} eq 'RESET' ) {
|
||||
% my $btn = l('pwd_PASSWORD_RESET');
|
||||
% my $url = '/userpasswordr';
|
||||
%= $c->render_to_string( inline => l('pwd_DESCRIPTION_RESET'));
|
||||
% my $btn = l('pwd_PASSWORD_RESET');
|
||||
% my $url = '/userpasswordr';
|
||||
<%= $c->render_to_string( inline => l('pwd_DESCRIPTION_RESET')); %>
|
||||
% }
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<!-- Start of Form -->
|
||||
%= form_for $url => (method => 'POST') => begin
|
||||
|
||||
<table class="table table-bordered user-table-max-wdith">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-sm">
|
||||
%= l 'pwd_YOUR_ACCOUNT'
|
||||
</th>
|
||||
<th class="col-sm">
|
||||
%=l 'USER_NAME'
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><%= $pwd_datas->{Account} %></td>
|
||||
<td><%= $pwd_datas->{name} %>Not in pwd_datas-> name ? :-( </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<form action="smanager/userpassword" method="POST">
|
||||
|
||||
<br>
|
||||
|
||||
% if ( $pwd_datas->{trt} ne 'RESET' ) {
|
||||
<div>
|
||||
<%= l 'pwd_PASSWORD_OLD' %>
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<label for="YourAccount" class="col-form-label"><%= l 'pwd_YOUR_ACCOUNT' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="text" name="Account" id="YourAccount" class="form-control-plaintext" value="<%= $pwd_datas->{Account} %>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
% if ( $pwd_datas->{trt} ne 'RESET' ) {
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-1">
|
||||
<label for="OldPass" class="col-form-label"><%= l 'pwd_PASSWORD_OLD' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input name="OldPass" type="password" id="OldPass" class="form-control" placeholder="Old Password">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span id="togglePasswordVerify" class="bi bi-eye"></span>
|
||||
</div>
|
||||
</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">
|
||||
<div class="col-md-1">
|
||||
<label for="Pass" class="col-form-label"><%= l 'pwd_PASSWORD_NEW' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input name="Pass" type="password" id="Pass" class="form-control" placeholder="New Password">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span id="togglePasswordVerify" class="bi bi-eye"></span>
|
||||
</div>
|
||||
</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">
|
||||
<div class="row g-3 align-items-center sme-password">
|
||||
<div class="col-md-1">
|
||||
<label for="PassVerify" class="col-form-label"><%=l 'pwd_PASSWORD_VERIFY_NEW' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input name="Passverify" type="password" id="PassVerify" class="form-control" placeholder="Verify Password">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span id="togglePassword" class="bi bi-eye"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<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>
|
||||
Show All Passwords Test
|
||||
<span id="togglePasswords" class="bi bi-eye"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-md-2">
|
||||
<button type="submit" class="btn btn-primary btn-sm"><%= $btn %></button>
|
||||
<%= hidden_field 'User' => $pwd_datas->{Account} %>
|
||||
<%= hidden_field 'Trt' => $pwd_datas->{trt} %>
|
||||
<%= hidden_field 'jwt' => $pwd_datas->{jwt} %>
|
||||
|
||||
<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>
|
||||
</div>
|
||||
|
||||
%= hidden_field 'User' => $pwd_datas->{Account}
|
||||
%= hidden_field 'Trt' => $pwd_datas->{trt}
|
||||
%= hidden_field 'jwt' => $pwd_datas->{jwt}
|
||||
|
||||
% end
|
||||
</form>
|
||||
<!-- End of Form -->
|
||||
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
%define name smeserver-manager-AdminLTE
|
||||
%define version 11.0.0
|
||||
%define release 46
|
||||
%define release 48
|
||||
|
||||
Summary: AdminLTE is an html framework for admin consoles - this rpm adds it to smeserver manager2
|
||||
Name: %{name}
|
||||
@@ -17,7 +17,7 @@ BuildArchitectures: noarch
|
||||
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
|
||||
BuildRequires: smeserver-devtools
|
||||
Requires: smeserver-release >= 11.0
|
||||
Requires: smeserver-manager >= 11.0.0-101
|
||||
Requires: smeserver-manager >= 11.0.0-104
|
||||
Requires: smeserver-lib >= 11.0.0-13
|
||||
Requires: e-smith-manager >= 2.4.0-22
|
||||
|
||||
@@ -29,6 +29,12 @@ AdminLTE is an html framework for admin consoles
|
||||
wget https://github.com/ColorlibHQ/AdminLTE/archive/master.zip
|
||||
|
||||
%changelog
|
||||
* Wed Jul 23 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-48.sme
|
||||
- Update to AdminLTE 4.0.0-rc4
|
||||
|
||||
* Tue Jul 08 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-47.sme
|
||||
- Working on multipassword show/hide
|
||||
|
||||
* Mon Jul 07 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-46.sme
|
||||
- Too fast on the build button and missed some files
|
||||
|
||||
|
Reference in New Issue
Block a user