[Koha-patches] [PATCH] bug_6190: BorrowerUnwantedField syspref and removing fields from the patron entry

Srdjan Jankovic srdjan at catalyst.net.nz
Tue May 10 02:30:40 CEST 2011


---
 admin/systempreferences.pl                         |    1 +
 installer/data/mysql/de-DE/mandatory/sysprefs.sql  |    3 +-
 installer/data/mysql/en/mandatory/sysprefs.sql     |    1 +
 .../1-Obligatoire/unimarc_standard_systemprefs.sql |    3 +-
 installer/data/mysql/it-IT/necessari/sysprefs.sql  |    1 +
 installer/data/mysql/pl-PL/mandatory/sysprefs.sql  |    3 +-
 ...m_preferences_full_optimal_for_install_only.sql |    3 +-
 ...m_preferences_full_optimal_for_install_only.sql |    1 +
 installer/data/mysql/updatedatabase.pl             |    7 ++
 .../prog/en/modules/admin/preferences/patrons.pref |    5 +
 .../prog/en/modules/help/members/memberentry.tt    |    1 +
 .../prog/en/modules/members/memberentrygen.tt      |  111 +++++++++++++++++++-
 members/memberentry.pl                             |    7 ++
 13 files changed, 140 insertions(+), 7 deletions(-)

diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl
index 87ecac4..39a81e6 100755
--- a/admin/systempreferences.pl
+++ b/admin/systempreferences.pl
@@ -223,6 +223,7 @@ $tabsysprefs{intranetreadinghistory}       = "Patrons";
 $tabsysprefs{NotifyBorrowerDeparture}      = "Patrons";
 $tabsysprefs{memberofinstitution}          = "Patrons";
 $tabsysprefs{BorrowerMandatoryField}       = "Patrons";
+$tabsysprefs{BorrowerUnwantedField}        = "Patrons";
 $tabsysprefs{borrowerRelationship}         = "Patrons";
 $tabsysprefs{BorrowersTitles}              = "Patrons";
 $tabsysprefs{patronimages}                 = "Patrons";
