Bugzilla – Attachment 69461 Details for
Bug 18308
Default value of minPasswordLength should be increased
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 18308 - Added step to onboarding tool to set minPasswordLength
Bug-18308---Added-step-to-onboarding-tool-to-set-m.patch (text/plain), 10.88 KB, created by
David Bourgault
on 2017-12-01 21:24:07 UTC
(
hide
)
Description:
Bug 18308 - Added step to onboarding tool to set minPasswordLength
Filename:
MIME Type:
Creator:
David Bourgault
Created:
2017-12-01 21:24:07 UTC
Size:
10.88 KB
patch
obsolete
>From b03d4b17460393553b26fbdea58a1118ec9e75f5 Mon Sep 17 00:00:00 2001 >From: Alex Buckley <alexbuckley@catalyst.net.nz> >Date: Fri, 20 Oct 2017 22:32:46 +0000 >Subject: [PATCH] Bug 18308 - Added step to onboarding tool to set > minPasswordLength > >This patch increases the default minPasswordLength syspref value to 8 >characters, for new installations. > >The final (6th step) of the onboarding tool is now a password length >page where the default value of 8 can be altered. There is a security warning in red recommending to the user they >keep the minimum length of the password at 8 characters or more. > >This patch also removes the atomicupdate .sql file to be run in an update to alter the default >minPasswordLength value for existing Koha installations, based on tester >feedback. > >Test plan: >1. Create a patron with a password less than 3 characters in length and >notice that a red message is displayed by the input telling you that the >password must be 3 characters minimum length > >2. Query the database "select value from systempreferences where >variable="minPasswordLength"; and notice the value is 3 > >3. Drop and recreate your database and restart memcached > >4. Go through the web installer and onboarding tool. Noticing the last >step of the onboarding tool is to create a circulation rule > >5. Apply patch > >6. Repeat step 3 > >7. Go through the web installer and onboarding tool. Noticing the last >step of the onboarding tool is to set the minimum password length, the >numerical input element has a default value of 8 and notice that it will >go below 3 > >8. Repeat step 2 and notice the value is 8 > >9. In the onboarding tool change the minimum password length value to 7 >and submit the form > >10. Notice the completed page of the onboarding tool is displayed with >the message that the minimum password length has been set. > >11. Repeat step 2 and notice the value is now 7. > >12. Try to create a patron in Intranet and OPAC with a password less >than 7 characters and notice that a red message is displayed by the >input telling you that the password must be 7 characters minimum length > >Sponsored-By: Catalyst IT > >Signed-off-by: David Bourgault <david.bourgault@inlibro.com> >--- > installer/data/mysql/sysprefs.sql | 2 +- > installer/onboarding.pl | 22 ++++++++- > koha-tmpl/intranet-tmpl/prog/css/installer.css | 4 ++ > .../prog/en/includes/onboarding_messages.inc | 4 ++ > .../prog/en/modules/onboarding/onboardingstep5.tt | 10 ---- > .../prog/en/modules/onboarding/onboardingstep6.tt | 53 ++++++++++++++++++++++ > 6 files changed, 82 insertions(+), 13 deletions(-) > create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep6.tt > >diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql >index e54e2ae..dd21ab8 100644 >--- a/installer/data/mysql/sysprefs.sql >+++ b/installer/data/mysql/sysprefs.sql >@@ -272,7 +272,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` > ('MaxSearchResultsItemsPerRecordStatusCheck','20','','Max number of items per record for which to check transit and hold status','Integer'), > ('MembershipExpiryDaysNotice','',NULL,'Send an account expiration notice that a patron\'s card is about to expire after','Integer'), > ('MergeReportFields','',NULL,'Displayed fields for deleted MARC records after merge','Free'), >-('minPasswordLength','3',NULL,'Specify the minimum length of a patron/staff password','free'), >+('minPasswordLength','8',NULL,'Specify the minimum length of a patron/staff password','free'), > ('NewItemsDefaultLocation','','','If set, all new items will have a location of the given Location Code ( Authorized Value type LOC )',''), > ('NewsAuthorDisplay','none','none|opac|staff|both','Display the author name for news items.','Choice'), > ('noissuescharge','5','','Define maximum amount withstanding before check outs are blocked','Integer'), >diff --git a/installer/onboarding.pl b/installer/onboarding.pl >index 76cc708..3d23514 100755 >--- a/installer/onboarding.pl >+++ b/installer/onboarding.pl >@@ -272,6 +272,21 @@ if ( $step == 5 ) { > $step++ if Koha::IssuingRules->count; > } > >+if ( $step == 6 ) { >+ if ( $op eq 'set_validate_min_password_length' ) { >+ my $minPasswordLength = $input->param('pref_minPasswordLength'); >+ warn $minPasswordLength; >+ C4::Context->set_preference( 'minPasswordLength', $minPasswordLength ); >+ unless ($@) { >+ push @messages, { code => 'success_on_update_minPasswordLength_syspref' }; >+ $step++; >+ } >+ else { >+ push @messages, { code => 'error_on_update_minPasswordLength_syspref' }; >+ } >+ } >+} >+ > my $libraries = Koha::Libraries->search( {}, { order_by => ['branchcode'] }, ); > $template_params->{libraries} = $libraries; > $template_params->{group_types} = [ >@@ -291,9 +306,12 @@ $template_params->{group_types} = [ > }, > ]; > >-if ( $step > 5 ) { >+my $minPasswordLength = C4::Context->preference('minPasswordLength'); >+$template_params->{minPasswordLength} = $minPasswordLength; >+ >+if ( $step > 6 ) { > $template_params->{all_done} = 1; # If step 5 is complete, we are done! >- $step = 5; >+ $step = 6; > } > > #Getting the appropriate template to display to the user >diff --git a/koha-tmpl/intranet-tmpl/prog/css/installer.css b/koha-tmpl/intranet-tmpl/prog/css/installer.css >index 7d5d3d9..c5f80ef 100644 >--- a/koha-tmpl/intranet-tmpl/prog/css/installer.css >+++ b/koha-tmpl/intranet-tmpl/prog/css/installer.css >@@ -241,3 +241,7 @@ span.breadcrumbs { > .deselectall.optional { > display: none; > } >+ >+#passwordlengthhint { >+ color:red; >+} >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/onboarding_messages.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/onboarding_messages.inc >index fbe0d3a..c8ef7a2 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/onboarding_messages.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/onboarding_messages.inc >@@ -32,6 +32,10 @@ > <div class="alert alert-danger">The patron has not been created the entered password was too weak, must contain at least one uppercase, and lower case letter and one number</div> > [% CASE 'ERROR_password_has_whitespaces' %] > <div class="alert alert-danger">The patron has not been created the entered password contained whitespaces</div> >+ [% CASE 'success_on_update_minPasswordLength_syspref' %] >+ <div class="alert alert-success">Minimum password length set!</div> >+ [% CASE 'error_on_update_minPasswordLength_syspref' %] >+ <div class="alert alert-danger">Minimum password length not set!</div> > [% CASE %][% message %] > [% END %] > [% END %] >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep5.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep5.tt >index dfae544..b51ad3a 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep5.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep5.tt >@@ -18,15 +18,6 @@ > <div id="onboarding-step5" class="installer-main col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2"> > <h1 id="logo"><a href="#">Koha</a></h1> > >- [% IF all_done %] >- >- <h2>Web installer › Complete</h2> >- [% INCLUDE 'onboarding_messages.inc' %] >- <h3>Congratulations you have finished and are ready to use Koha</h3> >- <a class="btn btn-success" href="/cgi-bin/koha/mainpage.pl">Start using Koha</a> >- >- [% ELSE %] >- > <h2>Web installer › Create a new circulation rule </h2> > > [% INCLUDE 'onboarding_messages.inc' %] >@@ -131,7 +122,6 @@ > > <input type="submit" class="btn btn-primary" value="Submit" /> > </form> >- [% END %] > </div> <!-- / #onboarding-step5 --> > </div> <!-- / .row --> > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep6.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep6.tt >new file mode 100644 >index 0000000..f024356 >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep6.tt >@@ -0,0 +1,53 @@ >+[% INCLUDE 'doc-head-open.inc' %] >+<title>Koha › Web installer › >+ [% IF all_done %] >+ Complete >+ [% ELSE %] >+ Create circulation rule >+ [% END %] >+</title> >+[% INCLUDE 'installer-doc-head-close.inc' %] >+[% INCLUDE 'validator-strings.inc' %] >+[% INCLUDE 'installer-strings.inc' %] >+<script type="text/javascript" src="[% interface %]/[% theme %]/js/onboarding.js"></script> >+</head> >+ >+<body id="installer" class="installer"> >+ <div class="container-fluid"> >+ <div class="row"> >+ <div id="onboarding-step5" class="installer-main col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2"> >+ <h1 id="logo"><a href="#">Koha</a></h1> >+ [% IF all_done %] >+ <h2>Web installer › Complete</h2> >+ [% INCLUDE 'onboarding_messages.inc' %] >+ <h3>Congratulations you have finished and are ready to use Koha</h3> >+ <a class="btn btn-success" href="/cgi-bin/koha/mainpage.pl">Start using Koha</a> >+ [% ELSE %] >+ <h2>Web installer › Set minPasswordLength system preference </h2> >+ [% INCLUDE 'onboarding_messages.inc' %] >+ >+ The minPasswordLength system preference is a setting for the shortest length library staff and patrons can set their passwords to. >+ >+ <form name="setMinPasswordLength" method="post" action="onboarding.pl"> >+ <fieldset class="rows"> >+ <input type="hidden" name="step" value="6"/> >+ <input type="hidden" name="op" value="set_validate_min_password_length" /> >+ <ol> >+ <li> >+ <label for="minPasswordname" class="required"> Set your minPasswordLength</label> >+ <input type="number" id="pref_minPasswordLength" name="pref_minPasswordLength" value="[% minPasswordLength%]" min=1></input> >+ <span class="required">Required</span> >+ </li> >+ </ol> >+ <p> >+ To amend the minPasswordLength system preference go to: >+ <span class="breadcrumbs">Administration › Global system preferences › Patrons </span> >+ </p> >+ </fieldset> >+ <input type="submit" class="btn btn-primary" value="Submit" /> >+ </form> >+ [% END %] >+ </div> <!-- / #onboarding-step6 --> >+ </div> <!-- / .row --> >+ >+[% INCLUDE 'intranet-bottom.inc' %] >-- >2.7.4
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 18308
:
68374
|
68381
|
68451
|
69318
|
69319
|
69320
|
69321
|
69323
|
69324
|
69459
|
69461
|
69462
|
87124
|
87125
|
87126
|
87128
|
87129
|
87339
|
87340
|
87564
|
87572
|
87573
|
87747
|
87959
|
87960
|
87961
|
87962
|
87963
|
87964
|
87966
|
88010
|
88011
|
88012
|
88013
|
88014
|
88242
|
88243
|
88306
|
88307
|
88308
|
88309
|
88310
|
88311
|
88312
|
88313
|
88314
|
88315
|
88316
|
88317
|
88318
|
88319
|
88320
|
88321
|
88840
|
90079
|
103617
|
104235
|
104236
|
104351