Compare commits

...

6 Commits

Author SHA1 Message Date
John Crisp
e0dd4db0d9 cleanup group add file 2025-05-01 12:46:01 +02:00
John Crisp
e88cf07647 format group file 2025-05-01 12:43:53 +02:00
John Crisp
77d3e10bce fix user add and update group files 2025-05-01 12:38:55 +02:00
John Crisp
8ab480abfd Updated CSS 2025-04-25 19:12:10 +02:00
John Crisp
295c6b3ff3 User files finished and groups started 2025-04-25 19:01:25 +02:00
John Crisp
dbeacddd96 More tidying user accounts files 2025-04-25 14:30:30 +02:00
17 changed files with 951 additions and 710 deletions

View File

@@ -51,6 +51,7 @@
.login-page {
min-height: 10vh;
vertical-align: top !important;
}
.nav-icon {
@@ -102,4 +103,8 @@
.user-valign-center {
text-align: center;
}
}
.user-table-max-wdith {
max-width: 50%;
}

View File

@@ -171,6 +171,7 @@
%= include 'partials/_panel_card_top'
%= include 'partials/_panel_card_header'
% }
%= content 'module'
% if ($c->current_route ne 'login') {

View File

@@ -1,62 +1,79 @@
<div>
<div class="container-sm">
<br>
<!-- <h2><%#= l 'grp_FORM_TITLE' %></h2> -->
% my $btn = l('ADD');
%= form_for '/groups2' => (method => 'POST') => begin
<p><h2>
%=l 'CREATE_GROUP'
</h2>
<br><br>
%=l 'grp_GROUP_NAMING'
</p>
<p>
<span class="">
%=l 'GROUP_NAME', class => ""
</span>
<span class="">
%= text_field 'groupName', class => ""
</span>
</p>
<p>
%=l 'grp_GROUP_DESC_EXPL'
<br><br>
<span class="">
%=l 'grp_GROUP_DESC', class => ""
</span>
<span class="">
%= text_field 'groupDesc', class => ""
</span>
</p>
<p>
<span class="">
%=l 'GROUP_MEMBERS', class => ""
</span>
<h2><%= l 'CREATE_GROUP' %></h2>
<br>
<span class="">
%= check_box 'groupMembers' => 'admin'
Administrator (admin)
<%= l 'grp_GROUP_NAMING' %>
<br><br>
% my $btn = l('ADD');
<form action="/smanager/groups2" method="POST">
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputGroupName" class="col-form-label"><%= l 'GROUP_NAME' %></label>
</div>
<div class="col-auto">
<input type="text" name="groupName" id="inputGroupName" class="form-control" aria-describedby="GroupName" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Group
</span>
</div>
</div>
<br><br>
<%= l 'grp_GROUP_DESC_EXPL' %>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputGroupDesc" class="col-form-label"><%= l 'grp_GROUP_DESC' %></label>
</div>
<div class="col-auto">
<input type="text" name="groupDesc" id="inputGroupDesc" class="form-control" aria-describedby="GroupDesc" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Group Alias
</span>
</div>
</div>
<br>
<div>
<%= l 'GROUP_MEMBERS' %>
</div>
<br>
% my $users = $c->gen_users_list();
% foreach my $key ( sort keys %$users )
% {
%= check_box 'groupMembers' => $key
%=$users->{$key}
%= "(" . $key . ")"
<div>
%= check_box 'groupMembers' => 'admin'
&nbspAdministrator (admin)
<br>
% my $users = $c->gen_users_list();
% foreach my $key ( sort keys %$users ) {
%= check_box 'groupMembers' => $key
&nbsp
%= $users->{$key}
%= " (" . $key . ")"
<br>
% }
</span>
</p>
<p>
% }
</div>
<br><br>
%= submit_button "$btn", class => ""
</p>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-primary"><%= $btn %></button>
</div>
</div>
%= hidden_field 'trt' => $grp_datas->{trt}
% end
</div>

View File

@@ -1,63 +1,71 @@
<div>
<div class="container-sm">
% my $btn = l('REMOVE');
%= form_for '/groups2' => (method => 'POST') => begin
<p><h2>
%=l 'REMOVE_USER_GROUP'
</h2>
% my $btn = l('REMOVE');
<p>
%=l('grp_DELETE_DESCRIPTION', $grp_datas->{group})
</p>
<form action="/smanager/groups2" method="POST">
<br><br>
<h2><%=l 'REMOVE_USER_GROUP' %></h2>
<br>
<%=l('grp_DELETE_DESCRIPTION', $grp_datas->{group}) %>
<br><br>
<div>
% my $size = keys %$members;
% if ( ! $size ){
%= l 'ACCOUNT_GROUP_NONE'
% } else {
%= l 'grp_GROUP_HAS_MEMBERS'
<br><br>
<p>
% my $size = keys %$members;
% if ( ! $size ){
%=l 'ACCOUNT_GROUP_NONE'
% } else {
%=l 'grp_GROUP_HAS_MEMBERS'
<br>
<ul>
% foreach my $key ( keys %$members)
% {
<li>
%=$key
(
%=$members->{$key}
)
</li>
% }
</ul>
% }
</p>
% foreach my $key ( keys %$members) {
<li>
%=$key
( <%=$members->{$key} %> )
</li>
% }
</ul>
% }
<p>
% $size = keys %$ibays;
% if ( $size ) {
%=l 'grp_IBAYS_WILL_BE_CHANGED'
</div>
<br><br>
<div>
% $size = keys %$ibays;
% if ( $size ) {
%=l 'grp_IBAYS_WILL_BE_CHANGED'
<br>
<ul>
% foreach my $key (sort ( keys %$ibays ))
% {
<li>
%=$key
(
%=$ibays->{$key}
)
</li>
% }
</ul>
% }
</p>
% foreach my $key (sort ( keys %$ibays )) {
<li>
%=$key
(
%=$ibays->{$key}
)
</li>
% }
</ul>
% }
</div>
<p>
<br>
%= submit_button "$btn", class => ""
</p>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-primary"><%= $btn %></button>
</div>
</div>
%= hidden_field 'trt' => $grp_datas->{trt}
%= hidden_field 'groupName' => $grp_datas->{group}
%= hidden_field 'trt' => $grp_datas->{trt}
%= hidden_field 'groupName' => $grp_datas->{group}
% end
</div>

View File

@@ -4,32 +4,34 @@
%= form_for '/groups' => (method => 'POST') => begin
%= hidden_field 'trt' => 'ADD'
%= hidden_field 'trt' => 'ADD'
<p> <br>
%= submit_button "$btn", class => ""
</p>
<br>
<div>
<button type="submit" class="btn btn-primary"><%= $btn %> </button>
</div>
% end
<p> <h2>
%=l 'grp_CURRENT_LIST'
</h2><br><br>
<br>
<h2><%=l 'grp_CURRENT_LIST' %></h2>
<br><br>
% my $numGroups = @$groups;
% if ($numGroups == 0){
%=l 'ACCOUNT_GROUP_NONE'
% } else {
<table class="table table-bordered">
<table class="table table-bordered user-table-max-wdith">
<thead>
<tr>
<th class="">
%=l 'GROUP'
<th class="col-sm">
%=l 'GROUP'
</th>
<th class="">
%=l 'DESCRIPTION'
<th class="col-sm">
%=l 'DESCRIPTION'
</th>
<th class="">
%=l 'ACTION'
<th class="user-valign-center col-sm" colspan="2">
%=l 'ACTION'
</th>
</tr>
</thead>
@@ -38,37 +40,38 @@
% foreach my $group ( @$groups )
% {
<tr>
%= t td => (class => "") => $group->key
%= t td => (class => "") => $group->prop('Description')
<td class="" style="min-width:15em">
<td><%= $group->key %></td>
<td><%= $group->prop('Description') %></td>
%my $modify_text = l('MODIFY'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security
%my $group_name = $group->key; # group name extracted from the data structure
%my $actionModify = qq{
% <a href="groups2?CsrfDef=$csrf_token&trt=UPD&group=$group_name">
% <button type='button' class="" title='$modify_text' >
% $modify_text
% </button>
% </a>
%<a href="groups2?CsrfDef=$csrf_token&trt=UPD&group=$group_name">
% <button type='button' class="btn btn-primary" title='$modify_text' >
% $modify_text
% </button>
%</a>
%};
%my $remove_text = l('REMOVE'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security
%my $group_name = $group->key; # group name extracted from the data structure
%my $actionRemove = qq{
% <a href="groups2?CsrfDef=$csrf_token&trt=DEL&group=$group_name">
% <button type='button' class="" title='$remove_text' >
%<a href="groups2?CsrfDef=$csrf_token&trt=DEL&group=$group_name">
% <button type='button' class="btn btn-primary" title='$remove_text' >
% $remove_text
% </button>
% </a>
%</a>
%};
<%= $c->render_to_string(inline => $actionModify) %> <%= $c->render_to_string(inline => $actionRemove) %>
</td>
<td class="user-valign-center"><%= $c->render_to_string(inline => $actionModify) %></td>
<td class="user-valign-center"><%= $c->render_to_string(inline => $actionRemove) %></td>
</tr>
% }
</tbody>
</table>
<%} %>
</p>
</div>

View File

@@ -1,71 +1,90 @@
<div>
% my $btn = l('SAVE');
% my $btn = l('SAVE');
%= form_for '/groups2' => (method => 'POST') => begin
<p><h2>
%=l 'MODIFY_USER_GROUP'
</h2><br></p>
<p>
<span class="">
%=l 'GROUP_NAME', class => ""
</span>
<span class="">
%= $grp_datas->{group}, class => ""
</span>
</p>
<p>
%=l 'grp_GROUP_DESC_EXPL'
<form action="/smanager/groups2" method="POST">
<br><br>
<span class="">
%=l 'grp_GROUP_DESC', class => ""
</span>
<span class="">
% param 'groupDesc' => $grp_datas->{description} unless param 'groupDesc';
%= text_field 'groupDesc', class => ""
</span>
</p>
<h2><%= l 'MODIFY_USER_GROUP' %></h2>
<br><br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputLastNAme" class="col-form-label"><%= l 'GROUP_NAME' %></label>
</div>
<div class="col-auto">
<input disabled type="text" id="disabledTextInput" class="form-control" placeholder="<%= $grp_datas->{group} %>">
</div>
</div>
<br><br>
<%=l 'grp_GROUP_DESC_EXPL'%>
<br><br>
% param 'groupDesc' => $grp_datas->{description} unless param 'groupDesc';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputGroupDesc" class="col-form-label"><%= l 'grp_GROUP_DESC' %></label>
</div>
<div class="col-auto">
<input type="text" name="groupDesc" id="inputGroupDesc" class="form-control" aria-describedby="GroupDesc" value="<%= $grp_datas->{description} %>">
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Group Alias
</span>
</div>
</div>
<br><br>
<div>
<%=l 'GROUP_MEMBERS' %>
</div>
<p>
<span class="">
%=l 'GROUP_MEMBERS', class => ""
</span>
<br>
<span class="">
<div>
% if ( $members->{'admin'} ) {
%= check_box 'groupMembers', value => 'admin', checked => undef
%} else {
% } else {
%= check_box 'groupMembers' => 'admin'
%}
Administrator (admin)
% }
&nbspAdministrator (admin)
</div>
<br>
% my $users = $c->gen_users_list();
% foreach my $key ( sort keys %$users )
% {
% my $users = $c->gen_users_list();
% foreach my $key ( sort keys %$users ) {
% if ( $members->{ $key } ) {
<!-- % = check_box 'groupMembers', value => $key, checked => 'checked' -->
<input type='checkbox' name='groupMembers' checked value='<%= $key %>'>
%} else {
%= check_box 'groupMembers' => $key
%}
%=$users->{$key} . " (" . $key . ")"
<br>
% }
</span>
</p>
<input type='checkbox' name='groupMembers' checked value='<%= $key %>'>
% } else {
%= check_box 'groupMembers' => $key
&nbsp
% }
%= $users->{$key}
%= " (" . $key . ")"
<br>
% }
<p>
<br><br>
%= submit_button "$btn", class => ""
</p>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-primary"><%= $btn %></button>
</div>
</div>
%= hidden_field 'trt' => $grp_datas->{trt}
%= hidden_field 'groupName' => $grp_datas->{group}
%= hidden_field 'groupName' => $grp_datas->{group}
% end
</div>

View File

@@ -25,11 +25,11 @@
% foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) {
% next if ($_->{'MENUCAT'} ne 'U' ); # menu User
% if ( $_->{'FILENAME'} =~ m/^2\// ) {
% $target = '_self';
% $target = '_self';
% (my $file2 = $_->{'FILENAME'}) =~ s|^2/||;
% $href = '/smanager/' . $file2;
% } else {
% $target = 'main';
% $target = 'main';
% $href = '/server-manager' . $_->{'FILENAME'};
% }

View File

@@ -1,23 +1,47 @@
<div id="">
<div>
% my $btn = l('REMOVE');
% my $btn = l('REMOVE');
%= form_for '/useraccountsd' => (method => 'POST') => begin
<p>
<h2>
%=l 'usr_REMOVE_ACCOUNT_TITLE'
</h2>
<div>
<h2><%= l 'usr_REMOVE_ACCOUNT_TITLE' %></h2>
</div>
<br>
<div>
Needs a text change in the Lex files
<br>
%= $c->l('usr_REMOVE_DESC', $usr_datas->{user}, $usr_datas->{name} );
</div>
<br><br>
<table class="table table-bordered user-table-max-wdith">
<thead>
<tr>
<th class="col-sm">
%=l 'ACCOUNT'
</th>
<th class="col-sm">
%=l 'USER_NAME'
</th>
</tr>
</thead>
<tbody>
<tr>
<td><%= $usr_datas->{user} %></td>
<td><%= $usr_datas->{name} %></td>
</tr>
</tbody>
</table>
<br>
%= $c->render_to_string(inline => $c->l('usr_REMOVE_DESC2'))
</p>
<p>
<br>
%= submit_button "$btn", class => ""
</p>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-primary"><%= $btn %></button>
</div>
</div>
%= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user}