diff --git a/installer/data/mysql/de-DE/mandatory/sysprefs.sql b/installer/data/mysql/de-DE/mandatory/sysprefs.sql
index c7c885d..59c2972 100755
--- a/installer/data/mysql/de-DE/mandatory/sysprefs.sql
+++ b/installer/data/mysql/de-DE/mandatory/sysprefs.sql
@@ -20,6 +20,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('autoMemberNum',1,'If ON, patron number is auto-calculated','','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BiblioDefaultView','normal','Choose the default detail view in the catalog; choose between normal, marc or isbd','normal|marc|isbd','Choice');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerMandatoryField','zipcode|surname|cardnumber','Choose the mandatory fields for a patron\'s account',NULL,'free');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerUnwantedField','','Name the fields you don\'t need to store for a patron\'s account',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('borrowerRelationship','Vater|Mutter','Define valid relationships between a guarantor & a guarantee (separated by | or ,)','','free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowersLog',1,'If ON, log edit/create/delete actions on patron data',NULL,'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('casAuthentication', '0', 'Enable or disable CAS authentication', '', 'YesNo');
@@ -311,4 +312,4 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsField','','The MARC field/subfield that contains alternate holdings information for bibs taht do not have items attached (e.g. 852abchi for libraries converting from MARC Magician).',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsSeparator','','The string to use to separate subfields in alternate holdings displays.',NULL,'free');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacHiddenItems' ,'','This syspref allows to define custom rules for hiding specific items at opac. See docs/opac/O    pacHiddenItems.txt for more informations.','','Textarea');
-INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('numSearchRSSResults',50,'Specify the maximum number of results to display on a RSS page of results',NULL,'Integer');
\ No newline at end of file
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('numSearchRSSResults',50,'Specify the maximum number of results to display on a RSS page of results',NULL,'Integer');
diff --git a/installer/data/mysql/en/mandatory/sysprefs.sql b/installer/data/mysql/en/mandatory/sysprefs.sql
index f98b053..139ba38 100755
--- a/installer/data/mysql/en/mandatory/sysprefs.sql
+++ b/installer/data/mysql/en/mandatory/sysprefs.sql
@@ -20,6 +20,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('autoMemberNum',1,'If ON, patron number is auto-calculated','','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BiblioDefaultView','normal','Choose the default detail view in the catalog; choose between normal, marc or isbd','normal|marc|isbd','Choice');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerMandatoryField','zipcode|surname|cardnumber','Choose the mandatory fields for a patron\'s account',NULL,'free');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerUnwantedField','','Name the fields you don\'t need to store for a patron\'s account',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('borrowerRelationship','father|mother','Define valid relationships between a guarantor & a guarantee (separated by | or ,)','','free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowersLog',1,'If ON, log edit/create/delete actions on patron data',NULL,'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('casAuthentication', '0', 'Enable or disable CAS authentication', '', 'YesNo');
diff --git a/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql b/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
index 185c74b..df52093 100755
--- a/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
+++ b/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
@@ -19,6 +19,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AutomaticItemReturn', '1', 'Ce paramètre permet de faire les retours vers le site propriétaire automatiquement', '', 'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('autoMemberNum', '1', 'Si ce paramètre est activé, le numéro des adhérents est automatiquement calculé. Ne sera pas activé si vous avez des cartes pré-imprimées.', '', 'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerMandatoryField', '', 'Liste les champs obligatoires dans la grille de saisie des adhérents (séparés par | ou ,)', 'cardnumber|surname|address', 'free');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerUnwantedField','','Name the fields you don\'t need to store for a patron\'s account',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('borrowerRelationship', '', 'Liste les relations entre les garants et leurs garantis (separées par | ou ,)', 'Père|Mère|grand-parent|Tuteur légal|Autre\r\n', 'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowersLog', '0', 'Activer ce paramètre pour enregistrer les actions sur les lecteurs', '', 'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowersTitles', '', 'Liste les titres de politesse (séparés par | ou ,)', 'M|Mme|Mlle', 'free');
@@ -312,4 +313,4 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsField','','The MARC field/subfield that contains alternate holdings information for bibs taht do not have items attached (e.g. 852abchi for libraries converting from MARC Magician).',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsSeparator','','The string to use to separate subfields in alternate holdings displays.',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacHiddenItems','','This syspref allows to define custom rules for hiding specific items at opac. See docs/opac/OpacHiddenItems.txt for more informations.','','Textarea');
-INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('numSearchRSSResults',50,'Specify the maximum number of results to display on a RSS page of results',NULL,'Integer');
\ No newline at end of file
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('numSearchRSSResults',50,'Specify the maximum number of results to display on a RSS page of results',NULL,'Integer');
diff --git a/installer/data/mysql/it-IT/necessari/sysprefs.sql b/installer/data/mysql/it-IT/necessari/sysprefs.sql
index fca0cfb..acf995d 100755
--- a/installer/data/mysql/it-IT/necessari/sysprefs.sql
+++ b/installer/data/mysql/it-IT/necessari/sysprefs.sql
@@ -35,6 +35,7 @@ insert into `systempreferences` (`variable`, `value`, `options`, `explanation`,
 insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('BiblioAddsAuthorities','1','','Se ON, aggiungendo un nuovo record bibliografico il sistema controlla se ci sono i  records di authority corrispondenti per i campi collegati con l’authority. Se non ci sono, gli equivalenti rcords di autority sono creati al volo.','YesNo');
 insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('BiblioDefaultView','normal','normal|marc|isbd','Per scegliere la visualizzazione di default della scheda dettagliata  nel catalogo; scegliere tra normal, marc o isbd.','Choice');
 insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('BorrowerMandatoryField','city|surname|cardnumber','','Per decidere quali campi sono obbligatori nell\'account di un utente.','free');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerUnwantedField','','Name the fields you don\'t need to store for a patron\'s account',NULL,'free');
 insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('borrowerRelationship','father|mother','','Definisce la relazione valida tra garante e garanzia (separali  con | o ,)','free');
 insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('BorrowersLog','0','','Se ON, logga le azioni di modifica/creazione/cancellazione sui dati utente.','YesNo');
 insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('BorrowersTitles','Sig|Sig.ra|Sig.na','','Definisce i titoli appropriati per gli utenti','free');
diff --git a/installer/data/mysql/pl-PL/mandatory/sysprefs.sql b/installer/data/mysql/pl-PL/mandatory/sysprefs.sql
index c39e231..5b658eb 100755
--- a/installer/data/mysql/pl-PL/mandatory/sysprefs.sql
+++ b/installer/data/mysql/pl-PL/mandatory/sysprefs.sql
@@ -20,6 +20,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('autoMemberNum',1,'If ON, patron number is auto-calculated','','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BiblioDefaultView','normal','Choose the default detail view in the catalog; choose between normal, marc or isbd','normal|marc|isbd','Choice');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerMandatoryField','zipcode|surname|cardnumber','Choose the mandatory fields for a patron\'s account',NULL,'free');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerUnwantedField','','Name the fields you don\'t need to store for a patron\'s account',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('borrowerRelationship','father|mother','Define valid relationships between a guarantor & a guarantee (separated by | or ,)','','free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowersLog',1,'If ON, log edit/create/delete actions on patron data',NULL,'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('casAuthentication', '0', 'Enable or disable CAS authentication', '', 'YesNo');
@@ -310,4 +311,4 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsField','','The MARC field/subfield that contains alternate holdings information for bibs taht do not have items attached (e.g. 852abchi for libraries converting from MARC Magician).',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsSeparator','','The string to use to separate subfields in alternate holdings displays.',NULL,'free');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacHiddenItems','','This syspref allows to define custom rules for hiding specific items at opac. See docs/opac/OpacHiddenItems.txt for more informations.','','Textarea');
-INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('numSearchRSSResults',50,'Specify the maximum number of results to display on a RSS page of results',NULL,'Integer');
\ No newline at end of file
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('numSearchRSSResults',50,'Specify the maximum number of results to display on a RSS page of results',NULL,'Integer');
diff --git a/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql b/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql
index a7c6a10..735b9ca 100755
--- a/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql
+++ b/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql
@@ -35,6 +35,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('autoMemberNum',1,'If ON, patron number is auto-calculated','','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BiblioDefaultView','normal','Choose the default detail view in the catalog; choose between normal, marc or isbd','normal|marc|isbd','Choice');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerMandatoryField','surname|cardnumber','Choose the mandatory fields for a patron\'s account',NULL,'free');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerUnwantedField','','Name the fields you don\'t need to store for a patron\'s account',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('borrowerRelationship','father|mother','Define valid relationships between a guarantor & a guarantee (separated by | or ,)','','free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowersLog',1,'If ON, log edit/create/delete actions on patron data',NULL,'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('CataloguingLog',1,'If ON, log edit/create/delete actions on bibliographic data. WARNING: this feature is very resource consuming.',NULL,'YesNo');
@@ -365,4 +366,4 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsField','','The MARC field/subfield that contains alternate holdings information for bibs taht do not have items attached (e.g. 852abchi for libraries converting from MARC Magician).',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsSeparator','','The string to use to separate subfields in alternate holdings displays.',NULL,'free');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacHiddenItems','','This syspref allows to define custom rules for hiding specific items at opac. See docs/opac/OpacHiddenItems.txt for more informations.','','Textarea');
-INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('numSearchRSSResults',50,'Specify the maximum number of results to display on a RSS page of results',NULL,'Integer');
\ No newline at end of file
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('numSearchRSSResults',50,'Specify the maximum number of results to display on a RSS page of results',NULL,'Integer');
diff --git a/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql b/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql
index f370766..7a33660 100755
--- a/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql
+++ b/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql
@@ -34,6 +34,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('autoMemberNum',1,'If ON, patron number is auto-calculated','','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BiblioDefaultView','normal','Choose the default detail view in the catalog; choose between normal, marc or isbd','normal|marc|isbd','Choice');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerMandatoryField','surname|cardnumber','Choose the mandatory fields for a patron\'s account',NULL,'free');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerUnwantedField','','Name the fields you don\'t need to store for a patron\'s account',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('borrowerRelationship','father|mother','Define valid relationships between a guarantor & a guarantee (separated by | or ,)','','free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowersLog',1,'If ON, log edit/create/delete actions on patron data',NULL,'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('CataloguingLog',1,'If ON, log edit/create/delete actions on bibliographic data. WARNING: this feature is very resource consuming.',NULL,'YesNo');
diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl
index 52951e7..b31c4d0 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -4332,6 +4332,13 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
     SetVersion($DBversion);
 }
 
