koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] koha acqui/suggestion-select.pl C4/Suggestions.... [rel_2_2]


From: paul poulain
Subject: [Koha-cvs] koha acqui/suggestion-select.pl C4/Suggestions.... [rel_2_2]
Date: Tue, 09 May 2006 16:05:02 +0000

CVSROOT:        /cvsroot/koha
Module name:    koha
Branch:         rel_2_2
Changes by:     paul poulain <address@hidden>   06/05/09 16:05:02

Modified files:
        acqui          : suggestion-select.pl 
        C4             : Suggestions.pm 
        koha-tmpl/intranet-tmpl/default/en/acqui: suggestion-select.tmpl 

Log message:
        bugfix for #992 : in suggestion-select, a search is automatically done 
on the catalogue to find a duplicate.
        If there is one, it is shown, and the librarian can "connect" the 
suggestion to a biblionumber to avoid creating a new biblio in the database

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/koha/acqui/suggestion-select.pl.diff?only_with_tag=rel_2_2&tr1=1.3.2.5&tr2=1.3.2.6&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/koha/koha/C4/Suggestions.pm.diff?only_with_tag=rel_2_2&tr1=1.4.2.5&tr2=1.4.2.6&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/koha/koha/koha-tmpl/intranet-tmpl/default/en/acqui/suggestion-select.tmpl.diff?only_with_tag=rel_2_2&tr1=1.4.2.2&tr2=1.4.2.3&r1=text&r2=text

Patches:
Index: koha/C4/Suggestions.pm
diff -u koha/C4/Suggestions.pm:1.4.2.5 koha/C4/Suggestions.pm:1.4.2.6
--- koha/C4/Suggestions.pm:1.4.2.5      Tue Feb 21 20:38:42 2006
+++ koha/C4/Suggestions.pm      Tue May  9 16:05:01 2006
@@ -1,6 +1,6 @@
 package C4::Suggestions;
 
-# $Id: Suggestions.pm,v 1.4.2.5 2006/02/21 20:38:42 kados Exp $
+# $Id: Suggestions.pm,v 1.4.2.6 2006/05/09 16:05:01 tipaul Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -64,6 +64,7 @@
                                &delsuggestion
                                &countsuggestion
                                &changestatus
+                               &connectSuggestionAndBiblio
                                &findsuggestion_from_biblionumber
                        );
 
@@ -149,7 +150,7 @@
        my 
($borrowernumber,$title,$author,$publishercode,$note,$copyrightdate,$volumedesc,$publicationyear,$place,$isbn,$biblionumber)
 = @_;
        my $dbh = C4::Context->dbh;
        my $sth = $dbh->prepare("insert into suggestions 
(status,suggestedby,title,author,publishercode,note,copyrightdate,volumedesc,publicationyear,place,isbn,biblionumber)
 values ('ASKED',?,?,?,?,?,?,?,?,?,?,?)");
-       
$sth->execute($borrowernumber,$title,$author,$publishercode,$note,$copyrightdate,$volumedesc,$publicationyear,$place,$isbn,$biblionumber);
+       
$sth->execute($borrowernumber,$title,$author,$publishercode,$note,$copyrightdate,$volumedesc,$publicationyear,$place,$isbn,$biblionumber);
      
 }
 
 sub getsuggestion {
@@ -254,6 +255,13 @@
        return $biblionumber;
 }
 
+# connect a suggestion to an existing biblio
+sub connectSuggestionAndBiblio {
+       my ($suggestionid,$biblionumber) = @_;
+       my $dbh=C4::Context->dbh;
+       my $sth = $dbh->prepare("update suggestions set biblionumber=? where 
suggestionid=?");
+       $sth->execute($biblionumber,$suggestionid);
+}
 =back
 
 =head1 SEE ALSO
Index: koha/acqui/suggestion-select.pl
diff -u koha/acqui/suggestion-select.pl:1.3.2.5 
koha/acqui/suggestion-select.pl:1.3.2.6
--- koha/acqui/suggestion-select.pl:1.3.2.5     Sun Feb  5 21:59:21 2006
+++ koha/acqui/suggestion-select.pl     Tue May  9 16:05:01 2006
@@ -7,6 +7,8 @@
 use C4::Auth;       # get_template_and_user
 use C4::Interface::CGI::Output;
 use C4::Suggestions;
+use C4::Biblio;
+use C4::SearchMarc;
 
 my $input = new CGI;
 
@@ -22,6 +24,9 @@
 my $publicationyear = $input->param('publicationyear');
 my $place = $input->param('place');
 my $isbn = $input->param('isbn');
+my $duplicateNumber = $input->param('duplicateNumber');
+my $suggestionid = $input->param('suggestionid');
+
 my $status = 'ACCEPTED';
 my $suggestedbyme = -1; # search ALL suggestors
 my $op = $input->param('op');
@@ -36,7 +41,58 @@
                             flagsrequired => {acquisition => 1},
                         });
 
+if ($op eq 'connectDuplicate') {
+       connectSuggestionAndBiblio($suggestionid,$duplicateNumber);
+}
 my $suggestions_loop= 