View File

@@ -5,21 +5,26 @@
%= form_for '/useraccounts' => (method => 'POST') => begin
<div>
<button type="submit" class="btn btn-primary"><%= $btn %> </button>
</div>
<br>
<div>
<button type="submit" class="btn btn-primary"><%= $btn %> </button>
</div>
% end
<p>
<br>
%= $c->render_to_string(inline => $c->l('usr_FIRSTPAGE_DESC'))
<br>
</p>
%#= dumper @$users
% my $numUsers = @$users;
% if ($numUsers == 0){
%=l 'usr_NO_USER_ACCOUNTS'
% } else {
<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
@@ -35,7 +40,7 @@
<th>
%=l 'usr_FORWARDING_ADDRESS'
</th>
<th class="user-valign-center" colspan="5">
<th class="user-valign-center" colspan="5">
%=l 'ACTION'
</th>
</tr>
@@ -66,6 +71,7 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $useraccounts_user_name = $user->key; # useraccountss_entry name extracted from the data structure
% my $password_text = l("PASSWORD_RESET");
% if ($useraccounts_user_name eq 'admin') {
%$actionModify = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=UPS&user=$useraccounts_user_name">
@@ -90,6 +96,8 @@
%</a>
%};
% }
% if ($password_set ne 'yes') {
%$actionLock = l('ACCOUNT_LOCKED');
%$actionResetPw = qq{
@@ -100,7 +108,7 @@
%</a>
%};
% } elsif ($useraccounts_user_name ne 'admin') {
% my $lock_text = l('ACCOUNT LOCKED'); # Localized text
% my $lock_text = l('usr_LOCK'); # Localized text
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $useraccounts_user_name = $user->key; # useraccountss_entry name extracted from the data structure
%$actionLock = qq{
@@ -118,6 +126,7 @@
%</a>
%};
% }
% if ( $removable eq 'yes' ) {
% my $remove_text = l('REMOVE'); # Localized text
% my $csrf_token = "TOKEN"; # CSRF token for security
@@ -150,6 +159,7 @@
% }
</tbody>
</table>
</div>
<%} %>
@@ -157,7 +167,3 @@
</div>
<div>
</div>