+$DBversion = "3.05.00.XXX";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('BorrowerUnwantedField','','Name the fields you don\'t need to store for a patron\'s account',NULL,'free')");
+    print "Upgrade to $DBversion done (BorrowerUnwantedField syspref)\n";
+    SetVersion ($DBversion);
+}
+
 =head1 FUNCTIONS
 
 =head2 DropAllForeignKeys($table)
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref
index ac3e1d2..6bfa0df 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref
@@ -32,6 +32,11 @@ Patrons:
            class: multi
          - (separate columns with |)
      -
+         - "The following database columns will not appear on the patron entry screen:"
+         - pref: BorrowerUnwantedField
+           class: multi
+         - (separate columns with |)
+     -
          - "Guarantors can be the following of those they guarantee:"
          - pref: borrowerRelationship
            class: multi
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/help/members/memberentry.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/help/members/memberentry.tt
index b832f4c..9dcaf60 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/help/members/memberentry.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/help/members/memberentry.tt
@@ -22,6 +22,7 @@
 	<li>Enter the identifying information regarding your patron
 <ul>
 	<li>Required fields are defined in the BorrowerMandatoryField system preference</li>
+	<li>Unwanted fields are defined in the BorrowerUnwantedField system preference</li>
 	<li>Salutation is populated by the BorrowersTitles system preference</li>
 </ul>
 </li>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
