From 26e9c67755b3cdda82daeb70b693b215f5949268 Mon Sep 17 00:00:00 2001 From: Srdjan Jankovic Date: Mon, 10 Oct 2011 13:12:27 +1300 Subject: [PATCH] Bug 6190: BorrowerUnwantedField syspref and removing fields from the patron entry Signed-off-by: Katrin Fischer Tested with example from bug and by deleting parts of it: cardnumber|surname|firstname|title|othernames|initials|streetnumber|streettype|address|address2|city|state|zipcode|country|email|phone|mobile|fax|emailpro|phonepro|B_streetnumber|B_streettype|B_address|B_address2|B_city|B_state|B_zipcode|B_country|B_email|B_phone|dateofbirth|branchcode|categorycode|dateenrolled|dateexpiry|gonenoaddress|lost|debarred|contactname|contactfirstname|contacttitle|borrowernotes|relationship|sex|password|userid|opacnote|contactnote|sort1|sort2|altcontactfirstname|altcontactsurname|altcontactaddress1|altcontactaddress2|altcontactaddress3|altcontactstate|altcontactzipcode|altcontactcountry|altcontactphone Note: This only affects the edit screen, not the patron detail tab. A nice enhancement would be to make this page follow the system preference too. Signed-off-by: Marcel de Rooy QA comments on Bugzilla. Passing QA. Signed-off-by: Paul Poulain * DBrev defined * small improvement suggested by Marcel added = there is now a link to the schema page on the systempreference --- admin/systempreferences.pl | 1 + installer/data/mysql/sysprefs.sql | 1 + installer/data/mysql/updatedatabase.pl | 7 ++ .../prog/en/modules/admin/preferences/patrons.pref | 7 +- .../prog/en/modules/help/members/memberentry.tt | 1 + .../prog/en/modules/members/memberentrygen.tt | 124 ++++++++++++++++++++- kohaversion.pl | 2 +- members/memberentry.pl | 7 ++ 8 files changed, 144 insertions(+), 6 deletions(-) diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl index 78d0768d0d..f4069ae3bb 100755 --- a/admin/systempreferences.pl +++ b/admin/systempreferences.pl @@ -224,6 +224,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/sysprefs.sql b/installer/data/mysql/sysprefs.sql index 128c9b2be4..977759611c 100755 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -325,6 +325,7 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ( INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('BasketConfirmations', '1', 'When closing or reopening a basket,', 'always ask for confirmation.|do not ask for confirmation.', 'Choice'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('MARCAuthorityControlField008', '|| aca||aabn | a|a d', NULL, NULL, 'Textarea'); INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenLibraryCovers',0,'If ON Openlibrary book covers will be show',NULL,'YesNo'); +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 ('OpacKohaUrl','1',"Show 'Powered by Koha' text on OPAC footer.",NULL,NULL); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('EasyAnalyticalRecords','0','If on, display in the catalogue screens tools to easily setup analytical record relationships','','YesNo'); INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacShowRecentComments',0,'If ON a link to recent comments will appear in the OPAC masthead',NULL,'YesNo'); diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index a4942d8488..d1d84bf2b0 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -4585,6 +4585,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion($DBversion); } +$DBversion = "3.07.00.005"; +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 fd43becb1e..0e2f73bbb0 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 @@ -29,11 +29,16 @@ Patrons: no: "Don't" - default the card number field on the patron addition screen to the next available card number (for example, if the largest currently used card number is 26345000012941, then this field will default to 26345000012942). - - - "The following database columns must be filled in on the patron entry screen:" + - "The following database columns must be filled in on the patron entry screen:" - pref: BorrowerMandatoryField 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 f61f5c1b6e..fb916511ff 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 @@
  • Enter the identifying information regarding your patron
    • Required fields are defined in the BorrowerMandatoryField system preference
    • +
    • Unwanted fields are defined in the BorrowerUnwantedField system preference
    • Salutation is populated by the BorrowersTitles system preference
  • 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 62ecace40b..02d39f5e05 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt @@ -178,10 +178,12 @@ [% END %] [% IF ( step_1 ) %] +[%UNLESS notitle && nosurname && nofirstname && nodateofbirth && noinitials && noothernames &&nosex %]
    [% IF ( I ) %]Organization [% ELSE %]Patron [% END %]identity
      [% UNLESS ( I ) %] + [% UNLESS notitle %] [% IF ( title_cgipopup ) %]
    1. [% IF ( mandatorytitle ) %] @@ -195,6 +197,8 @@
    2. [% END %] [% END %] + [% END %] + [% UNLESS nosurname %]
    3. [% IF ( mandatorysurname ) %]
    4. + [% END %] [% UNLESS ( I ) %] + [% UNLESS nofirstname %]
    5. [% IF ( mandatoryfirstname ) %]
    6. + [% END %] + [% UNLESS nodateofbirth %]
    7. [% IF ( mandatorydateofbirth ) %]
    8. + [% END %] + [% UNLESS noinitials %]
    9. [% IF ( mandatoryinitials ) %]
    10. [% END %] + [% END %] + [% UNLESS noothernames %]
    11. [% IF ( mandatoryothernames ) %]
    12. + [% END %] [% UNLESS ( I ) %] + [% UNLESS nosex %]
    13. [% IF ( female ) %] @@ -305,9 +319,11 @@ [% END %]
    14. + [% END %] [% END %]
    +[% END # hide fieldset %] [% IF ( showguarantor ) %]
    @@ -343,6 +359,7 @@ [% END %] Patron #: [% IF ( guarantorid ) %] [% guarantorid %][% END %] + [% UNLESS nocontactname %]
  • [% IF ( guarantorid ) %] @@ -356,6 +373,8 @@ [% END %] [% END %]
  • + [% END %] + [% UNLESS nocontactfirstname %]
  • [% IF ( guarantorid ) %] @@ -369,6 +388,7 @@ [% END %] [% END %]
  • + [% END %] [% IF ( relshiploop ) %]
  • @@ -398,8 +418,10 @@
  • [% END %] +[% UNLESS noaddress && noaddress2 && nocity && nostate && nozipcode && nocountry %]
    Main address
      + [% UNLESS nostreetnumber %]
    1. [% IF ( mandatorystreetnumber ) %]
    2. + [% END %] + [% UNLESS nostreettype %] [% IF ( road_cgipopup ) %]
    3. [% IF ( mandatorystreettype ) %] @@ -426,6 +450,8 @@ [% IF ( mandatorystreettype ) %]Required[% END %]
    4. [% END %] + [% END %] + [% UNLESS noaddress %]
    5. [% IF ( mandatoryaddress ) %]
    6. + [% END %] + [% UNLESS noaddress2 %]
    7. [% IF ( mandatoryaddress2 ) %]
    8. + [% END %] + [% UNLESS nocity %]
    9. [% IF ( mandatorycity ) %]
    10. + [% END %] + [% UNLESS nostate %]
    11. [% IF ( mandatorystate ) %]
    12. + [% END %] + [% UNLESS nozipcode %]
    13. [% IF ( mandatoryzipcode ) %]
    14. - + [% END %] + [% UNLESS nocountry %]
    15. [% IF ( mandatorycountry ) %]
    16. - + [% END %]
    +[% END # nostreet && nocity etc group%] + +[% UNLESS nophone && nophonepro && nomobile && noemail && noemailpro && nofax %]
    Contact
      + [% UNLESS nophone %]
    1. [% IF ( mandatoryphone ) %]
    2. + [% END %] + [% UNLESS nophonepro %]
    3. [% IF ( mandatoryphonepro ) %]
    4. + [% END %] + [% UNLESS nomobile %]
    5. [% IF ( mandatorymobile ) %]
    6. + [% END %] + [% UNLESS noemail %]
    7. [% IF ( mandatoryemail ) %]
    8. + [% END %] + [% UNLESS noemailpro %]
    9. [% IF ( mandatoryemailpro ) %]
    10. + [% END %] + [% UNLESS nofax %]
    11. [% IF ( mandatoryfax ) %]
    12. + [% END %]
    - +[%END # hide fieldset %] [% END %] [% IF ( step_6 ) %] + [% UNLESS noB_address && noB_address2 && noB_city && noB_zipcode && noB_state && noB_country &&nocontactnote && noB_phone && noB_email %]
    Alternate address
      + [% UNLESS noB_address %]
    1. [% IF ( mandatoryB_address ) %]
    2. + [% END %] + [% UNLESS noB_address2 %]
    3. [% IF ( mandatoryB_address2 ) %]
    4. + [% END %] + [% UNLESS noB_city %]
    5. [% IF ( mandatoryB_city ) %]
    6. + [% END %] + [% UNLESS noB_state %]
    7. [% IF ( mandatoryB_state ) %]
    8. + [% END %] + [% UNLESS noB_zipcode %]
    9. [% IF ( mandatoryB_zipcode ) %]
    10. + [% END %] + [% UNLESS noB_country %]
    11. [% IF ( mandatoryB_country ) %]
    12. + [% END %] + [% UNLESS noB_phone %]
    13. [% IF ( mandatoryB_phone ) %]
    14. + [% END %] + [% UNLESS noB_email %]
    15. [% IF ( mandatoryB_email ) %]
    16. + [% END %] + [% UNLESS nocontactnote %]
    17. [% IF ( mandatorycontactnote ) %]
    18. + [% END %]
    + [% END # UNLESS noB_address && noB_city && noB_state && noB_phone && noB_email %] [% END %] [% IF ( step_2 ) %] + [% UNLESS noaltcontactsurname && noaltcontactfirstname && noaltcontactaddress1 && noaltcontactaddress2 && noaltcontactaddress3 && noaltcontactstate && noaltcontactzipcode && noaltcontactcountry && noaltcontactphone %]
    Alternate Contact
      + [% UNLESS noaltcontactsurname %]
    1. [% IF ( mandatoryaltcontactsurname ) %]
    2. + [% END %] + [% UNLESS noaltcontactfirstname %]
    3. [% IF ( mandatoryaltcontactfirstname ) %]
    4. + [% END %] + [% UNLESS noaltcontactaddress1 %]
    5. [% IF ( mandatoryaltcontactaddress1 ) %]
    6. + [% END %] + [% UNLESS noaltcontactaddress2 %]
    7. [% IF ( mandatoryaltcontactaddress2 ) %]
    8. + [% END %] + [% UNLESS noaltcontactaddress3 %]
    9. [% IF ( mandatoryaltcontactaddress3 ) %]
    10. + [% END %] + [% UNLESS noaltcontactstate %]
    11. [% IF ( mandatoryaltcontactstate ) %]
    12. + [% END %] + [% UNLESS noaltcontactzipcode %]
    13. [% IF ( mandatoryaltcontactzipcode ) %]
    14. + [% END %] + [% UNLESS noaltcontactcountry %]
    15. [% IF ( mandatoryaltcontactcountry ) %]
    16. + [% END %] + [% UNLESS noaltcontactphone %]
    17. [% IF ( mandatoryaltcontactphone ) %]
    18. + [% END %]
    + [% END # UNLESS noaltcontactsurname && noaltcontactfirstname etc %] [% END %] [% IF ( step_3 ) %]
    Library Management
      + [% UNLESS nocardnumber %]
    1. [% IF ( mandatorycardnumber ) %]
    2. + [% END %] + [% UNLESS nobranchcode %]
    3. [% IF ( mandatorybranchcode ) %]
    4. + [% END %]
    5. + [% UNLESS nosort1 %]
    6. [% IF ( mandatorysort1 ) %]
    7. + [% END %] + [% UNLESS nosort2 %]
    8. [% IF ( mandatorysort2 ) %]
    9. + [% END %]
    + [% UNLESS nodateenrolled && nodateexpiry && noopacnote && noborrowernotes %]
    Library set-up
      + [% UNLESS nodateenrolled %]
    1. [% IF ( mandatorydateenrolled ) %]
    2. + [% END %] + [% UNLESS nodateexpiry %]
    3. [% IF ( mandatorydateexpiry ) %]
    4. + [% END %] + [% UNLESS noopacnote %]
    5. [% IF ( mandatoryopacnote ) %]
    6. + [% END %] + [% UNLESS noborrowernotes %]
    7. [% IF ( mandatoryborrowernotes ) %]
    8. + [% END %]
    + [% END # hide fieldset %] + + [% UNLESS nouserid && nopassword %]
    OPAC/Staff Login
      + [% UNLESS nouserid %]
    1. [% IF ( mandatoryuserid ) %]
    2. + [%END %] + [% UNLESS nopassword %]
    3. [% IF ( mandatorypassword ) %]
    + + [% END %] +
    + [% END # hide fieldset %] [% UNLESS ( opadd ) %]
    diff --git a/kohaversion.pl b/kohaversion.pl index 398c5fe372..5586b98565 100644 --- a/kohaversion.pl +++ b/kohaversion.pl @@ -16,7 +16,7 @@ the kohaversion is divided in 4 parts : use strict; sub kohaversion { - our $VERSION = '3.07.00.004'; + our $VERSION = '3.07.00.005'; # version needs to be set this way # so that it can be picked up by Makefile.PL # during install diff --git a/members/memberentry.pl b/members/memberentry.pl index c047873938..6de07bf50b 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"); +@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 ); -- 2.11.0