View File

@@ -3,21 +3,46 @@
% my $btn = l('usr_LOCK');
%= form_for '/useraccountsd' => (method => 'POST') => begin
<p>
<h2>
%=l 'usr_LOCK_ACCOUNT_TITLE'
</h2>
<div>
<h2><%= l 'usr_LOCK_ACCOUNT_TITLE' %></h2>
</div>
<br>
%= $c->l('usr_LOCK_DESC', $usr_datas->{user}, $usr_datas->{name} );
<div>
Needs a text change in the Lex files
<br>
<%= $c->l('usr_LOCK_DESC', $usr_datas->{user}, $usr_datas->{name} ) %>
</div>
<br><br>
<table class="table table-bordered user-table-max-wdith">
<thead>
<tr>
<th class="col-sm">
%=l 'ACCOUNT'
</th>
<th class="col-sm">
%=l 'USER_NAME'
</th>
</tr>
</thead>
<tbody>
<tr>
<td><%= $usr_datas->{user} %></td>
<td><%= $usr_datas->{name} %></td>
</tr>
</tbody>
</table>
<br>
%= $c->render_to_string(inline => $c->l('usr_LOCK_DESC2'))
</p>
<p>
<br>
%= submit_button "$btn", class => ""
</p>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-primary"><%= $btn %></button>
</div>
</div>
%= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user}