index 497b9ac..cdd4e8a 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
@@ -169,6 +169,7 @@
 		<legend>[% IF ( I ) %]Organization [% ELSE %]Patron [% END %]identity</legend>
 		<ol>
 		[% UNLESS ( I ) %]
+        [% UNLESS notitle %]
 		[% IF ( title_cgipopup ) %]
             <li>
             [% IF ( mandatorytitle ) %]
@@ -182,6 +183,8 @@
             </li>
 		[% END %]
         [% END %]
+		[% END %]
+        [% UNLESS nosurname %]
 		<li>
 		[% IF ( mandatorysurname ) %]
 		<label for="surname" class="required">
@@ -196,7 +199,9 @@
 		[% END %]
 		[% IF ( mandatorysurname ) %]<span class="required">Required</span>[% END %]
 		</li>
+        [% END %]
 		[% UNLESS ( I ) %]
+        [% UNLESS nofirstname %]
             <li>
                 [% IF ( mandatoryfirstname ) %]
                 <label for="firstname" class="required">
@@ -207,6 +212,8 @@
                 <input type="text" id="firstname" name="firstname" size="20"  value="[% IF ( opduplicate ) %][% ELSE %][% firstname %][% END %]" />
                 [% IF ( mandatoryfirstname ) %]<span class="required">Required</span>[% END %]
             </li>
+        [% END %]
+        [% UNLESS nodateofbirth %]
             <li>
                 [% IF ( mandatorydateofbirth ) %]
                 <label for="dateofbirth" class="required">
@@ -235,6 +242,8 @@
         [% IF ( ERROR_dateofbirth ) %]<span class="required">(Error)</span>[% END %]
 		<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
             </li>
+        [% END %]
+        [% UNLESS noinitials %]
             <li>
                 [% IF ( mandatoryinitials ) %]
                     <label for="initials" class="required">
@@ -246,6 +255,8 @@
                 [% IF ( mandatoryinitials ) %]<span class="required">Required</span>[% END %]
             </li>
         [% END %]
+        [% END %]
+        [% UNLESS noothernames %]
 		<li>
 			[% IF ( mandatoryothernames ) %]
 			<label for="othernames" class="required">
@@ -257,7 +268,9 @@
 [% IF ( mandatoryothernames ) %]<span class="required">Required</span>[% END %]
 		[% IF ( I ) %]<input type="hidden" name="sex" value="N" />[% END %]
 		</li>
+        [% END %]
     [% UNLESS ( I ) %]
+        [% UNLESS nosex %]
 		<li class="radio">
 		
 		[% IF ( female ) %]
@@ -276,6 +289,7 @@
 				<label for="sex-none">N/A </label><input type="radio" name="sex" id="sex-none" value="" />
 [% END %]
        	</li>
+        [% END %]
     [% END %]
 		</ol>
 	</fieldset>
@@ -310,6 +324,7 @@
  [% END %]
      <span class="label">Patron #:</span> [% IF ( guarantorid ) %] <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% guarantorid %]" target="blank">[% guarantorid %]</a>[% END %]
  </li>
+        [% UNLESS nocontactname %]
  <li>
      <label for="contactname">Surname: </label>
      [% IF ( guarantorid ) %]
@@ -319,6 +334,8 @@
      <input name="contactname" id="contactname" type="text" size="20" value="[% contactname %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
      [% END %]
  </li>
+        [% END %]
+        [% UNLESS nocontactfirstname %]
  <li>
      <label for="contactfirstname">First name: </label>
      [% IF ( guarantorid ) %]
@@ -328,6 +345,7 @@
      <input name="contactfirstname" id="contactfirstname" type="text" size="20" value="[% contactfirstname %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
      [% END %]
  </li>
+        [% END %]
  [% IF ( relshiploop ) %]
  <li>
      <label for="relationship">Relationship: </label>
@@ -357,8 +375,10 @@
     </fieldset>
 
 [% END %]
+[% UNLESS noaddress && nocity && nostate %]
 <fieldset class="rows">
     <legend>Main address</legend><ol>
