Bugzilla – Attachment 124191 Details for
Bug 28912
Pseudonymization should display a nice error message when brcypt_settings are not defined
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 28912: Prevent Pseudonymization to be set if bcrypt_settings not set
Bug-28912-Prevent-Pseudonymization-to-be-set-if-bc.patch (text/plain), 5.17 KB, created by
Andrew Fuerste-Henry
on 2021-08-27 16:13:02 UTC
(
hide
)
Description:
Bug 28912: Prevent Pseudonymization to be set if bcrypt_settings not set
Filename:
MIME Type:
Creator:
Andrew Fuerste-Henry
Created:
2021-08-27 16:13:02 UTC
Size:
5.17 KB
patch
obsolete
>From e4ebdf4ef3a135e5ecf090304b0af1761cb75fc6 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Fri, 27 Aug 2021 16:56:08 +0200 >Subject: [PATCH] Bug 28912: Prevent Pseudonymization to be set if > bcrypt_settings not set > >If Pseudonymization is set but the bcrypt_settings config used by the >feature is not set, then there is an ugly 500 on checking out. > >bad bcrypt settings at /kohadevbox/koha/Koha/PseudonymizedTransaction.pm line 116. > >However it's pretty hard to handle correctly this exception (and that's >why it hasn't be done initially). However we could prevent the pref to >be turned on if the config entry is not present. > >Test plan: >Remove the bcrypt_settings from the config >Try to turn the syspref on >Add the config >Try to turn the syspref on/off > >Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> >--- > admin/preferences.pl | 9 ++++++++- > .../prog/en/modules/admin/preferences.tt | 13 ++++++++++++- > 2 files changed, 20 insertions(+), 2 deletions(-) > >diff --git a/admin/preferences.pl b/admin/preferences.pl >index bbb41d7507..a755b31bb4 100755 >--- a/admin/preferences.pl >+++ b/admin/preferences.pl >@@ -179,6 +179,7 @@ sub TransformPrefsToHTML { > foreach my $line ( @{ $tab->{ $group } } ) { > my @chunks; > my @names; >+ my @warnings; > > foreach my $piece ( @$line ) { > if ( ref ( $piece ) eq 'HASH' ) { >@@ -197,6 +198,10 @@ sub TransformPrefsToHTML { > # No highlighting of inputs yet, but would be useful > $chunk->{'highlighted'} = 1 if ( $searchfield && $name =~ /^$searchfield$/i ); > >+ if ( $name eq 'Pseudonymization' && ! C4::Context->config('bcrypt_settings')) { >+ push @warnings, 'bcrypt_config_not_set'; >+ $chunk->{disabled} = 1 unless $value; # Let disable if enabled >+ } > push @chunks, $chunk; > > my $name_entry = { name => $name }; >@@ -208,6 +213,7 @@ sub TransformPrefsToHTML { > } > } > $name_entry->{'overridden'} = 1 if ( any { $name eq $_ } @override_syspref_names ); >+ > push @names, $name_entry; > } else { > push @chunks, $piece; >@@ -225,10 +231,11 @@ sub TransformPrefsToHTML { > push @chunks, { type_text => 1, contents => $piece }; > } > } >- push @lines, { CHUNKS => \@chunks, NAMES => \@names, is_group_title => 0 }; >+ push @lines, { CHUNKS => \@chunks, NAMES => \@names, WARNINGS => \@warnings, is_group_title => 0 }; > } > } > >+ use Data::Printer colored => 1; warn p @lines; > return $title, \@lines; > } > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt >index 33a9d5a69c..a2582ccf00 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt >@@ -114,7 +114,8 @@ > <input type="[%IF CHUNK.input_type %][% CHUNK.input_type | html %][% ELSE %]text[% END %]" name="pref_[% CHUNK.name | html %]" id="pref_[% CHUNK.name | html %]" class="preference preference-[% CHUNK.class or "short" | html %]" value="[% CHUNK.value | html %]" autocomplete="off" /> [% IF ( CHUNK.dateinput ) %]<span class="hint">[% INCLUDE 'date-format.inc' %]</span>[% END %] > [% END %] > [% ELSIF ( CHUNK.type_select ) %] >- <select name="pref_[% CHUNK.name | html %]" id="pref_[% CHUNK.name | html %]" class="preference preference-[% CHUNK.class or "choice" | html %]"> >+ [% SET disabled = 'disabled="disabled"' IF CHUNK.disabled %] >+ <select name="pref_[% CHUNK.name | html %]" id="pref_[% CHUNK.name | html %]" [% disabled %] class="preference preference-[% CHUNK.class or "choice" | html %]"> > [% FOREACH CHOICE IN CHUNK.CHOICES.sort('value') %] > [% IF ( CHOICE.selected ) %] > <option value="[% CHOICE.value | html %]" selected="selected"> >@@ -178,6 +179,16 @@ > </ul> <!-- / ul.sortable --> > [% END %] > [% END %] >+ [% IF LINE.WARNINGS.size %] >+ [% FOR w IN LINE.WARNINGS %] >+ <div class="dialog alert"> >+ [% SWITCH w %] >+ [% CASE "bcrypt_config_not_set" %]Pseudonymization must only be turned on if the 'bcrypt_settings' configuration entry exists and is correctly filled in the Koha configuration file. >+ [% CASE %]Unknown warning "[% w %]" >+ [% END %] >+ </div> >+ [% END %] >+ [% END %] > </div></td> > </tr> > [% IF ( loop.last ) %]</tbody></table>[% END %] >-- >2.20.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 28912
:
124186
|
124187
|
124191
|
124192
|
124236
|
124237
|
124519
|
124520