View File

@@ -1,40 +1,81 @@
<div>
% my $btn = l('SAVE');
% my $btn = l('SAVE');
%= form_for '/useraccountsd' => (method => 'POST') => begin
<p>
<h2>
%=l 'RESET_PASSWORD_TITLE'
</h2>
<div>
<h2><%= l 'RESET_PASSWORD_TITLE' %></h2>
</div>
<br>
<div>
%= $c->l('usr_RESET_DESC', $usr_datas->{user}, $usr_datas->{name} );
</div>
<br>
<table class="table table-bordered user-table-max-wdith">
<thead>
<tr>
<th class="col-sm">
%=l 'ACCOUNT'
</th>
<th class="col-sm">
%=l 'USER_NAME'
</th>
</tr>
</thead>
<tbody>
<tr>
<td><%= $usr_datas->{user} %></td>
<td><%= $usr_datas->{name} %></td>
</tr>
</tbody>
</table>
<br>
%= $c->l('usr_RESET_DESC', $usr_datas->{user}, $usr_datas->{name} );
<div>
<%= l 'usr_RESET_DESC2' %>
</div>
<br>
%= l 'usr_RESET_DESC2'
</p>
<div>
<%= 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>
<p>
<span class="">
%=l 'PASSWORD_NEW', class => ""
</span><span class="">
%= password_field 'newPass', class => "", class=> 'sme-password'
</span>
</p>
<br>
<div>
<%= l 'PASSWORD_VERIFY_NEW' %>
</div>
<p>
<span class="">
%=l 'PASSWORD_VERIFY_NEW', class => ""
</span>
<span class="">
%= password_field 'newPassVerify', class => "", class=> 'sme-password'
</span>
</p>
<br>
<p>
<br><br>
%= submit_button "$btn", class => ""
</p>
<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>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-primary"><%= $btn %></button>
</div>
</div>
%= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user}

View File

@@ -3,41 +3,70 @@
% my $btn = l('SAVE');
%= form_for '/useraccountsd' => (method => 'POST') => begin
<p>
%= l 'usr_SYSTEM_PASSWORD_DESCRIPTION'
</p>
<p>
<span class="">
%=l 'usr_CURRENT_SYSTEM_PASSWORD', class => ""
</span>
<span class="">
%= password_field 'CurPass', class => "", class=> 'sme-password'
</span>
</p>
<div>
<h2><%= l 'PASSWORD_RESET' %></h2>
</div>
<br>
<p>
<span class="">
%=l 'usr_NEW_SYSTEM_PASSWORD', class => ""
</span>
<span class="">
%= password_field 'Pass', class => "", class=> 'sme-password'
</span>
</p>
<div>
<%= l 'usr_SYSTEM_PASSWORD_DESCRIPTION' %>
</div>
<p>
<span class="">
%=l 'usr_NEW_SYSTEM_PASSWORD_VERIFY', class => ""
</span>
<span class="">
%= password_field 'PassVerify', class => "", class=> 'sme-password'
</span>
</p>
<br>
<p>
<br><br>
%= submit_button "$btn", class => ""
</p>
<div>
<%=l 'usr_CURRENT_SYSTEM_PASSWORD' %>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<input name="CurPass" id="Pass" type="password" class="form-control sme-password" placeholder="Current Password">
</div>
</div>
<br>
<div>
<%= l 'usr_NEW_SYSTEM_PASSWORD' %>
</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="New Password">
</div>
</div>
<br>
<div>
<%= l 'usr_NEW_SYSTEM_PASSWORD_VERIFY' %>
</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="New Password verify">
</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 %></button>
</div>
</div>
%= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user}

View File