&searchsuggestion($borrowernumber,$author,$title,$publishercode,$status,$suggestedbyme);
+foreach (@$suggestions_loop) {
+       unless ($_->{biblionumber}) {
+               my (@tags, @and_or, @excluding, @operator, @value, 
$offset,$length);
+               # search on biblio.title
+               if ($_->{title}) {
+                       my ($tag,$subfield) = 
MARCfind_marc_from_kohafield($dbh,"biblio.title","");
+                       push @tags, "'".$tag.$subfield."'";
+                       push @and_or, "and";
+                       push @excluding, "";
+                       push @operator, "contains";
+                       push @value, $_->{title};
+               }
+               if ($_->{author}) {
+                       my ($tag,$subfield) = 
MARCfind_marc_from_kohafield($dbh,"biblio.author","");
+                       push @tags, "'".$tag.$subfield."'";
+                       push @and_or, "and";
+                       push @excluding, "";
+                       push @operator, "contains";
+                       push @value, $_->{author};
+               }
+               # ... and on publicationyear.
+               if ($_->{publicationyear}) {
+                       my ($tag,$subfield) = 
MARCfind_marc_from_kohafield($dbh,"biblioitems.publicationyear","");
+                       push @tags, "'".$tag.$subfield."'";
+                       push @and_or, "and";
+                       push @excluding, "";
+                       push @operator, "=";
+                       push @value, $_->{publicationyear};
+               }
+               # ... and on publisher.
+               if ($_->{publishercode}) {
+                       my ($tag,$subfield) = 
MARCfind_marc_from_kohafield($dbh,"biblioitems.publishercode","");
+                       push @tags, "'".$tag.$subfield."'";
+                       push @and_or, "and";
+                       push @excluding, "";
+                       push @operator, "=";
+                       push @value, $_->{publishercode};
+               }
+       
+               my ($finalresult,$nbresult) = 
C4::SearchMarc::catalogsearch($dbh,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,0,10);
+               # there is at least 1 result => return the 1st one
+               if ($nbresult) {
+       #               warn "$nbresult => 
"address@hidden>{biblionumber},@$finalresult[0]->{bibid},@$finalresult[0]->{title};
+#                      warn "DUPLICATE 
==>"address@hidden>{biblionumber},@$finalresult[0]->{bibid},@$finalresult[0]->{title};
+                       $_->{duplicateBiblionumber} = 
@$finalresult[0]->{biblionumber};
+               }
+       }
+}
 $template->param(suggestions_loop => $suggestions_loop,
                                title => $title,
                                author => $author,
Index: koha/koha-tmpl/intranet-tmpl/default/en/acqui/suggestion-select.tmpl
diff -u 
koha/koha-tmpl/intranet-tmpl/default/en/acqui/suggestion-select.tmpl:1.4.2.2 
koha/koha-tmpl/intranet-tmpl/default/en/acqui/suggestion-select.tmpl:1.4.2.3
--- 
koha/koha-tmpl/intranet-tmpl/default/en/acqui/suggestion-select.tmpl:1.4.2.2    
    Mon Aug 22 19:30:04 2005
+++ koha/koha-tmpl/intranet-tmpl/default/en/acqui/suggestion-select.tmpl        
Tue May  9 16:05:02 2006
@@ -6,6 +6,7 @@
                        <th class="acquisition">Suggestion</th>
                        <th class="acquisition">Suggested by</th>
                        <th class="acquisition">Accepted by</th>
+                       <th class="acquisition">Duplicate</th>
                        <th class="acquisition">&nbsp;</th>
                </tr>
                <tr>
@@ -23,6 +24,9 @@
                                        &nbsp;
                                </th>
                                <th class="acquisition">
+                                       &nbsp;
+                               </th>
+                               <th class="acquisition">
                                        <input type="submit" class="button 
acquisition" value="Set Filter">
                                </th>
                        </form>
@@ -46,6 +50,12 @@
                                <td <!-- TMPL_IF name="even" 
-->class="hilighted"<!-- /TMPL_IF -->>
                                        <!-- TMPL_VAR NAME="surnamemanagedby" 
--><!-- TMPL_IF name="firstnamemanagedby" -->,<!-- /TMPL_IF --> <!-- TMPL_VAR 
NAME="firstnamemanagedby" -->
                                </td>
+                               <td>
+                                       <!-- TMPL_IF 
name="duplicateBiblionumber" -->
+                                               <a href=# 
onClick="javascript:window.open('/cgi-bin/koha/MARCdetail.pl?bib=<!-- TMPL_VAR 
name="duplicateBiblionumber" -->')" class="button acquisition">Duplicate 
suspected</a>
+                                               <a 
href="/cgi-bin/koha/acqui/suggestion-select.pl?booksellerid=<!-- TMPL_VAR 
name="supplierid" -->&basketno=<!-- TMPL_VAR 
name="basketno"-->&op=connectDuplicate&duplicateNumber=<!-- TMPL_VAR 
name="duplicateBiblionumber" -->&suggestionid=<!-- TMPL_VAR name="suggestionid" 
-->" class="button acquisition">Connect</a>
+                                       <!-- /TMPL_IF -->
+                               </td>
                                <td <!-- TMPL_IF name="even" 
-->class="hilighted"<!-- /TMPL_IF -->>
                                        <!-- TMPL_IF name="biblionumber" -->
                                                <a 
href="newbiblio.pl?booksellerid=<!-- TMPL_VAR NAME="supplierid" 
-->&amp;basketno=<!-- TMPL_VAR NAME="basketno" -->&amp;suggestionid=<!-- 
TMPL_VAR NAME="suggestionid" -->&biblio=<!-- TMPL_VAR name="biblionumber" -->" 
class="button acquisition">Order</a>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]