From 295c6b3ff3379519fe5e1b79fec2dad8234c6240 Mon Sep 17 00:00:00 2001 From: John Crisp Date: Fri, 25 Apr 2025 19:01:25 +0200 Subject: [PATCH] User files finished and groups started --- .../templates/partials/_grp_list.html.ep | 61 ++++---- .../partials/_sidebar_user_menu.html.ep | 4 +- .../templates/partials/_usr_del.html.ep | 48 ++++-- .../templates/partials/_usr_list.html.ep | 16 +- .../templates/partials/_usr_lock.html.ep | 47 ++++-- .../templates/partials/_usr_pwd.html.ep | 95 ++++++++---- .../templates/partials/_usr_pwds.html.ep | 91 +++++++---- .../templates/partials/_usr_upd.html.ep | 134 +++++++--------- .../templates/partials/_usr_upds.html.ep | 20 +-- .../AdminLTE/templates/useraccounts.html.ep | 3 +- .../AdminLTE/templates/userpassword.html.ep | 143 +++++++++++------- smeserver-manager-AdminLTE.spec | 5 +- 12 files changed, 404 insertions(+), 263 deletions(-) diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_grp_list.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_grp_list.html.ep index 48b6efe..d9612de 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_grp_list.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_grp_list.html.ep @@ -4,32 +4,34 @@ %= form_for '/groups' => (method => 'POST') => begin - %= hidden_field 'trt' => 'ADD' + %= hidden_field 'trt' => 'ADD' -


- %= submit_button "$btn", class => "" -

+
+ +
+ +
+ % end - -

- %=l 'grp_CURRENT_LIST' -



+
+

<%=l 'grp_CURRENT_LIST' %>

+

% my $numGroups = @$groups; % if ($numGroups == 0){ %=l 'ACCOUNT_GROUP_NONE' % } else { - +
- - - @@ -38,37 +40,38 @@ % foreach my $group ( @$groups ) % { - %= t td => (class => "") => $group->key - %= t td => (class => "") => $group->prop('Description') - + + %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{ - % - % - % + % + % + % %}; %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{ - % - % - % + % %}; - <%= $c->render_to_string(inline => $actionModify) %> <%= $c->render_to_string(inline => $actionRemove) %> - + + + % }
- %=l 'GROUP' + + %=l 'GROUP' - %=l 'DESCRIPTION' + + %=l 'DESCRIPTION' - %=l 'ACTION' + + %=l 'ACTION'
+ <%= $group->key %><%= $group->prop('Description') %><%= $c->render_to_string(inline => $actionModify) %><%= $c->render_to_string(inline => $actionRemove) %>
<%} %> -

+ diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_sidebar_user_menu.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_sidebar_user_menu.html.ep index 5d3bac2..c71b98b 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_sidebar_user_menu.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_sidebar_user_menu.html.ep @@ -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'}; % } diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_del.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_del.html.ep index 105516e..1c61352 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_del.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_del.html.ep @@ -1,23 +1,47 @@ -
+
- % my $btn = l('REMOVE'); + % my $btn = l('REMOVE'); %= form_for '/useraccountsd' => (method => 'POST') => begin -

-

- %=l 'usr_REMOVE_ACCOUNT_TITLE' -

- +
+

<%= l 'usr_REMOVE_ACCOUNT_TITLE' %>

+
+
+
+ Needs a text change in the Lex files
%= $c->l('usr_REMOVE_DESC', $usr_datas->{user}, $usr_datas->{name} ); +
+ +

+ + + + + + + + + + + + + + +
+ %=l 'ACCOUNT' + + %=l 'USER_NAME' +
<%= $usr_datas->{user} %><%= $usr_datas->{name} %>
+
%= $c->render_to_string(inline => $c->l('usr_REMOVE_DESC2')) -

-

-
- %= submit_button "$btn", class => "" -