@@ -1,199 +1,298 @@
<div>
% my $btn = l('ADD');
%= form_for '/useraccountsd' => (method => 'POST') => begin
<p>
<h2>
%=l 'usr_P2_TITLE'
</h2>
<div class="container-sm">
<br>
%= $c->render_to_string(inline => l ('usr_CREATE_MODIFY_DESC'))
</p>
<p>
<span class="">
%=l 'usr_ACCOUNT_NAME'
</span>
<span class="">
% if ( $usr_datas->{trt} eq 'ADD' ) {
% param 'user' => $usr_datas->{user} unless param 'user';
%= text_field 'user', class => ""
% } else {
% $btn = l('SAVE');
%= $usr_datas->{user}, class => ""
% }
</span>
</p>
<p>
<span class="">
%=l 'usr_FIRSTNAME'
</span>
<span class="">
% param 'FirstName' => $usr_datas->{firstname} unless param 'FirstName';
%= text_field 'FirstName', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_LASTNAME'
</span>
<span class="">
% param 'LastName' => $usr_datas->{lastname} unless param 'LastName';
%= text_field 'LastName', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_DEPARTMENT'
</span><span class="">
% param 'Dept' => $usr_datas->{dept} unless param 'Dept';
%= text_field 'Dept', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_COMPANY'
</span>
<span class="">
% param 'Company' => $usr_datas->{company} unless param 'Company';
%= text_field 'Company', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_STREET_ADDRESS'
</span>
<span class="">
% param 'Street' => $usr_datas->{street} unless param 'Street';
%= text_field 'Street', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_CITY'
</span>
<span class="">
% param 'City' => $usr_datas->{city} unless param 'City';
%= text_field 'City', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_PHONE_NUMBER'
</span>
<span class="">
% param 'Phone' => $usr_datas->{phone} unless param 'Phone';
%= text_field 'Phone', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_EMAIL_DELIVERY'
</span>
<span class="">
% param 'EmailForward' => $usr_datas->{emailforward} unless param 'EmailForward';
%= select_field 'EmailForward' => $c->emailForward_list(), class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_FORWARDING_ADDRESS'
</span>
<span class="">
% param 'ForwardAddress' => $usr_datas->{forwardaddress} unless param 'ForwardAddress';
%= text_field 'ForwardAddress', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_VPN_CLIENT_ACCESS'
</span>
<span class="">
% param 'VPNClientAccess' => $usr_datas->{vpnclientaccess} unless param 'VPNClientAccess';
%= select_field 'VPNClientAccess' => [[ (l 'NO') => 'no'], [ (l 'YES') => 'yes']], class => ""
</span>
</p>
% if ( $usr_datas->{trt} eq 'UPD' and $c->ipsec_for_acct eq 'OK' ) {
% my $btn2 = $c->l('DOWNLOAD');
%= form_for '/useraccountso' => (method => 'POST') => begin
<p>
<span class="">
%=l 'usr_LABEL_IPSECRW_DOWNLOAD'
</span>
<span class="">
%= submit_button $btn2, class => ""
</span>
</p>
%= hidden_field 'trt' => 'CRT'
%= hidden_field 'user' => $usr_datas->{user}
%end
% }
% my @groups = @{$c->get_groups()};
% if ( @groups ) {
<p>
<span class="">
%=l 'usr_GROUP_MEMBERSHIPS'
</span>
<span class="">
<table class="table table-bordered">
<thead>
<tr>
<th class="">
%=l 'usr_MEMBER'
</th><th class="">
%=l 'GROUP'
</th><th class="">
%=l 'DESCRIPTION'
</th>
</tr>
</thead>
<tbody>
% foreach my $g ( @groups) {
% my $user = $usr_datas->{user};
% my $groupname = $g->key();
% my $description = $g->prop('Description');
% my $checked = '';
% if ( $user and $c->is_user_in_group($user, $groupname) ) {
% $checked = 'checked';
% }
<tr>
<td>
% if ( $checked eq 'checked' ) {
<!-- % = check_box 'groupMemberships', value => $groupname, checked => $checked -->
<input type='checkbox' name='groupMemberships' checked value='<%= $groupname %>'>
%} else {
%= check_box 'groupMemberships' => $groupname
%}
</td>
<!-- t td => (class => "") => (check_box ' groupMemberships' => $groupname $checked) -->
%= t td => (class => "") => $groupname
%= t td => (class => "") => "$description"
</tr>
% }
</tbody>
</table>
</span>
</p>
% }
<p>
<h2><%= l 'usr_P2_TITLE' %></h2>
<br>
<%= $c->render_to_string(inline => l ('usr_CREATE_MODIFY_DESC')) %>
<br><br>
%= submit_button $btn, class => ""
</p>
%= hidden_field 'trt' => $usr_datas->{trt}
% if ( $usr_datas->{trt} eq 'UPD' ) {
%= hidden_field 'user' => $usr_datas->{user}
% }
% end
% my $btn = l('ADD');
<form action="/smanager/useraccountsd" method="POST">
%#= form_for '/useraccountsd' => (method => 'POST') => begin
% if ( $usr_datas->{trt} eq 'ADD' ) {
% param 'user' => $usr_datas->{user} unless param 'user';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputAccountName" class="col-form-label"><%= l 'usr_ACCOUNT_NAME' %></label>
</div>
<div class="col-auto">
<input type="text" name="user" id="inputAccountName" class="form-control" aria-describedby="AccountName" value="<%= $usr_datas->{user} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
User
</span>
</div>
</div>
% } else {
<!-- If not user set Button Save not Add -->
% $btn = l('SAVE');
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputLastNAme" class="col-form-label"><%= l 'usr_ACCOUNT_NAME' %></label>
</div>
<div class="col-auto">
<input disabled type="text" id="disabledTextInput" class="form-control" placeholder="<%= $usr_datas->{user} %>">
</div>
</div>
% }
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputFirstName" class="col-form-label"><%= l 'usr_FIRSTNAME' %></label>
</div>
<div class="col-auto">
<input type="text" name="FirstName" id="inputFirstName" class="form-control" aria-describedby="FirstName" value="<%= $usr_datas->{firstname} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
First Name
</span>
</div>
</div>
<br>
% param 'LastName' => $usr_datas->{lastname} unless param 'LastName';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputLastNAme" class="col-form-label"><%= l 'usr_LASTNAME' %></label>
</div>
<div class="col-auto">
<input type="text" name="LastName" id="inputLastName" class="form-control" aria-describedby="LastName" value="<%= $usr_datas->{lastname} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Last Name
</span>
</div>
</div>
<br>
% param 'Dept' => $usr_datas->{dept} unless param 'Dept';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputDepartment" class="col-form-label"><%= l 'usr_DEPARTMENT' %></label>
</div>
<div class="col-auto">
<input type="text" name="Dept" id="inputEmail" class="form-control" aria-describedby="Dept" value="<%= $usr_datas->{dept} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Department
</span>
</div>
</div>
<br>
% param 'Company' => $usr_datas->{company} unless param 'Company';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputCompany" class="col-form-label"><%= l 'usr_COMPANY' %></label>
</div>
<div class="col-auto">
<input type="text" name="Company" id="inputCompany" class="form-control" aria-describedby="Company" value="<%= $usr_datas->{company} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Company
</span>
</div>
</div>
<br>
% param 'Street' => $usr_datas->{street} unless param 'Street';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputStreet" class="col-form-label"><%= l 'usr_STREET_ADDRESS' %></label>
</div>
<div class="col-auto">
<input type="text" name="Street" id="inputCompany" class="form-control" aria-describedby="Street" value="<%= $usr_datas->{street} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Street
</span>
</div>
</div>
<br>
% param 'City' => $usr_datas->{city} unless param 'City';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputCity" class="col-form-label"><%= l 'usr_CITY' %></label>
</div>
<div class="col-auto">
<input type="text" name="City" id="inputCity" class="form-control" aria-describedby="City" value="<%= $usr_datas->{city} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
City
</span>
</div>
</div>
<br>
% param 'Phone' => $usr_datas->{phone} unless param 'Phone';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputPhone" class="col-form-label"><%= l 'usr_PHONE_NUMBER' %></label>
</div>
<div class="col-auto">
<input type="text" name="Phone" id="inputPhone" class="form-control" aria-describedby="City" value="<%= $usr_datas->{phone} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Phone
</span>
</div>
</div>
<br>
% param 'EmailForward' => $usr_datas->{emailforward} unless param 'EmailForward';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputEmailDelivery" class="col-form-label"><%= l 'usr_EMAIL_DELIVERY' %></label>
</div>
<div class="col-auto">
%= select_field 'EmailForward' => $c->emailForward_list(), class => "form-select"
</div>
</div>
<br>
% param 'ForwardAddress' => $usr_datas->{forwardaddress} unless param 'ForwardAddress';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputEmail" class="col-form-label"><%= l 'usr_FORWARDING_ADDRESS' %></label>
</div>
<div class="col-auto">
<input type="email" name="ForwardAddresss" id="inputEmail" class="form-control" aria-describedby="Email" value=<%= $usr_datas->{forwardaddress} %>>
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Email forwarding address
</span>
</div>
</div>
<br>
% param 'VPNClientAccess' => $usr_datas->{vpnclientaccess} unless param 'VPNClientAccess';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputVPNClientAccess" class="col-form-label"><%= l 'usr_VPN_CLIENT_ACCESS' %></label>
</div>
<div class="col-auto">
%= select_field 'VPNClientAccess' => [[ (l 'NO') => 'no'], [ (l 'YES') => 'yes']], class => "form-select"
</div>
</div>
<br>
<!-- fix from here -->
<!-- Begin if ipsec needs fixing -->
% if ( $usr_datas->{trt} eq 'UPD' and $c->ipsec_for_acct eq 'OK' ) {
% my $btn2 = $c->l('DOWNLOAD');
%= form_for '/useraccountso' => (method => 'POST') => begin
%= l 'usr_LABEL_IPSECRW_DOWNLOAD'
%= submit_button $btn2, class => ""
%= hidden_field 'trt' => 'CRT'
%= hidden_field 'user' => $usr_datas->{user}
% end
% }
<!-- End if ipsec -->
<!-- Groups begin -->
<div>
% my @groups = @{$c->get_groups()};
%#= dumper @groups
% if ( @groups ) {
<br><br>
%=l 'usr_GROUP_MEMBERSHIPS'
<br><br>
<table class="table table-bordered user-table-max-wdith">
<thead>
<tr>
<th class="col-sm-1"><%= l 'usr_MEMBER' %></th>
<th class="col-sm-1"><%=l 'GROUP' %></th>
<th class="col-sm-1"><%=l 'DESCRIPTION' %></th>
</tr>
</thead>
<tbody>
% foreach my $g ( @groups) {
% my $user = $usr_datas->{user};
% my $groupname = $g->key();
% my $description = $g->prop('Description');
% my $checked = '';
% if ( $user and $c->is_user_in_group($user, $groupname) ) {
% $checked = 'checked';
% }
<tr>
<td>
% if ( $checked eq 'checked' ) {
<input type='checkbox' name='groupMemberships' checked value='<%= $groupname %>'>
%} else {
%= check_box 'groupMemberships' => $groupname
%}
</td>
<td><%= $groupname %></td>
<td><%= $description %></td>
</tr>
% }
</tbody>
</table>
% }
<!-- Groups End -->
</div>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-primary"><%= $btn %></button>
</div>
</div>
%= hidden_field 'trt' => $usr_datas->{trt}
% if ( $usr_datas->{trt} eq 'UPD' ) {
%= hidden_field 'user' => $usr_datas->{user}
% }
</form>
</div>
<!-- End of containers-sm -->