+        [% UNLESS nostreetnumber %]
     <li>
       [% IF ( mandatorystreetnumber ) %]
       <label for="streetnumber" class="required">
@@ -369,6 +389,8 @@
       <input type="text" id="streetnumber" name="streetnumber" size="5" value="[% streetnumber %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 [% IF ( mandatorystreetnumber ) %]<span class="required">Required</span>[% END %]
     </li>
+        [% END %]
+        [% UNLESS nostreettype %]
     [% IF ( road_cgipopup ) %]
       <li>
       [% IF ( mandatorystreettype ) %]
@@ -381,6 +403,8 @@
 	  [% IF ( mandatorystreettype ) %]<span class="required">Required</span>[% END %]
       </li>
     [% END %] 
+        [% END %]
+        [% UNLESS noaddress %]
     <li>
       [% IF ( mandatoryaddress ) %]
       <label for="address" class="required">
@@ -391,6 +415,8 @@
       <input type="text" id="address" name="address" size="35" value="[% address %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatoryaddress ) %]<span class="required">Required</span>[% END %]
     </li>
+        [% END %]
+        [% UNLESS noaddress2 %]
     <li>
       [% IF ( mandatoryaddress2 ) %]
       <label for="address2" class="required">
@@ -401,6 +427,8 @@
       <input type="text" id="address2" name="address2" size="35" value="[% address2 %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatoryaddress2 ) %]<span class="required">Required</span>[% END %]
     </li>  
+        [% END %]
+        [% UNLESS nocity %]
     <li>
       [% IF ( mandatorycity ) %]
         <label for="city" class="required">
@@ -425,6 +453,8 @@
         [% END %]
 	  [% IF ( mandatorycity ) %]<span class="required">Required</span>[% END %]
     </li>
+        [% END %]
+        [% UNLESS nostate %]
     <li> 
       [% IF ( mandatorystate ) %]
         <label for="state" class="required">
@@ -435,6 +465,8 @@
       <input type="text" name="state" id="state" size="20" value="[% state %]" />
 	  [% IF ( mandatorystate ) %]<span class="required">Required</span>[% END %]
     </li>
+        [% END %]
+        [% UNLESS nozipcode %]
     <li> 
       [% IF ( mandatoryzipcode ) %]
         <label for="zipcode" class="required">
@@ -445,7 +477,8 @@
       <input type="text" name="zipcode" id="zipcode" size="10" value="[% zipcode %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatoryzipcode ) %]<span class="required">Required</span>[% END %]
     </li>
-    
+        [% END %]
+        [% UNLESS nocountry %]
     <li> 
       [% IF ( mandatorycountry ) %]
         <label for="country" class="required">
@@ -456,11 +489,13 @@
       <input type="text" name="country" id="country" size="20" value="[% country %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatorycountry ) %]<span class="required">Required</span>[% END %]
     </li>    
-  
+        [% END %]
 	</ol>
     </fieldset>
