Ibays done. Add some consistency elsewhere

This commit is contained in:
John Crisp 2025-05-18 12:18:20 +02:00
parent 35c2efaf4b
commit 0878755714
9 changed files with 308 additions and 261 deletions

View File

@ -6,17 +6,17 @@
% if (config->{debug} == 1) {
<div>
%= dumper $c->current_route
%= dumper $iba_datas
%= dumper $c->current_route
%= dumper $iba_datas
</div>
% }
% if ( stash 'error' ) {
<br>
<div>
<div class="text-danger">
<%= $c->render_to_string(inline => stash 'error') %>
</div>
%}
% }
<h1><%= $title%></h1>

View File

@ -3,18 +3,18 @@
% my $btn = l('GROUP_ADD');
<form action="/smanager/groups2" method="POST">
<%= hidden_field 'trt' => 'ADD' %>
<br>
<div>
<button type="submit" class="btn btn-primary"><%= $btn %> </button>
</div>
<%= hidden_field 'trt' => 'ADD' %>
</form>
<br>
<h2><%=l 'grp_CURRENT_LIST' %></h2>
<br><br>
% my $numGroups = @$groups;
% if ($numGroups == 0){
% if ($numGroups == 0){
<%= l 'ACCOUNT_GROUP_NONE' %>
% } else {
<table class="table table-bordered user-table-max-width">

View File

@ -1,18 +1,20 @@
<div class="container-sm">
<div>
% my $btn = l('SAVE');
<form action="/smanager/groups2" method="POST">
<br><br>
<br>
<h2><%= l 'MODIFY_USER_GROUP' %></h2>
<div>
<h2><%= l 'MODIFY_USER_GROUP' %></h2>
</div>
<br><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>
<label for="inputGroupName" 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} %>">

View File

@ -3,111 +3,112 @@
% my $btn = l('iba_ADD_IBAY');
%= form_for '/ibays' => (method => 'POST') => begin
<form action="/smanager/ibays" method="POST">
<br>
<div>
<button type="submit" class="btn btn-primary"><%= $btn %> </button>
</div>
<%= hidden_field 'trt' => 'ADD'; %>
</form>
<p>
<br>
%= submit_button "$btn", class => ""
</p>
%= hidden_field 'trt' => 'ADD';
<div>
<%= l 'iba_FIRSTPAGE_DESC' %>
</div>
% end
<br>
<p>
%=l 'iba_FIRSTPAGE_DESC'
<br><br>
</p>
% my $numIbays = @$ibays;
% if ($numIbays == 0){
%=l 'iba_NO_IBAYS'
% } else {
<table class="table table-bordered">
<thead>
<tr>
<th class="">
%=l 'NAME'
</th>
<th class="">
%=l 'DESCRIPTION'
</th>
<th class="">
%=l 'ACTION'
</th>
</tr>
</thead>
<tbody>
% foreach my $ibay (@$ibays)
% {
% my $modifiable = $ibay->prop('Modifiable') || 'yes';
% my $passwordable = $ibay->prop('Passwordable') || 'yes';
% my $removable = $ibay->prop('Removable') || 'yes';
% my $needPassword = grep { $_ eq $ibay->prop('PublicAccess') }
% qw(local-pw global-pw global-pw-remote);
<div>
<h2>Current List of i-bays - translation string required</h2>
</div>
<tr>
%= t td => (class => "") => $ibay->key
%= t td => (class => "") => $ibay->prop('Name')
<td class="" style="min-width:15em">
%my ($actionModify, $actionResetPw, $actionRemove) = '&nbsp;';
%if ($modifiable eq 'yes') {
%my $modify_text = l('MODIFY'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security
%my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
%$actionModify = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=UPD&ibay=$ibays_entry_name">
% <button type='button' class="" title='$modify_text' >
% $modify_text
% </button>
% </a>
%};
%}
%if ($passwordable eq 'yes') {
%my $password_text = l('PASSWORD_RESET'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security
%my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
%if ($ibay->prop('PasswordSet') ne 'yes' && $needPassword) {
%$actionResetPw = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name">
% <button type='button' class="" title="$password_text - currently unset" style = background:pink; >
% $password_text
% </button>
% </a>
%};
%} else {
%$actionResetPw = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name">
% <button type='button' class="" title='$password_text' >
% $password_text
% </button>
% </a>
%};
%}
%}
<br>
%if ($removable eq 'yes') {
%my $remove_text = l('REMOVE'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security
%my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
%$actionRemove = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=DEL&ibay=$ibays_entry_name">
% <button type='button' class="" title='$remove_text' >
% $remove_text
% </button>
% </a>
%};
%}
<%= $c->render_to_string(inline => $actionModify) %>
<%= $c->render_to_string(inline => $actionResetPw)%>
<%= $c->render_to_string(inline => $actionRemove) %>
</td>
</tr>
% }
</tbody>
</table>
<%} %>
% my $numIbays = @$ibays;
% if ($numIbays == 0){
<%= l 'iba_NO_IBAYS' %>
% } else {
<table class="table table-bordered">
<thead>
<tr>
<th class="col-sm"><%= l 'NAME' %></th>
<th class="col-sm"><%= l 'DESCRIPTION' %></th>
<th class="col-sm user-valign-center" colspan="3"><%= l 'ACTION' %></th>
</tr>
</thead>
<tbody>
% foreach my $ibay (@$ibays)
% {
% my $modifiable = $ibay->prop('Modifiable') || 'yes';
% my $passwordable = $ibay->prop('Passwordable') || 'yes';
% my $removable = $ibay->prop('Removable') || 'yes';
% my $needPassword = grep { $_ eq $ibay->prop('PublicAccess') }
% qw(local-pw global-pw global-pw-remote);
<tr>
<td><%= $ibay->key %>
<td><%= $ibay->prop('Name') %>
<td class="" style="min-width:15em">
% my ($actionModify, $actionResetPw, $actionRemove) = '&nbsp;';
% if ($modifiable eq 'yes') {
%my $modify_text = l('MODIFY'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security
%my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
%$actionModify = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=UPD&ibay=$ibays_entry_name">
% <button type='button' class="btn btn-primary" title='$modify_text' >
% $modify_text
% </button>
% </a>
%};
% }
% if ($passwordable eq 'yes') {
%my $password_text = l('PASSWORD_RESET'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security
%my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
%if ($ibay->prop('PasswordSet') ne 'yes' && $needPassword) {
%$actionResetPw = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name">
% <button type='button' class="btn btn-danger" title="$password_text - currently unset" >
% $password_text
% </button>
% </a>
% };
% } else {
%$actionResetPw = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name">
% <button type='button' class="btn btn-primary" title='$password_text' >
% $password_text
% </button>
% </a>
%};
% }
% }
% if ($removable eq 'yes') {
%my $remove_text = l('REMOVE'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security
%my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
%$actionRemove = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=DEL&ibay=$ibays_entry_name">
% <button type='button' class="btn btn-primary" title='$remove_text' >
% $remove_text
% </button>
% </a>
%};
% }
<td class="user-valign-center"><%= $c->render_to_string(inline => $actionModify) %></td>
<td class="user-valign-center"><%= $c->render_to_string(inline => $actionResetPw)%></td>
<td class="user-valign-center"><%= $c->render_to_string(inline => $actionRemove) %></td>
</td>
</tr>
% }
</tbody>
</table>
% }
</div>

