GetSuggestion
GetSuggestionByStatus
GetSuggestionFromBiblionumber
+ GetSuggestionInfoFromBiblionumber
+ GetSuggestionInfo
ModStatus
ModSuggestion
NewSuggestion
my $query = q{
SELECT suggestionid
FROM suggestions
- WHERE biblionumber=?
+ WHERE biblionumber=? LIMIT 1
};
my $dbh=C4::Context->dbh;
my $sth = $dbh->prepare($query);
$sth->execute($biblionumber);
- my ($ordernumber) = $sth->fetchrow;
- return $ordernumber;
+ my ($suggestionid) = $sth->fetchrow;
+ return $suggestionid;
+}
+
+=head2 GetSuggestionInfoFromBiblionumber
+
+Get a suggestion and borrower's informations from it's biblionumber.
+
+return :
+all informations (suggestion and borrower) of the suggestion which is related to the biblionumber given.
+
+=cut
+
+sub GetSuggestionInfoFromBiblionumber {
+ my ($biblionumber) = @_;
+ my $query = qq{
+ SELECT suggestions.*,
+ U1.surname AS surnamesuggestedby,
+ U1.firstname AS firstnamesuggestedby,
+ U1.borrowernumber AS borrnumsuggestedby
+ FROM suggestions
+ LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
+ WHERE biblionumber = ? LIMIT 1
+ };
+ my $dbh = C4::Context->dbh;
+ my $sth = $dbh->prepare($query);
+ $sth->execute($biblionumber);
+ return $sth->fetchrow_hashref;
+}
+
+=head2 GetSuggestionInfo
+
+Get a suggestion and borrower's informations from it's suggestionid
+
+return :
+all informations (suggestion and borrower) of the suggestion which is related to the suggestionid given.
+
+=cut
+
+sub GetSuggestionInfo {
+ my ($suggestionid) = @_;
+ my $query = qq{
+ SELECT suggestions.*,
+ U1.surname AS surnamesuggestedby,
+ U1.firstname AS firstnamesuggestedby,
+ U1.borrowernumber AS borrnumsuggestedby
+ FROM suggestions
+ LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
+ WHERE suggestionid = ? LIMIT 1
+ };
+ my $dbh = C4::Context->dbh;
+ my $sth = $dbh->prepare($query);
+ $sth->execute($suggestionid);
+ return $sth->fetchrow_hashref;
}
=head2 GetSuggestionByStatus
use C4::Biblio;
use C4::Members qw/GetMember/; #needed for permissions checking for changing basketgroup of a basket
use C4::Items;
+use C4::Suggestions;
+
=head1 NAME
basket.pl
my $qty_total;
my @books_loop;
+ my $suggestion;
for my $order ( @results ) {
my $rrp = $order->{'listprice'} || 0;
} else {
$line{'title'} = "Deleted bibliographic notice, can't find title.";
}
+
+ $suggestion = GetSuggestionInfoFromBiblionumber($line{biblionumber});
+ $line{suggestionid} = $suggestion->{suggestionid};
+ $line{surnamesuggestedby} = $suggestion->{surnamesuggestedby};
+ $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
+
push @books_loop, \%line;
}
$booksellerid = $data2->{'booksellerid'};
}
+my $suggestion;
+$suggestion = GetSuggestionInfo($suggestionid) if $suggestionid;
+
# get currencies (for change rates calcs if needed)
my $active_currency = GetCurrency();
my $default_currency;
authorisedbyname => $basket->{'authorisedbyname'},
closedate => C4::Dates->new($basket->{'closedate'},'iso')->output,
# order details
- suggestionid => $suggestionid,
+ suggestionid => $suggestion->{suggestionid},
+ surnamesuggestedby => $suggestion->{surnamesuggestedby},
+ firstnamesuggestedby => $suggestion->{firstnamesuggestedby},
biblionumber => $biblionumber,
uncertainprice => $data->{'uncertainprice'},
authorisedbyname => $borrower->{'firstname'} . " " . $borrower->{'surname'},
use C4::Branch; # GetBranches
use C4::Items;
use C4::Biblio;
+use C4::Suggestions;
my $input = new CGI;
@$results[0]->{'unitprice'} = '';
}
+ my $suggestion = GetSuggestionInfoFromBiblionumber(@$results[0]->{'biblionumber'});
+
my $authorisedby = @$results[0]->{'authorisedby'};
my $member = GetMember( borrowernumber => $authorisedby );
invoice => $invoice,
datereceived => $datereceived->output(),
datereceived_iso => $datereceived->output('iso'),
- notes => $order->{notes}
+ notes => $order->{notes},
+ suggestionid => $suggestion->{suggestionid},
+ surnamesuggestedby => $suggestion->{surnamesuggestedby},
+ firstnamesuggestedby => $suggestion->{firstnamesuggestedby},
);
}
else {
use CGI;
use C4::Output;
use C4::Dates qw/format_date format_date_in_iso/;
+use C4::Suggestions;
use JSON;
my $input=new CGI;
$totalprice += $parcelitems[$i]->{'unitprice'};
$line{unitprice} = sprintf($cfstr, $parcelitems[$i]->{'unitprice'});
+ my $suggestion = GetSuggestionInfoFromBiblionumber($line{biblionumber});
+ $line{suggestionid} = $suggestion->{suggestionid};
+ $line{surnamesuggestedby} = $suggestion->{surnamesuggestedby};
+ $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
+
#double FIXME - totalfreight is redefined later.
# FIXME - each order in a parcel holds the freight for the whole parcel. This means if you receive a parcel with items from multiple budgets, you'll see the freight charge in each budget..
$itemholds += $nb;
}
}
-
+
+ my $suggestion = GetSuggestionInfoFromBiblionumber($line{biblionumber});
+ $line{suggestionid} = $suggestion->{suggestionid};
+ $line{surnamesuggestedby} = $suggestion->{surnamesuggestedby};
+ $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
+
# if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds we can then show the link "Delete order and Biblio" see bug 5680
$line{can_del_bib} = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !(@subscriptions) && !($holds);
$line{items} = ($itemcount) - (scalar @items);
[% IF ( books_loo.issn ) %] - [% books_loo.issn %][% END %]
[% IF ( books_loo.publishercode ) %], [% books_loo.publishercode %][% END %]
[% IF ( books_loo.publicationyear ) %], [% books_loo.publicationyear %][% END %]
+ [% IF ( books_loo.suggestionid ) %]
+ <br/>
+ Suggested by [% books_loo.surnamesuggestedby %]
+ [% IF ( books_loo.firstnamesuggestedby ) %], [% books_loo.firstnamesuggestedby %] [% END %]
+ (from <a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% books_loo.suggestionid %]">suggestion #[% books_loo.suggestionid %]</a>)
+ [% END %]
</p>
</td>
<td class="number">[% books_loo.rrp %]</td>
[% ELSE %]
New order
[% END %]
- [% IF ( suggestionid ) %](defined from suggestion #[% suggestionid %])[% END %]
</h2>
[% IF ( basketno ) %]
[% END %]
</ol>
</fieldset>
+
+ [% IF ( suggestionid ) %]
+ <fieldset class="rows">
+ <legend>Suggestion</legend>
+ <ol>
+ <li>
+ <span class="label">Suggested by </span>
+ [% surnamesuggestedby %][% IF ( firstnamesuggestedby ) %], [% firstnamesuggestedby %][% END %] (from <a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% suggestionid %]">suggestion #[% suggestionid %]</a>)
+ </li>
+ </ol>
+ </fieldset>
+ [% END %]
+
[% IF ( items ) %]
<fieldset class="rows">
<legend>Item</legend>
[% seriestitle %]</li>
</ol>
</fieldset>
+
+ [% IF ( suggestionid ) %]
+ <fieldset class="rows">
+ <legend>Suggestion</legend>
+ <ol>
+ <li>
+ <span class="label">Suggested by </span>
+ [% surnamesuggestedby %][% IF ( firstnamesuggestedby ) %], [% firstnamesuggestedby %][% END %] (from <a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% suggestionid %]">suggestion #[% suggestionid %]</a>)
+ </li>
+ </ol>
+ </fieldset>
+ [% END %]
+
[% IF ( items ) %]
<fieldset class="rows">
<legend>Item</legend>
[% IF ( loop_order.author ) %] by [% loop_order.author %][% END %]
[% IF ( loop_order.isbn ) %] – [% loop_order.isbn %][% END %]
[% IF ( loop_order.publishercode ) %]<br />Publisher :[% loop_order.publishercode %][% END %]
+ [% IF ( loop_order.suggestionid ) %]
+ <br/>
+ Suggested by [% loop_order.surnamesuggestedby %]
+ [% IF ( loop_order.firstnamesuggestedby ) %], [% loop_order.firstnamesuggestedby %] [% END %]
+ (from <a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_order.suggestionid %]">suggestion #[% loop_order.suggestionid %]</a>)
+ [% END %]
</td>
<td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_order.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&id=[% loop_order.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
<td>[% loop_order.quantity %]</td>
[% IF ( loop_receive.author ) %] / [% loop_receive.author %][% END %]
[% IF ( loop_receive.isbn ) %] - [% loop_receive.isbn %][% END %]
[% IF ( loop_receive.publishercode ) %]<br />Publisher :[% loop_receive.publishercode %][% END %]
+ [% IF ( loop_receive.suggestionid ) %]
+ <br/>
+ Suggested by [% loop_receive.surnamesuggestedby %]
+ [% IF ( loop_receive.firstnamesuggestedby ) %], [% loop_receive.firstnamesuggestedby %] [% END %]
+ (from <a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_receive.suggestionid %]">suggestion #[% loop_receive.suggestionid %]</a>
+ [% END %]
</td>
<td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
<td>[% loop_receive.quantityreceived %]</td>
use C4::Suggestions;
-use Test::More tests =>6;
+use Test::More tests =>9;
BEGIN {
use_ok('C4::Suggestions');
}
-my ($suggestionid, $suggestion, $status);
+my ($suggestionid, $suggestion, $status, $biblionumber);
+$biblionumber = 1;
ok($suggestionid= NewSuggestion( {title=>'Petit traité de philosohpie',author=>'Hubert de Chardassé',publishercode=>'Albin Michel'} ), "NewSuggestion OK");
ok($suggestion= GetSuggestion( $suggestionid), "GetSuggestion OK");
ok($status= ModSuggestion( {title=>'test Modif Simple', suggestionid=>$suggestionid} ), "ModSuggestion Simple OK");
ok($status= ModSuggestion( {STATUS=>'STALLED', suggestionid=>$suggestionid} ), "ModSuggestion Status OK");
+ok($status= ModSuggestion( {suggestionid => $suggestionid, biblionumber => $biblionumber } ), "ModSuggestion, set biblionumber OK" );
+ok($suggestion= GetSuggestionFromBiblionumber( $biblionumber ), "GetSuggestionFromBiblionumber OK");
+ok($suggestion= GetSuggestionInfoFromBiblionumber( $biblionumber ), "GetSuggestionInfoFromBiblionumber OK");
ok(@{SearchSuggestion( {STATUS=>'STALLED'} )}>0, "SearchSuggestion Status OK");