+
+
+ +
+
%= hidden_field 'trt' => $usr_datas->{trt} %= hidden_field 'user' => $usr_datas->{user} diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_list.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_list.html.ep index 7ec5beb..f58108e 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_list.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_list.html.ep @@ -5,18 +5,20 @@ %= form_for '/useraccounts' => (method => 'POST') => begin +
+
% end -

+
%= $c->render_to_string(inline => $c->l('usr_FIRSTPAGE_DESC'))
-

+ - %= dumper @$users + %#= dumper @$users % my $numUsers = @$users; % if ($numUsers == 0){ @@ -37,7 +39,7 @@ %=l 'usr_FORWARDING_ADDRESS' - + %=l 'ACTION' @@ -68,6 +70,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{ % @@ -92,6 +95,8 @@ % %}; % } + + % if ($password_set ne 'yes') { %$actionLock = l('ACCOUNT_LOCKED'); %$actionResetPw = qq{ @@ -102,7 +107,7 @@ % %}; % } 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{ @@ -120,6 +125,7 @@ % %}; % } + % if ( $removable eq 'yes' ) { % my $remove_text = l('REMOVE'); # Localized text % my $csrf_token = "TOKEN"; # CSRF token for security diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_lock.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_lock.html.ep index f4aeecd..a5570f2 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_lock.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_lock.html.ep @@ -3,21 +3,46 @@ % my $btn = l('usr_LOCK'); %= form_for '/useraccountsd' => (method => 'POST') => begin -

-

- %=l 'usr_LOCK_ACCOUNT_TITLE' -

- +
+

<%= l 'usr_LOCK_ACCOUNT_TITLE' %>

+

- %= $c->l('usr_LOCK_DESC', $usr_datas->{user}, $usr_datas->{name} ); +
+ Needs a text change in the Lex files +
+ <%= $c->l('usr_LOCK_DESC', $usr_datas->{user}, $usr_datas->{name} ) %> +
+ +

+ + + + + + + + + + + + + + +
+ %=l 'ACCOUNT' + + %=l 'USER_NAME' +
<%= $usr_datas->{user} %><%= $usr_datas->{name} %>
+
%= $c->render_to_string(inline => $c->l('usr_LOCK_DESC2')) -

-

-
- %= submit_button "$btn", class => "" -

+
+
+ +
+
+ %= hidden_field 'trt' => $usr_datas->{trt} %= hidden_field 'user' => $usr_datas->{user} diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_pwd.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_pwd.html.ep index 9937b2b..9331de8 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_pwd.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_pwd.html.ep @@ -1,40 +1,81 @@
- % my $btn = l('SAVE'); + % my $btn = l('SAVE'); %= form_for '/useraccountsd' => (method => 'POST') => begin -

-

- %=l 'RESET_PASSWORD_TITLE' -

+ +
+

<%= l 'RESET_PASSWORD_TITLE' %>

+
+ +
+ +
+ %= $c->l('usr_RESET_DESC', $usr_datas->{user}, $usr_datas->{name} ); +
+ +
+ + + + + + + + + + + + + + +
+ %=l 'ACCOUNT' + + %=l 'USER_NAME' +
<%= $usr_datas->{user} %><%= $usr_datas->{name} %>

- %= $c->l('usr_RESET_DESC', $usr_datas->{user}, $usr_datas->{name} ); + +
+ <%= l 'usr_RESET_DESC2' %> +
+
- %= l 'usr_RESET_DESC2' -

+ +
+ <%= l 'PASSWORD_NEW' %> +
+ +
+ +
+
+ +
+
-

- - %=l 'PASSWORD_NEW', class => "" - - %= password_field 'newPass', class => "", class=> 'sme-password' - -

+
+ +
+ <%= l 'PASSWORD_VERIFY_NEW' %> +
-

- - %=l 'PASSWORD_VERIFY_NEW', class => "" - - - %= password_field 'newPassVerify', class => "", class=> 'sme-password' - -

+
-

-

- %= submit_button "$btn", class => "" -