View File

@ -2,43 +2,62 @@
% my $btn = l('SAVE');
%= form_for '/ibaysd' => (method => 'POST') => begin
<p>
<h2>
%=l 'PASSWORD_RESET'
</h2>
<br><br>
%=l 'iba_PASSWORD_DESC'
%= $iba_datas->{ibay}
</p>
<p>
<span class="">
%=l 'PASSWORD_NEW', class => ""
</span>
<span class="">
%= password_field 'newPass', class => "" , class=> 'sme-password'
</span>
</p>
<form action="/smanager/ibaysd" method="POST">
<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>
<h2><%= l 'PASSWORD_RESET' %></h2>
<div>
%= hidden_field 'trt' => $iba_datas->{trt}
%= hidden_field 'ibay' => $iba_datas->{ibay}
% end
<br>
<div>
<%= l 'iba_PASSWORD_DESC' %>&nbsp<%= $iba_datas->{ibay} %>
</div>
<br>
<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>
<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>
</div>
<br>
<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' => $iba_datas->{trt} %>
<%= hidden_field 'ibay' => $iba_datas->{ibay} %>
</form>
<br>
</div>

View File

@ -3,106 +3,125 @@
% my $btn = l('ADD');
%= form_for '/ibaysd' => (method => 'POST') => begin
<p>
<h2>
%=l 'iba_ADD_TITLE'
</h2>
<form action="/smanager/ibaysd" method="POST">
<div>
<h2><%=l 'iba_ADD_TITLE' %></h2>
</div>
<br>
%=l 'iba_NAME_FIELD_DESC'
</p>
<p>
<span class="">
%=l 'iba_NAME_LABEL', class => ""
</span>
<span class="">
% if ( $iba_datas->{trt} eq 'ADD' ) {
% param 'ibay' => $iba_datas->{ibay} unless param 'ibay';
%= text_field 'ibay', class => ""
% } else {
% $btn = l('SAVE');
%= $iba_datas->{ibay}, class => ""
% }
</span>
</p>
<%=l 'iba_NAME_FIELD_DESC'%>
<p>
<span class="">
%=l 'DESCRIPTION', class => ""
</span>
<span class="">
% param 'ibayDesc' => $iba_datas->{description} unless param 'ibayDesc';
%= text_field 'ibayDesc', class => ""
</span>
</p>
<p>
<span class="">
%=l 'GROUP'
</span>
<span class="">
% param 'group' => $iba_datas->{group} unless param 'group';
%= select_field 'group' => $c->group_list_m(), class => ""
<br>
</span>
</p>
<p>
<span class="">
%=l 'iba_USER_ACCESS'
</span>
<span class="">
% param 'userAccess' => $iba_datas->{userAccess} unless param 'userAccess';
%= select_field 'userAccess' => $c->userAccess_list_m(), class => ""
<br>
</span>
</p>
<p>
<span class="">
%=l 'iba_PUBLIC_ACCESS'
</span>
<span class="">
% param 'publicAccess' => $iba_datas->{publicAccess} unless param 'publicAccess';
%= select_field 'publicAccess' => $c->publicAccess_list_m(), class => ""
<br>
</span>
</p>
<p>
<span class="">
%=l 'iba_ALLOW_DYNAMIC_CONTENT'
</span>
<span class="">
% param 'CgiBin' => $iba_datas->{CgiBin} unless param 'CgiBin';
%= select_field 'CgiBin' => [[ (l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => ""
<br>
</span>
</p>
<p>
<span class="">
%=l 'iba_HTTPS_Only'
</span>
<span class="">
% param 'SSL' => $iba_datas->{SSL} unless param 'SSL';
%= select_field 'SSL' => [[ (l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => ""
<br>
</span>
</p>
<p>
<br><br>
%= submit_button $btn, class => ""
</p>
%= hidden_field 'trt' => $iba_datas->{trt}
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputIbayLabel" class="col-form-label"><%= l 'iba_NAME_LABEL' %></label>
</div>
<div class="col-auto">
% if ( $iba_datas->{trt} eq 'ADD' ) {
% param 'ibay' => $iba_datas->{ibay} unless param 'ibay';
<input type="text" name="ibay" id="inputIbay" class="form-control" aria-describedby="Ibay" value="<%= $iba_datas->{ibays} %>">
% } else {
% $btn = l('SAVE');
<%= $iba_datas->{ibay} %>
% }
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<label for="inputIbayDesc" class="col-form-label"><%= l 'DESCRIPTION' %></label>
</div>
<div class="col-auto">
% param 'ibayDesc' => $iba_datas->{description} unless param 'ibayDesc';
<input type="text" name="ibayDesc" id="inputIbayDesc" class="form-control" aria-describedby="IbayDesc" value="<%= $iba_datas->{description} %>">
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%= l 'GROUP' %>
</div>
<div class="col-auto">
% param 'group' => $iba_datas->{group} unless param 'group';
%= select_field 'group' => $c->group_list_m(), class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%= l 'iba_USER_ACCESS' %>
</div>
<div class="col-auto">
% param 'userAccess' => $iba_datas->{userAccess} unless param 'userAccess';
%= select_field 'userAccess' => $c->userAccess_list_m(), class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
%=l 'iba_PUBLIC_ACCESS'
</div>
<div class="col-auto">
% param 'publicAccess' => $iba_datas->{publicAccess} unless param 'publicAccess';
%= select_field 'publicAccess' => $c->publicAccess_list_m(), class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%=l 'iba_ALLOW_DYNAMIC_CONTENT' %>
</div>
<div class="col-auto">
% param 'CgiBin' => $iba_datas->{CgiBin} unless param 'CgiBin';
%= select_field 'CgiBin' => [[ (l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => "form-select"
</div>
</div>
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%=l 'iba_HTTPS_Only' %>
</div>
<div class="col-auto">
% param 'SSL' => $iba_datas->{SSL} unless param 'SSL';
%= select_field 'SSL' => [[ (l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => "form-select"
</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' => $iba_datas->{trt} %>
% if ( $iba_datas->{trt} eq 'UPD' ) {
%= hidden_field 'ibay' => $iba_datas->{ibay}
<%= hidden_field 'ibay' => $iba_datas->{ibay} %>
% }
% end
</form>
</div>

View File

@ -1,10 +1,15 @@
<div>
% my $btn = l('SAVE');
% my $btn = l('SAVE');
<form action="/smanager/pseudonyms2" method="POST">
<h2><%=l 'pse_MODIFY_PSEUDONYM' %></h2>
<br>
<div>
<h2><%=l 'pse_MODIFY_PSEUDONYM' %></h2>
</div>
<br>
<div>
@ -26,7 +31,6 @@
<br>
<div class="row g-3 align-items-center">
<div class="col-md-2">
<%=l 'pse_SELECT_ACCOUNT' %>
</div>
@ -35,7 +39,6 @@
% param 'Account' => $pse_datas->{account} unless param 'Account';
<%= select_field 'Account' => $c->existing_accounts_list(); %>
</div>
</div>

View File

@ -3,16 +3,17 @@
% my $btn = l('SAVE');
<form action="/smanager/useraccountsd" method="POST">
%#= form_for '/useraccountsd' => (method => 'POST') => begin
<br>
<div>
<h2><%= l 'RESET_PASSWORD_TITLE' %></h2>
<h2><%= l 'RESET_PASSWORD_TITLE' %></h2>
</div>
<br>
<div>
%= $c->l('usr_RESET_DESC', $usr_datas->{user}, $usr_datas->{name} );
<%= $c->l('usr_RESET_DESC', $usr_datas->{user}, $usr_datas->{name} ); %>
</div>
<br>
@ -35,21 +36,21 @@
</tr>
</tbody>
</table>
<br>
<div>
<%= l 'usr_RESET_DESC2' %>
<%= l 'usr_RESET_DESC2' %>
</div>
<br>
<div>
<%= l 'PASSWORD_NEW' %>
<%= 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">
@ -57,18 +58,18 @@
</div>
<br>
<div>
<%= l 'PASSWORD_VERIFY_NEW' %>
<%= 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">
<input name="newPassVerify" id="newPassVerify" type="password" class="form-control sme-password" placeholder="Password">
</div>
</div>
</div>
<br>
@ -81,8 +82,7 @@
%= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user}
%= hidden_field 'name' => $usr_datas->{name}
</form>
%# end
</form>
<br>
</div>

View File

@ -1,6 +1,6 @@
%define name smeserver-manager-AdminLTE
%define version 11.0.0
%define release 19
%define release 20
Summary: AdminLTE is an html framework for admin consoles - this rpm adds it to smeserver manager2
Name: %{name}
Version: %{version}
@ -26,6 +26,9 @@ AdminLTE is an html framework for admin consoles
wget https://github.com/ColorlibHQ/AdminLTE/archive/master.zip
%changelog
* Sun May 18 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-20.sme
- Ibays done. Updating some consistency elsewhere.
* Fri May 16 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-19.sme
- Fix more stuff with usr templates