Juan,

You might want to review the steps for submitting patches to Koha:
http://wiki.koha-community.org/wiki/Bug-enhancement-patch_Workflow

Every patch needs to have a bug/enhancement report for it.

Nicole

On Thu, Jul 14, 2011 at 2:03 PM, Juan F. Romay Sieira <
[email protected]> wrote:

> **
> There is not a bug, I think. The question is about the search of an isbn
> without hyphens. If isbn is indexed with hyphens, and you try to search for
> it with them, you'll not found it. This feature will index the isbn and issn
> whithout hyphens and will remove hyphens from search if you try to find a
> query like 978-84-92404-61-2.
> To try the patch, simply execute installer/data/mysql/updatedatabase.pl to
> insert the new syspref, insert a biblio and try to search it.
>
>
>  El 14/07/11 19:33, Nicole Engard escribió:
>
> What is the bug number for this? and can you include instructions for
> testing on the bug or in the patch please.
>
>
> Nicole
>
> On Thu, Jul 14, 2011 at 1:01 PM, Juan Romay Sieira <[email protected]
> > wrote:
>
>> ---
>>  C4/Biblio.pm                                   |   34
>> ++++++++++++++++++++++++
>>  C4/Search.pm                                   |    1 +
>>  installer/data/mysql/en/mandatory/sysprefs.sql |    1 +
>>  installer/data/mysql/updatedatabase.pl         |    7 +++++
>>  kohaversion.pl                                 |    2 +-
>>  5 files changed, 44 insertions(+), 1 deletions(-)
>>
>> diff --git a/C4/Biblio.pm b/C4/Biblio.pm
>> index d797f40..332d476 100644
>> --- a/C4/Biblio.pm
>> +++ b/C4/Biblio.pm
>> @@ -3461,6 +3461,40 @@ sub ModBiblioMarc {
>>         # the previous version of the record
>>         $oldRecord = GetMarcBiblio($biblionumber);
>>     }
>> +
>> +    #
>> +    if (C4::Context->preference("IsbnIssnRemoveHyphens")){
>> +           my $isbn;
>> +           my $issn;
>> +               if ( $encoding eq 'UNIMARC' ) {
>> +                       if ( my $f010 = $record->field('010') ) {
>> +                               if ( $f010->subfield('a') ) {
>> +                                       $isbn = $f010->subfield('a');
>> +                                       $isbn =~ s/-//g;
>> +                                       $f010->update( 'a' => $isbn );
>> +                               }
>> +                       }
>> +                       if ( my $f011 = $record->field('011') ) {
>> +                               if ( $f011->subfield('a') ) {
>> +                                       $issn = $f011->subfield('a');
>> +                                       $issn =~ s/-//g;
>> +                                       $f011->update( 'a' => $issn );
>> +                               }
>> +                       }
>> +               } else {
>> +                       if ( my $f020 = $record->field('020') ) {
>> +                               $isbn = $f020->subfield('a');
>> +                               $isbn =~ s/-//g;
>> +                               $f020->update( 'a' => $isbn );
>> +                       }
>> +                       if ( my $f022 = $record->field('022') ) {
>> +                               $issn = $f022->subfield('a');
>> +                               $issn =~ s/-//g;
>> +                               $f022->update( 'a' => $issn );
>> +                       }
>> +               }
>> +    }
>> +
>>     $sth = $dbh->prepare("UPDATE biblioitems SET marc=?,marcxml=? WHERE
>> biblionumber=?");
>>     $sth->execute( $record->as_usmarc(),
>> $record->as_xml_record($encoding), $biblionumber );
>>     $sth->finish;
>> diff --git a/C4/Search.pm b/C4/Search.pm
>> index c3cff65..2bc934f 100644
>> --- a/C4/Search.pm
>> +++ b/C4/Search.pm
>> @@ -1159,6 +1159,7 @@ sub buildQuery {
>>                 }
>>                 # ISBN,ISSN,Standard Number, don't need special treatment
>>                 elsif ( $index eq 'nb' || $index eq 'ns' ) {
>> +                       $operand =~ s/-//g if
>> (C4::Context->preference("IsbnIssnRemoveHyphens"));
>>                     (
>>                         $stemming,      $auto_truncation,
>>                         $weight_fields, $fuzzy_enabled,
>> diff --git a/installer/data/mysql/en/mandatory/sysprefs.sql
>> b/installer/data/mysql/en/mandatory/sysprefs.sql
>> index 0abf9d8..991c80a 100755
>> --- a/installer/data/mysql/en/mandatory/sysprefs.sql
>> +++ b/installer/data/mysql/en/mandatory/sysprefs.sql
>> @@ -314,3 +314,4 @@ INSERT INTO `systempreferences`
>> (variable,value,explanation,options,type) VALUES
>>  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');
>>  INSERT INTO systempreferences (variable,value,explanation,options,type)
>> VALUES ('OpacRenewalBranch','checkoutbranch','Choose how the branch for an
>> OPAC renewal is recorded in
>> statistics','itemhomebranch|patronhomebranch|checkoutbranch|null','Choice');
>> +INSERT INTO `systempreferences` (`variable`, `value`, `options`,
>> `explanation`, `type`) VALUES ('IsbnIssnRemoveHyphens', '1', '', 'Remove or
>> not hyphens from ISBN and ISSN', 'YesNo');
>> diff --git a/installer/data/mysql/updatedatabase.plb/installer/data/mysql/
>> updatedatabase.pl
>> index 8fb9656..23daacf 100755
>> --- a/installer/data/mysql/updatedatabase.pl
>> +++ b/installer/data/mysql/updatedatabase.pl
>> @@ -4370,6 +4370,13 @@ if (C4::Context->preference("Version") <
>> TransformToNum($DBversion)) {
>>     SetVersion($DBversion);
>>  }
>>
>> +$DBversion = "3.05.00.005";
>> +if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
>> +    $dbh->do("INSERT INTO `systempreferences` (`variable`, `value`,
>> `options`, `explanation`, `type`) VALUES ('IsbnIssnRemoveHyphens', '1', '',
>> 'Remove or not hyphens from ISBN and ISSN', 'YesNo');");
>> +    print "Upgrade to $DBversion done (Add SysPref to remove hyphens or
>> not into isbn and issn)\n";
>> +    SetVersion($DBversion);
>> +}
>> +
>>  =head1 FUNCTIONS
>>
>>  =head2 DropAllForeignKeys($table)
>> diff --git a/kohaversion.pl b/kohaversion.pl
>> index 00bdbec..9021eb0 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.05.00.004';
>> +    our $VERSION = '3.05.00.005';
>>     # version needs to be set this way
>>     # so that it can be picked up by Makefile.PL
>>     # during install
>> --
>> 1.7.1
>>
>> _______________________________________________
>> Koha-patches mailing list
>> [email protected]
>> http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
>> website : http://www.koha-community.org/
>> git : http://git.koha-community.org/
>> bugs : http://bugs.koha-community.org/
>>
>
>
_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to