+
+
+ +
+
+ +
+ +
+
+ +
+
%= hidden_field 'trt' => $usr_datas->{trt} %= hidden_field 'user' => $usr_datas->{user} diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_pwds.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_pwds.html.ep index 07b92e4..24fac81 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_pwds.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_pwds.html.ep @@ -3,41 +3,70 @@ % my $btn = l('SAVE'); %= form_for '/useraccountsd' => (method => 'POST') => begin -

- %= l 'usr_SYSTEM_PASSWORD_DESCRIPTION' -

-

- - %=l 'usr_CURRENT_SYSTEM_PASSWORD', class => "" - - - %= password_field 'CurPass', class => "", class=> 'sme-password' - -

+
+

<%= l 'PASSWORD_RESET' %>

+
+ +
-

- - %=l 'usr_NEW_SYSTEM_PASSWORD', class => "" - - - %= password_field 'Pass', class => "", class=> 'sme-password' - -

+
+ <%= l 'usr_SYSTEM_PASSWORD_DESCRIPTION' %> +
-

- - %=l 'usr_NEW_SYSTEM_PASSWORD_VERIFY', class => "" - - - %= password_field 'PassVerify', class => "", class=> 'sme-password' - -

+
-

-

- %= submit_button "$btn", class => "" -

+
+ <%=l 'usr_CURRENT_SYSTEM_PASSWORD' %> +
+ +
+ +
+
+ +
+
+ +
+ +
+ <%= l 'usr_NEW_SYSTEM_PASSWORD' %> +
+ +
+ +
+
+ +
+
+ + +
+ + +
+ <%= l 'usr_NEW_SYSTEM_PASSWORD_VERIFY' %> +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
%= hidden_field 'trt' => $usr_datas->{trt} %= hidden_field 'user' => $usr_datas->{user} diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_upd.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_upd.html.ep index 8d4b7c0..f95504f 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_upd.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_upd.html.ep @@ -7,19 +7,13 @@ <%= $c->render_to_string(inline => l ('usr_CREATE_MODIFY_DESC')) %>

- - - - - - - % my $btn = l('ADD'); + % my $btn = l('ADD');
%#= form_for '/useraccountsd' => (method => 'POST') => begin % if ( $usr_datas->{trt} eq 'ADD' ) { - + % param 'user' => $usr_datas->{user} unless param 'user';
@@ -41,6 +35,7 @@ % } else { % $btn = l('SAVE'); +
@@ -222,97 +217,80 @@ - - % 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' + + % 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 + % }
- % my @groups = @{$c->get_groups()}; + % my @groups = @{$c->get_groups()}; %#= dumper @groups - % if ( @groups ) { + % if ( @groups ) { -

- - %=l 'usr_GROUP_MEMBERSHIPS' - -

- - - - - - - - +

- % 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'; - % } - + %=l 'usr_GROUP_MEMBERSHIPS' + +

+ +
- %=l 'usr_MEMBER' - - %=l 'GROUP' - - %=l 'DESCRIPTION' -
+ + + + + + + + + + + % 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'; + % } + + + + + + + % } - - - %= t td => (class => "") => $groupname - %= t td => (class => "") => "$description" - - % } - -
<%= l 'usr_MEMBER' %><%=l 'GROUP' %><%=l 'DESCRIPTION' %>
+ % if ( $checked eq 'checked' ) { + + %} else { + %= check_box 'groupMemberships' => $groupname + %} + <%= $groupname %><%= $description %>
- % if ( $checked eq 'checked' ) { - - - %} else { - %= check_box 'groupMemberships' => $groupname - %} -
- - % } + + + + % }
- - % $btn = l('SAVE'); -
- +
- %= hidden_field 'trt' => $usr_datas->{trt} - - trt: <%= dumper $usr_datas->{trt} %> - user: <%= dumper $usr_datas->{user} %> % if ( $usr_datas->{trt} eq 'UPD' ) { %= hidden_field 'user' => $usr_datas->{user} diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_upds.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_upds.html.ep index 3873d6d..25d1e94 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_upds.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/partials/_usr_upds.html.ep @@ -3,9 +3,9 @@

<%= l 'usr_MODIFY_ADMIN_TITLE' %>

+

- %#= form_for '/useraccountsd' => (method => 'POST') => begin @@ -102,15 +102,15 @@
+ + + trt: <%= dumper $usr_datas->{trt} %> + user: <%= dumper $usr_datas->{user} %> + + %= 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 -
diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/useraccounts.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/useraccounts.html.ep index fffef73..216a6c8 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/useraccounts.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/useraccounts.html.ep @@ -17,7 +17,8 @@ % } - +

