From 04bd575c31cca0474e16340150ea11a5745b9f58 Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Tue, 19 Jan 2021 22:39:57 +0000 Subject: [PATCH] Bug 13188: Add PatronSelfModificationMandatoryField system preference TEST PLAN: 1. Apply patch, updatedatabase, restart_all 2. In the PatronSelfRegistrationBorrowerMandatoryField add the field password. 3. Go to the self registration page on make sure password is required. 4. Now go to the OPAC modification page, make some changes and attempt to submit. It should work. 5. Go to PatronSelfModificationMandatoryField and select some fields. 6. The columns you selected should now be required. 7. On the PatronSelfModificationMandatoryField page, make sure the select all and clear all buttons work. Signed-off-by: Kelly McElligott Signed-off-by: Martin Renvoize --- ...8_add_PatronSelfModificationMandatoryField_syspref.perl | 7 +++++++ installer/data/mysql/mandatory/sysprefs.sql | 1 + .../prog/en/modules/admin/preferences/opac.pref | 6 ++++++ opac/opac-memberentry.pl | 3 ++- 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 installer/data/mysql/atomicupdate/bug_13188_add_PatronSelfModificationMandatoryField_syspref.perl diff --git a/installer/data/mysql/atomicupdate/bug_13188_add_PatronSelfModificationMandatoryField_syspref.perl b/installer/data/mysql/atomicupdate/bug_13188_add_PatronSelfModificationMandatoryField_syspref.perl new file mode 100644 index 00000000000..9462d3b3ea0 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_13188_add_PatronSelfModificationMandatoryField_syspref.perl @@ -0,0 +1,7 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + $dbh->do(q{ + INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) VALUES ('PatronSelfModificationMandatoryField','', NULL,'Define the required fields when a patron is editing their information via the OPAC.','multiple'); + }); + NewVersion($DBversion, 13188, "Allow configuration of required fields when a patron is editing their information via the OPAC"); +} diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index 59db857ca66..05deee20081 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -513,6 +513,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('PatronDuplicateMatchingAddFields','surname|firstname|dateofbirth', NULL,'A list of fields separated by "|" to deduplicate patrons when created','Free'), ('patronimages','0',NULL,'Enable patron images for the staff interface','YesNo'), ('PatronRemovalDelay','',NULL,'Delay for removing anonymized patrons', 'Integer'), +('PatronSelfModificationMandatoryField','',NULL,'Name the fields you don\'t want to be required when a patron is editing their information via the OPAC.','free'), ('PatronSelfModificationBorrowerUnwantedField','',NULL,'Name the fields you don\'t want to display when a patron is editing their information via the OPAC.','free'), ('PatronSelfRegistration','0',NULL,'If enabled, patrons will be able to register themselves via the OPAC.','YesNo'), ('PatronSelfRegistrationAdditionalInstructions','','','A free text field to display additional instructions to newly self registered patrons.','free'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref index 179e16b5299..a384a517106 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -823,6 +823,12 @@ OPAC: class: integer - "days after account creation." - "
NOTE: This system preference requires the misc/cronjobs/cleanup_database.pl cronjob. Ask your system administrator to schedule it." + - + - "The following database columns must be filled in on the patron modification screen:" + - pref: PatronSelfModificationMandatoryField + type: modalselect + source: borrowers + exclusions: password|cardnumber|dateexpiry|categorycode - - "The following database columns must be filled in on the patron entry screen:" - pref: PatronSelfRegistrationBorrowerMandatoryField diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl index 8945cc339ba..9db4244e719 100755 --- a/opac/opac-memberentry.pl +++ b/opac/opac-memberentry.pl @@ -386,7 +386,8 @@ sub GetMandatoryFields { my %mandatory_fields; - my $BorrowerMandatoryField = + my $BorrowerMandatoryField = $action eq 'edit' || $action eq 'update' ? + C4::Context->preference("PatronSelfModificationMandatoryField") : C4::Context->preference("PatronSelfRegistrationBorrowerMandatoryField"); my @fields = split( /\|/, $BorrowerMandatoryField ); -- 2.20.1