View | Details | Raw Unified | Return to bug 28844
Collapse All | Expand All

(-)a/C4/Suggestions.pm (-28 lines)
Lines 36-42 our @EXPORT = qw( Link Here
36
  GetSuggestion
36
  GetSuggestion
37
  GetSuggestionByStatus
37
  GetSuggestionByStatus
38
  GetSuggestionFromBiblionumber
38
  GetSuggestionFromBiblionumber
39
  GetSuggestionInfoFromBiblionumber
40
  GetSuggestionInfo
39
  GetSuggestionInfo
41
  ModStatus
40
  ModStatus
42
  ModSuggestion
41
  ModSuggestion
Lines 120-152 sub GetSuggestionFromBiblionumber { Link Here
120
    return $suggestionid;
119
    return $suggestionid;
121
}
120
}
122
121
123
=head2 GetSuggestionInfoFromBiblionumber
124
125
Get a suggestion and borrower's informations from it's biblionumber.
126
127
return :
128
all informations (suggestion and borrower) of the suggestion which is related to the biblionumber given.
129
130
=cut
131
132
sub GetSuggestionInfoFromBiblionumber {
133
    my ($biblionumber) = @_;
134
    my $query = q{
135
        SELECT suggestions.*,
136
            U1.surname          AS surnamesuggestedby,
137
            U1.firstname        AS firstnamesuggestedby,
138
            U1.borrowernumber   AS borrnumsuggestedby
139
        FROM suggestions
140
            LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
141
        WHERE biblionumber=?
142
        LIMIT 1
143
    };
144
    my $dbh = C4::Context->dbh;
145
    my $sth = $dbh->prepare($query);
146
    $sth->execute($biblionumber);
147
    return $sth->fetchrow_hashref;
148
}
149
150
=head2 GetSuggestionInfo
122
=head2 GetSuggestionInfo
151
123
152
Get a suggestion and borrower's informations from it's suggestionid
124
Get a suggestion and borrower's informations from it's suggestionid
(-)a/t/db_dependent/Suggestions.t (-18 / +2 lines)
Lines 18-24 Link Here
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use DateTime::Duration;
20
use DateTime::Duration;
21
use Test::More tests => 91;
21
use Test::More tests => 79;
22
use Test::Warn;
22
use Test::Warn;
23
23
24
use t::lib::Mocks;
24
use t::lib::Mocks;
Lines 34-40 use Koha::Patrons; Link Here
34
use Koha::Suggestions;
34
use Koha::Suggestions;
35
35
36
BEGIN {
36
BEGIN {
37
    use_ok('C4::Suggestions', qw( NewSuggestion GetSuggestion ModSuggestion GetSuggestionInfo GetSuggestionFromBiblionumber GetSuggestionInfoFromBiblionumber GetSuggestionByStatus ConnectSuggestionAndBiblio DelSuggestion MarcRecordFromNewSuggestion GetUnprocessedSuggestions DelSuggestionsOlderThan ));
37
    use_ok('C4::Suggestions', qw( NewSuggestion GetSuggestion ModSuggestion GetSuggestionInfo GetSuggestionFromBiblionumber GetSuggestionByStatus ConnectSuggestionAndBiblio DelSuggestion MarcRecordFromNewSuggestion GetUnprocessedSuggestions DelSuggestionsOlderThan ));
38
}
38
}
39
39
40
my $schema  = Koha::Database->new->schema;
40
my $schema  = Koha::Database->new->schema;
Lines 289-309 is( GetSuggestionFromBiblionumber(2), undef, 'GetSuggestionFromBiblionumber with Link Here
289
is( GetSuggestionFromBiblionumber($biblio_1->biblionumber), $my_suggestionid, 'GetSuggestionFromBiblionumber functions correctly' );
289
is( GetSuggestionFromBiblionumber($biblio_1->biblionumber), $my_suggestionid, 'GetSuggestionFromBiblionumber functions correctly' );
290
290
291
291
292
is( GetSuggestionInfoFromBiblionumber(), undef, 'GetSuggestionInfoFromBiblionumber without the biblio number returns undef' );
293
is( GetSuggestionInfoFromBiblionumber(2), undef, 'GetSuggestionInfoFromBiblionumber with an invalid biblio number returns undef' );
294
$suggestion = GetSuggestionInfoFromBiblionumber($biblio_1->biblionumber);
295
is( $suggestion->{suggestionid}, $my_suggestionid, 'GetSuggestionInfoFromBiblionumber returns the suggestion id correctly' );
296
is( $suggestion->{title}, $mod_suggestion1->{title}, 'GetSuggestionInfoFromBiblionumber returns the title correctly' );
297
is( $suggestion->{author}, $mod_suggestion1->{author}, 'GetSuggestionInfoFromBiblionumber returns the author correctly' );
298
is( $suggestion->{publishercode}, $mod_suggestion1->{publishercode}, 'GetSuggestionInfoFromBiblionumber returns the publisher code correctly' );
299
is( $suggestion->{suggestedby}, $my_suggestion->{suggestedby}, 'GetSuggestionInfoFromBiblionumber returns the borrower number correctly' );
300
is( $suggestion->{biblionumber}, $my_suggestion->{biblionumber}, 'GetSuggestionInfoFromBiblionumber returns the biblio number correctly' );
301
is( $suggestion->{STATUS}, $mod_suggestion3->{STATUS}, 'GetSuggestionInfoFromBiblionumber returns the status correctly' );
302
is( $suggestion->{surnamesuggestedby}, $member->{surname}, 'GetSuggestionInfoFromBiblionumber returns the surname correctly' );
303
is( $suggestion->{firstnamesuggestedby}, $member->{firstname}, 'GetSuggestionInfoFromBiblionumber returns the firstname correctly' );
304
is( $suggestion->{borrnumsuggestedby}, $my_suggestion->{suggestedby}, 'GetSuggestionInfoFromBiblionumeber returns the borrower number correctly' );
305
306
307
my $suggestions = GetSuggestionByStatus();
292
my $suggestions = GetSuggestionByStatus();
308
is( @$suggestions, 0, 'GetSuggestionByStatus without the status returns an empty array' );
293
is( @$suggestions, 0, 'GetSuggestionByStatus without the status returns an empty array' );
309
$suggestions = GetSuggestionByStatus('CHECKED');
294
$suggestions = GetSuggestionByStatus('CHECKED');
310
- 

Return to bug 28844