View File

@@ -1,196 +1,116 @@
% content_for 'module' => begin
<div class="container-sm">
<br>
<h2><%= l 'usr_MODIFY_ADMIN_TITLE' %></h2>
<%= l 'usr_ACCOUNT_NAME' %> : <%= $usr_datas->{user} %>
<br>
<h2><%= l 'usr_MODIFY_ADMIN_TITLE' %></h2>
<br><br>
<form>
% param 'FirstName' => $usr_datas->{firstname} unless param 'FirstName';
<div class="row g-3 align-items-center">
<div class="col-auto p-33">
<label for="inputFirstName" class="col-form-label"><%= l 'usr_FIRSTNAME' %></label>
<form action="/smanager/useraccountsd" method="POST">
%#= form_for '/useraccountsd' => (method => 'POST') => begin
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputLastNAme" class="col-form-label"><%= l 'usr_ACCOUNT_NAME' %></label>
</div>
<div class="col-auto">
<input disabled type="text" id="disabledTextInput" class="form-control" placeholder="<%= $usr_datas->{user} %>">
</div>
</div>
<div class="col-auto p-3">
<input type="text" id="inputFirstName" class="form-control" aria-describedby="FirstName" value=<%= $usr_datas->{firstname} %> >
<br>
% param 'FirstName' => $usr_datas->{firstname} unless param 'FirstName';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputFirstName" class="col-form-label"><%= l 'usr_FIRSTNAME' %></label>
</div>
<div class="col-auto">
<input type="text" name="FirstName" id="inputFirstName" class="form-control" aria-describedby="FirstName" value="<%= $usr_datas->{firstname} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
First Name
</span>
</div>
</div>
<div class="col-auto p-3">
<span id="passwordHelpInline" class="form-text">
First Name
</span>
<br>
% param 'LastName' => $usr_datas->{lastname} unless param 'LastName';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputLastNAme" class="col-form-label"><%= l 'usr_LASTNAME' %></label>
</div>
<div class="col-auto">
<input type="text" name="LastName" id="inputLastName" class="form-control" aria-describedby="LastName" value="<%= $usr_datas->{lastname} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Last Name
</span>
</div>
</div>
</div>
% param 'LastName' => $usr_datas->{lastname} unless param 'LastName';
<div class="row g-3 align-items-center">
<div class="col-auto p-33">
<label for="inputLastNAme" class="col-form-label"><%= l 'usr_LASTNAME' %></label>
<br>
% param 'EmailForward' => $usr_datas->{emailforward} unless param 'EmailForward';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputEmailDelivery" class="col-form-label"><%= l 'usr_EMAIL_DELIVERY' %></label>
</div>
<div class="col-auto">
%= select_field 'EmailForward' => $c->emailForward_list(), class => "form-select"
</div>
</div>
<div class="col-auto p-3">
<input type="text" id="inputLastName" class="form-control" aria-describedby="LastName" value=<%= $usr_datas->{lastname} %>>
<br>
% param 'ForwardAddress' => $usr_datas->{forwardaddress} unless param 'ForwardAddress';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputEmail" class="col-form-label"><%= l 'usr_FORWARDING_ADDRESS' %></label>
</div>
<div class="col-auto">
<input type="email" name="ForwardAddress" id="inputEmail" class="form-control" aria-describedby="Email" value="<%= $usr_datas->{forwardaddress} %>" >
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Email forwarding address
</span>
</div>
</div>
<div class="col-auto p-3">
<span id="passwordHelpInline" class="form-text">
Last Name
</span>
</div>
</div>
% param 'EmailForward' => $usr_datas->{emailforward} unless param 'EmailForward';
<div class="row g-3 align-items-center">
<div class="col-auto p-33">
<label for="inputEmailDelivery" class="col-form-label"><%= l 'usr_EMAIL_DELIVERY' %></label>
</div>
<div class="col-auto p-3">
%= select_field 'EmailForward' => $c->emailForward_list(), class => "form-select"
<br>
% param 'VPNClientAccess' => $usr_datas->{vpnclientaccess} unless param 'VPNClientAccess';
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputVPNClientAccess" class="col-form-label"><%= l 'usr_VPN_CLIENT_ACCESS' %></label>
</div>
<div class="col-auto">
%= select_field 'VPNClientAccess' => [[ (l 'NO') => 'no'], [ (l 'YES') => 'yes']], class => "form-select"
</div>
<br>
</div>
% param 'ForwardAddress' => $usr_datas->{forwardaddress} unless param 'ForwardAddress';
<div class="row g-3 align-items-center">
<div class="col-auto">
<label for="inputEmail" class="col-form-label"><%= l 'usr_FORWARDING_ADDRESS' %></label>
</div>
<div class="col-auto">
<input type="email" id="inputEmail" class="form-control" aria-describedby="Email" value=<%= $usr_datas->{forwardaddress} %>>
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Email forwarding address
</span>
</div>
</div>
% param 'VPNClientAccess' => $usr_datas->{vpnclientaccess} unless param 'VPNClientAccess';
% my $btn = l('SAVE');
<div class="row g-3 align-items-center">
<div class="col-auto p-33">
<label for="inputVPNClientAccess" class="col-form-label"><%= l 'usr_VPN_CLIENT_ACCESS' %></label>
</div>
<div class="col-auto p-3">
%= select_field 'VPNClientAccess' => [[ (l 'NO') => 'no'], [ (l 'YES') => 'yes']], class => "form-select"
<div class="col-md-2">
<button type="submit" class="btn btn-primary"><%= l 'SAVE' %></button>
</div>
</div>
% my $btn = l('SAVE');
<div class="row g-3 align-items-center">
<div class="col-auto p-33">
<button type="submit" class="btn btn-primary"><%= l 'SAVE' %></button>
</div>
</div>
</form>
%= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user}
% end
trt: <%= dumper $usr_datas->{trt} %>
user: <%= dumper $usr_datas->{user} %>
%= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user}
% end
</form>
</div>
<div>
% my $btn = l('SAVE');
%= form_for '/useraccountsd' => (method => 'POST') => begin
<p>
<h2>
%=l 'usr_MODIFY_ADMIN_TITLE'
</h2><br>
</p>
<p>
<span class="">
%=l 'usr_ACCOUNT_NAME'
</span>
<span class="">
% $btn = l('SAVE');
%= $usr_datas->{user}, class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_FIRSTNAME'
</span>
<span class="">
% param 'FirstName' => $usr_datas->{firstname} unless param 'FirstName';
%= text_field 'FirstName', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_LASTNAME'
</span>
<span class="">
% param 'LastName' => $usr_datas->{lastname} unless param 'LastName';
%= text_field 'LastName', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_EMAIL_DELIVERY'
</span>
<span class="">
% param 'EmailForward' => $usr_datas->{emailforward} unless param 'EmailForward';
%= select_field 'EmailForward' => $c->emailForward_list(), class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_FORWARDING_ADDRESS'
</span>
<span class="">
% param 'ForwardAddress' => $usr_datas->{forwardaddress} unless param 'ForwardAddress';
%= text_field 'ForwardAddress', class => ""
</span>
</p>
<p>
<span class="">
%=l 'usr_VPN_CLIENT_ACCESS'
</span>
<span class="">
% param 'VPNClientAccess' => $usr_datas->{vpnclientaccess} unless param 'VPNClientAccess';
%= select_field 'VPNClientAccess' => [[ (l 'NO') => 'no'], [ (l 'YES') => 'yes']], class => ""
</span>
</p>
% if ( $c->ipsec_for_acct eq 'OK' ) {
% my $btn2 = $c->l('DOWNLOAD');
%= form_for '/useraccountso' => (method => 'POST') => begin
<p>
<span class="">
%=l 'usr_LABEL_IPSECRW_DOWNLOAD'
</span>
<span class="">
%= submit_button $btn2, class => ""
</span>
</p>
%= hidden_field 'trt' => 'CRT'
%= hidden_field 'user' => $usr_datas->{user}
%end
% }
<p>
<br>
%= submit_button $btn, class => ""
</p>
%= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user}
% end
</div>