+[% END # nostreet && nocity etc group%]
   <fieldset class="rows" id="memberentry_contact">
     <legend>Contact</legend><ol>
+        [% UNLESS nophone %]
       <li>
       [% IF ( mandatoryphone ) %] 
       <label for="phone" class="required">
@@ -472,6 +507,8 @@
 	  [% IF ( mandatoryphone ) %]<span class="required">Required</span>[% END %]<div class="hint">Shows on transit slips</div>
 
     </li>
+        [% END %]
+        [% UNLESS nophonepro %]
     <li>
       [% IF ( mandatoryphonepro ) %]
       <label for="phonepro" class="required">
@@ -482,6 +519,8 @@
       <input type="text" id="phonepro" name="phonepro" value="[% phonepro %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatoryphonepro ) %]<span class="required">Required</span>[% END %]
     </li>
+        [% END %]
+        [% UNLESS nomobile %]
     <li>
       [% IF ( mandatorymobile ) %]
       <label for="mobile" class="required">
@@ -492,6 +531,8 @@
       <input type="text" id="mobile" name="mobile" value="[% mobile %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatorymobile ) %]<span class="required">Required</span>[% END %]
     </li>
+        [% END %]
+        [% UNLESS noemail %]
     <li>
       [% IF ( mandatoryemail ) %]
       <label for="email" class="required">
@@ -503,6 +544,8 @@
 	  [% IF ( mandatoryemail ) %]<span class="required">Required</span>[% END %]<div class="hint">Shows on transit slips</div>
 
     </li>
+        [% END %]
+        [% UNLESS noemailpro %]
     <li>
       [% IF ( mandatoryemailpro ) %] 
       <label for="emailpro" class="required">
@@ -513,6 +556,8 @@
       <input type="text" id="emailpro" name="emailpro" size="45" value="[% emailpro %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatoryemailpro ) %]<span class="required">Required</span>[% END %]
     </li>
+        [% END %]
+        [% UNLESS nofax %]
     <li>
       [% IF ( mandatoryfax ) %]
       <label for="fax" class="required">
@@ -523,6 +568,7 @@
       <input type="text" id="fax" name="fax" value="[% fax %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatoryfax ) %]<span class="required">Required</span>[% END %]
     </li>
+        [% END %]
 	</ol>
   </fieldset>
 
@@ -531,8 +577,10 @@
 [% END %]
 [% IF ( step_6 ) %]
 
+    [% UNLESS noB_address && noB_city && noB_state && noB_phone && noB_email %]
 		<fieldset class="rows" id="memberentry_address">
 		<legend>Alternate address</legend><ol>
+        [% UNLESS noB_address %]
 			<li>
 				[% IF ( mandatoryB_address ) %]
 					<label for="B_address" class="required">
@@ -543,6 +591,8 @@
 				<input type="text" id="B_address" name="B_address" size="40" value="[% B_address %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatoryB_address ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noB_address2 %]
 			<li>
 				[% IF ( mandatoryB_address2 ) %]
 					<label for="B_address2" class="required">
@@ -553,6 +603,8 @@
 				<input type="text" id="B_address2" name="B_address2" size="40" value="[% B_address2 %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatoryB_address2 ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noB_city %]
 			<li>
 				[% IF ( mandatoryB_city ) %]
 					<label for="B_city" class="required" >
@@ -563,6 +615,8 @@
 				<input type="text" id="B_city" name="B_city" size="20" value="[% B_city %]" />
 	  [% IF ( mandatoryB_city ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noB_state %]
 			<li>
 				[% IF ( mandatoryB_state ) %]
 					<label for="B_state" class="required" >
@@ -573,6 +627,8 @@
 				<input type="text" id="B_state" name="B_state" size="20" value="[% B_state %]" />
 	  [% IF ( mandatoryB_state ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noB_zipcode %]
 			<li>
 				[% IF ( mandatoryB_zipcode ) %]
 					<label for="B_zipcode" class="required">
@@ -583,6 +639,8 @@
 				<input type="text" id="B_zipcode" name="B_zipcode" maxlength="10" size="10" value="[% B_zipcode %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatoryB_zipcode ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noB_country %]
 			<li>
 				[% IF ( mandatoryB_country ) %]
 					<label for="B_country" class="required">
@@ -593,6 +651,8 @@
 				<input type="text" id="B_country" name="B_country" size="20" value="[% B_country %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 	  [% IF ( mandatoryB_country ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noB_phone %]
             <li>
                 [% IF ( mandatoryB_phone ) %]
                 <label for="B_phone" class="required">
@@ -603,6 +663,8 @@
                 <input type="text" id="B_phone" name="B_phone" value="[% B_phone %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
                 [% IF ( mandatoryB_phone ) %]<span class="required">Required</span>[% END %]
             </li>
+        [% END %]
+        [% UNLESS noB_email %]
 			<li> 
         [% IF ( mandatoryB_email ) %]
           <label for="B_email" class="required">
@@ -612,6 +674,8 @@
         Email: </label>
         <input type="text" id="B_email" name="B_email" size="45" value="[% B_email %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 		[% IF ( mandatoryB_email ) %]<span class="required">Required</span>[% END %] </li>
+        [% END %]
+        [% UNLESS nocontactnote %]
             <li>
                 [% IF ( mandatorycontactnote ) %]
                 <label for="contactnote" class="required">
@@ -622,12 +686,16 @@
                 <textarea id="contactnote" name="contactnote" cols="40" rows="2">[% contactnote %]</textarea>
         [% IF ( mandatorycontactnote ) %]<span class="required">Required</span>[% END %]
             </li>
+        [% END %]
 			</ol>
 		</fieldset>
+    [% END # UNLESS noB_address && noB_city && noB_state && noB_phone && noB_email %]
 [% END %]		
 [% IF ( step_2 ) %]
+    [% UNLESS noaltcontactsurname && noaltcontactfirstname && noaltcontactaddress1 && noaltcontactphone %]
 		<fieldset class="rows" id="memberentry_altaddress">       
 		    <legend>Alternate Contact</legend><ol>
+        [% UNLESS noaltcontactsurname %]
 			<li>
 			    [% IF ( mandatoryaltcontactsurname ) %]
 				<label for="altcontactsurname" class="required">
@@ -638,6 +706,8 @@
 				<input type="text" name="altcontactsurname" id="altcontactsurname" value="[% altcontactsurname %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 				[% IF ( mandatoryaltcontactsurname ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noaltcontactfirstname %]
 			<li>
 			    [% IF ( mandatoryaltcontactfirstname ) %]
 				<label for="altcontactfirstname" class="required">
@@ -648,6 +718,8 @@
 				<input type="text" name="altcontactfirstname" id="altcontactfirstname" value="[% altcontactfirstname %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 				[% IF ( mandatoryaltcontactfirstname ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noaltcontactaddress1 %]
 			<li>
 			    [% IF ( mandatoryaltcontactaddress1 ) %]
 				<label for="altcontactaddress1" class="required">
@@ -658,6 +730,8 @@
 				<input type="text" name="altcontactaddress1" id="altcontactaddress1" value="[% altcontactaddress1 %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] size="40" />
 				[% IF ( mandatoryaltcontactaddress1 ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noaltcontactaddress2 %]
 			<li>
 			    [% IF ( mandatoryaltcontactaddress2 ) %]
 				<label for="altcontactaddress2" class="required">
@@ -668,6 +742,8 @@
 				<input type="text" name="altcontactaddress2" id="altcontactaddress2" value="[% altcontactaddress2 %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] size="40" />
 				[% IF ( mandatoryaltcontactaddress2 ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noaltcontactaddress3 %]
 			<li>
 			    [% IF ( mandatoryaltcontactaddress3 ) %]
 				<label for="altcontactaddress3" class="required">
@@ -678,6 +754,8 @@
 				<input type="text" name="altcontactaddress3" id="altcontactaddress3" value="[% altcontactaddress3 %]" size="20" />
 				[% IF ( mandatoryaltcontactaddress3 ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noaltcontactstate %]
 			<li>
 			    [% IF ( mandatoryaltcontactstate ) %]
 				<label for="altcontactstate" class="required">
@@ -688,6 +766,8 @@
 				<input type="text" name="altcontactstate" id="altcontactstate" value="[% altcontactstate %]" size="20" />
 				[% IF ( mandatoryaltcontactstate ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noaltcontactzipcode %]
 			<li>
 			    [% IF ( mandatoryaltcontactzipcode ) %]
 				<label for="altcontactzipcode" class="required">
@@ -698,6 +778,8 @@
 				<input type="text" name="altcontactzipcode" id="altcontactzipcode" value="[% altcontactzipcode %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] size="5" />
 				[% IF ( mandatoryaltcontactzipcode ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
+        [% UNLESS noaltcontactcountry %]
 			<li>
 			    [% IF ( mandatoryaltcontactcountry ) %]
 				<label for="altcontactcountry" class="required">
@@ -708,6 +790,8 @@
 				<input type="text" name="altcontactcountry" id="altcontactcountry" value="[% altcontactcountry %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] size="20" />
 				[% IF ( mandatoryaltcontactcountry ) %]<span class="required">Required</span>[% END %]
 			</li>			
+        [% END %]
+        [% UNLESS noaltcontactphone %]
 			<li>
 			    [% IF ( mandatoryaltcontactphone ) %]
 				<label for="altcontactphone" class="required">
@@ -718,8 +802,10 @@
 				<input type="text" name="altcontactphone" id="altcontactphone" value="[% altcontactphone %]"[% IF ( opduplicate ) %] onclick="this.value=''"[% END %] />
 				[% IF ( mandatoryaltcontactphone ) %]<span class="required">Required</span>[% END %]
 			</li>
+        [% END %]
             </ol>
         </fieldset>
+    [% END # UNLESS noaltcontactsurname && noaltcontactfirstname etc %]
 
 
   [% IF ( I ) %]
@@ -746,6 +832,7 @@
 
   <fieldset class="rows" id="memberentry_library_management">
     <legend>Library Management</legend><ol>
+        [% UNLESS nocardnumber %]
    <li> [% IF ( mandatorycardnumber ) %]
       <label for="cardnumber" class="required">
     [% ELSE %]
@@ -754,6 +841,8 @@
     Card number: </label>
     <input type="text" id="cardnumber" name="cardnumber" size="20" value="[% IF ( opduplicate ) %][% ELSE %][% cardnumber %][% END %]" />
 	  [% IF ( mandatorycardnumber ) %]<span class="required">Required</span>[% END %]</li>
+        [% END %]
+        [% UNLESS nobranchcode %]
     <li>
       [% IF ( mandatorybranchcode ) %]
         <label for="branchcode" class="required">
@@ -764,6 +853,7 @@
       [% CGIbranch %]
 	  [% IF ( mandatorybranchcode ) %]<span class="required">Required</span>[% END %]
     </li>
+        [% END %]
     <li>
         <label for="categorycode">Category: </label>
         <select id="categorycode" name="categorycode">
@@ -789,6 +879,7 @@
        [% END %]
        </select>
     </li>
+        [% UNLESS nosort1 %]
     <li>
       [% IF ( mandatorysort1 ) %]
         <label for="sort1" class="required">
@@ -803,6 +894,8 @@
 	  [% IF ( mandatorysort1 ) %]<span class="required">Required</span>[% END %]
       [% END %]   
     </li>
+        [% END %]
+        [% UNLESS nosort2 %]
     <li>
     [% IF ( mandatorysort2 ) %]
     <label for="sort2" class="required">
@@ -817,10 +910,12 @@
 	  [% IF ( mandatorysort2 ) %]<span class="required">Required</span>[% END %]
     [% END %] 
     </li>
+        [% END %]
 	</ol>
   </fieldset>
 	<fieldset class="rows" id="memberentry_subscription">
 	<legend>Library set-up</legend><ol>
+        [% UNLESS nodateenrolled %]
 		<li>
 			[% IF ( mandatorydateenrolled ) %]
 			<label for="dateenrolled" class="required">
@@ -843,6 +938,8 @@
 		[% IF ( ERROR_dateenrolled ) %]<span class="required">(Error)</span>[% END %]
 		<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
 		</li>
+        [% END %]
+        [% UNLESS nodateexpiry %]
 		<li>
 			[% IF ( mandatorydateexpiry ) %]
 			<label for="dateexpiry" class="required">
@@ -865,6 +962,8 @@
 		[% IF ( ERROR_dateexpiry ) %]<span class="required">(Error)</span>[% END %]
 		<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
 		</li>
+        [% END %]
+        [% UNLESS noopacnote %]
 		<li>
 			[% IF ( mandatoryopacnote ) %]
 				<label for="opacnote" class="required">
@@ -876,6 +975,8 @@
 			<div class="hint">This message appears on this patron's user page in the OPAC</div>
 	  [% IF ( mandatoryopacnote ) %]<span class="required">Required</span>[% END %]
 		</li>
+        [% END %]
+        [% UNLESS noborrowernotes %]
 		<li>
 			[% IF ( mandatoryborrowernotes ) %]	
 				<label for="borrowernotes" class="required">
@@ -887,10 +988,12 @@
 			<div class="hint">This message displays when checking out to this patron</div>
 	  [% IF ( mandatoryborrowernotes ) %]<span class="required">Required</span>[% END %]
 		</li>
+        [% END %]
 		</ol>
 	</fieldset>
 	<fieldset class="rows" id="memberentry_userid">
 		<legend>OPAC login</legend><ol>
+        [% UNLESS nouserid %]
 		<li>
 			[% IF ( mandatoryuserid ) %]
 			<label for="userid" class="required">
@@ -937,7 +1040,9 @@
 			[% END %]
 	  [% IF ( mandatorypassword ) %]<span class="required">Required</span>[% END %][% IF ( ERROR_short_password ) %]<span class="required">Password is too short</span>[% END %]
 [% IF ( minPasswordLength ) %]<div class="hint">Minimum password length: [% minPasswordLength %]</div>[% END %]
-		</li></ol>
+		</li>
+        [% END %]
+    </ol>
 		</fieldset>
 		<!--this zones are not necessary in modif mode -->
 		[% UNLESS ( opadd ) %]
diff --git a/members/memberentry.pl b/members/memberentry.pl
index a8e764c..9fa7e0e 100755
--- a/members/memberentry.pl
+++ b/members/memberentry.pl
@@ -100,6 +100,13 @@ my @field_check=split(/\|/,$check_BorrowerMandatoryField);
 foreach (@field_check) {
 	$template->param( "mandatory$_" => 1);    
 }
+# function to designate unwanted fields
+my $check_BorrowerUnwantedField=C4::Context->preference("BorrowerUnwantedField");
+ at field_check=split(/\|/,$check_BorrowerUnwantedField);
+foreach (@field_check) {
+    next unless m/\w/o;
+	$template->param( "no$_" => 1);    
+}
 $template->param( "add" => 1 ) if ( $op eq 'add' );
 $template->param( "duplicate" => 1 ) if ( $op eq 'duplicate' );
 $template->param( "checked" => 1 ) if ( defined($nodouble) && $nodouble eq 1 );
-- 
1.6.5



More information about the Koha-patches mailing list