<%= $title%>

+ % if ( $notif ) {
diff --git a/root/usr/share/smanager/themes/AdminLTE/templates/userpassword.html.ep b/root/usr/share/smanager/themes/AdminLTE/templates/userpassword.html.ep index 698c537..7470a6e 100644 --- a/root/usr/share/smanager/themes/AdminLTE/templates/userpassword.html.ep +++ b/root/usr/share/smanager/themes/AdminLTE/templates/userpassword.html.ep @@ -11,80 +11,111 @@

% } -

- %= l 'pwd_ACCOUNT_PASSWORD_CHANGE' -

+

<%= l 'pwd_ACCOUNT_PASSWORD_CHANGE' %>

% if ( stash 'error' ) {
-
- %= $c->render_to_string(inline => stash 'error') +
+ %= $c->render_to_string(inline => stash 'error')
%} -

+ % my $btn = l('pwd_PASSWORD_CHANGE'); % my $url = '/userpassword'; - %= $c->render_to_string( inline => l('pwd_DESCRIPTION')); + +

+ %= $c->render_to_string( inline => l('pwd_DESCRIPTION')); +
+ % 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')); % } -

+
+ + %= form_for $url => (method => 'POST') => begin -

- - %= l 'pwd_YOUR_ACCOUNT' - - - %= $pwd_datas->{Account} - + + + + + + + + + + + + + + +
+ %= l 'pwd_YOUR_ACCOUNT' + + %=l 'USER_NAME' +
<%= $pwd_datas->{Account} %><%= $pwd_datas->{name} %>Not in pwd_datas-> name ? :-(
+ +
+ + % if ( $pwd_datas->{trt} ne 'RESET' ) { +

+ <%= l 'pwd_PASSWORD_OLD' %> +
+ +
+ +
+
+ +
+
+ % } + +
+ +
+ <%= l 'pwd_PASSWORD_NEW' %> +
+ +
+ +
+
+ +
+
+ +
+ +
+ %=l 'pwd_PASSWORD_VERIFY_NEW' +
+ +
+ +
+
+ +
+
+ +
+ +
+
+ +
+
+ %= hidden_field 'User' => $pwd_datas->{Account} %= hidden_field 'Trt' => $pwd_datas->{trt} %= hidden_field 'jwt' => $pwd_datas->{jwt} -

-

- - % if ( $pwd_datas->{trt} ne 'RESET' ) { -

- - %= l 'pwd_PASSWORD_OLD' - - - %= password_field 'Oldpass', class => "", class=> 'sme-password' - -

-

- % } - -

- - %=l 'pwd_PASSWORD_NEW' - - - %= password_field 'Pass', class => "", class=> 'sme-password' - -

-

- -

- - %=l 'pwd_PASSWORD_VERIFY_NEW' - - - %= password_field 'Passverify', class => "", class=> 'sme-password' - -

-

- -

-
- %= submit_button "$btn", class => "" -

% end +
diff --git a/smeserver-manager-AdminLTE.spec b/smeserver-manager-AdminLTE.spec index 8be4248..7562f77 100644 --- a/smeserver-manager-AdminLTE.spec +++ b/smeserver-manager-AdminLTE.spec @@ -1,6 +1,6 @@ %define name smeserver-manager-AdminLTE %define version 11.0.0 -%define release 13 +%define release 14 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 +* Fri Apr 25 2025 John Crisp 11.0.0-14.sme +- Finish user templates. Saving fixed. Start on groups + * Fri Apr 25 2025 John Crisp 11.0.0-13.sme - Tidy some useraccounts formatting but admin page will not save