View File

@@ -15,9 +15,9 @@
%= dumper $usr_datas
</p>
% }
<h1><%= $title%></h1>
% if ( $notif ) {
<br>
<span class="">

View File

@@ -11,80 +11,111 @@
</p>
% }
<h1>
%= l 'pwd_ACCOUNT_PASSWORD_CHANGE'
</h1>
<h2><%= l 'pwd_ACCOUNT_PASSWORD_CHANGE' %></h2>
% if ( stash 'error' ) {
<br>
<div class="">
%= $c->render_to_string(inline => stash 'error')
<div>
%= $c->render_to_string(inline => stash 'error')
</div>
%}
<p>
% my $btn = l('pwd_PASSWORD_CHANGE');
% my $url = '/userpassword';
%= $c->render_to_string( inline => l('pwd_DESCRIPTION'));
<div>
%= $c->render_to_string( inline => l('pwd_DESCRIPTION'));
</div>
% if ( $pwd_datas->{trt} eq 'RESET' ) {
% $btn = l('pwd_PASSWORD_RESET');
% $url = '/userpasswordr';
% my $btn = l('pwd_PASSWORD_RESET');
% my $url = '/userpasswordr';
%= $c->render_to_string( inline => l('pwd_DESCRIPTION_RESET'));
% }
</p>
<br>
<!-- Start of Form -->
%= form_for $url => (method => 'POST') => begin
<p>
<span class="">
%= l 'pwd_YOUR_ACCOUNT'
</span>
<span class="">
%= $pwd_datas->{Account}
</span>
<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>
<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">
</div>
</div>
% }
<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>
</div>
<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>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<button type="submit" class="btn btn-primary"><%= $btn %></button>
</div>
</div>
%= hidden_field 'User' => $pwd_datas->{Account}
%= hidden_field 'Trt' => $pwd_datas->{trt}
%= hidden_field 'jwt' => $pwd_datas->{jwt}
<br><br>
</p>
% if ( $pwd_datas->{trt} ne 'RESET' ) {
<p>
<span class="">
%= l 'pwd_PASSWORD_OLD'
</span>
<span class="">
%= password_field 'Oldpass', class => "", class=> 'sme-password'
</span>
<br><br>
</p>
% }
<p>
<span class="">
%=l 'pwd_PASSWORD_NEW'
</span>
<span class="">
%= password_field 'Pass', class => "", class=> 'sme-password'
</span>
<br><br>
</p>
<p>
<span class="">
%=l 'pwd_PASSWORD_VERIFY_NEW'
</span>
<span class="">
%= password_field 'Passverify', class => "", class=> 'sme-password'
</span>
<br><br>
</p>
<p>
<br>
%= submit_button "$btn", class => ""
</p>
% end
<!-- End of Form -->
</div>

View File

@@ -1,6 +1,6 @@
%define name smeserver-manager-AdminLTE
%define version 11.0.0
%define release 12
%define release 16
Summary: AdminLTE is an html framework for admin consoles - this rpm adds it to smeserver manager2
Name: %{name}
Version: %{version}
@@ -26,6 +26,19 @@ AdminLTE is an html framework for admin consoles
wget https://github.com/ColorlibHQ/AdminLTE/archive/master.zip
%changelog
* Thu May 01 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-16.sme
- Fix user add error
- Update group templates
* Fri Apr 25 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-15.sme
- Forgot the updated CSS
* Fri Apr 25 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-14.sme
- Finish user templates. Saving fixed. Start on groups
* Fri Apr 25 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-13.sme
- Tidy some useraccounts formatting but admin page will not save
* Thu Apr 24 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0.12.sme
- Tidy user list