@@ -, +, @@
preference
---
...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
--- a/installer/data/mysql/atomicupdate/bug_13188_add_PatronSelfModificationMandatoryField_syspref.perl
+++ a/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");
+}
--- a/installer/data/mysql/mandatory/sysprefs.sql
+++ a/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'),
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
+++ a/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
--- a/opac/opac-memberentry.pl
+++ a/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 );
--