X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=opac%2Fopac-main.pl;h=5b98333b85af886c524c22e58cf856df6e1e9313;hb=9d6d641d1f8b77271800f43bc027b651f9aea52b;hp=b5a5b284e9cdb4c4e9db5cf0fa432b574b8958d7;hpb=831296be7a1947fd8aeed64862dbad6358c9875f;p=srvgit diff --git a/opac/opac-main.pl b/opac/opac-main.pl index b5a5b284e9..5b98333b85 100755 --- a/opac/opac-main.pl +++ b/opac/opac-main.pl @@ -20,18 +20,17 @@ use Modern::Perl; use CGI qw ( -utf8 ); -use C4::Auth; # get_template_and_user -use C4::Output; -use C4::NewsChannels; # GetNewsToDisplay -use C4::Languages qw(getTranslatedLanguages accept_language); +use C4::Auth qw( get_template_and_user ); +use C4::Output qw( output_html_with_http_headers ); use Koha::Quotes; use C4::Members; -use C4::Overdues; +use C4::Overdues qw( checkoverdues ); use Koha::Checkouts; use Koha::Holds; use Koha::News; +use Koha::Patron::Messages; -my $input = new CGI; +my $input = CGI->new; my $dbh = C4::Context->dbh; my ( $template, $borrowernumber, $cookie ) = get_template_and_user( @@ -60,17 +59,21 @@ elsif (C4::Context->userenv and defined $input->param('branch') and length $inpu } my $news_id = $input->param('news_id'); -my @all_koha_news; +my $koha_news; if (defined $news_id){ - @all_koha_news = Koha::News->search({ idnew => $news_id, lang => { '!=', 'koha' } }); # get news that is not staff-only news - if (scalar @all_koha_news > 0){ - $template->param( news_item => @all_koha_news ); + $koha_news = Koha::News->search({ idnew => $news_id, lang => { '!=', 'koha' } }); # get news that is not staff-only news + if ( $koha_news->count > 0){ + $template->param( news_item => $koha_news->next ); } else { $template->param( single_news_error => 1 ); } } else { - @all_koha_news = &GetNewsToDisplay( $template->lang, $homebranch); + $koha_news = Koha::News->search_for_display({ + location => 'opac', + lang => $template->lang, + library_id => $homebranch, + }); } # For dashboard @@ -81,10 +84,14 @@ if ( $patron ) { my ( $overdues_count, $overdues ) = checkoverdues($borrowernumber); my $holds_pending = Koha::Holds->search({ borrowernumber => $borrowernumber, found => undef })->count; my $holds_waiting = Koha::Holds->search({ borrowernumber => $borrowernumber })->waiting->count; - + my $patron_messages = Koha::Patron::Messages->search( + { + borrowernumber => $borrowernumber, + message_type => 'B', + }); + my $patron_note = $patron->opacnote; my $total = $patron->account->balance; - - if ( $checkouts > 0 || $overdues_count > 0 || $holds_pending > 0 || $holds_waiting > 0 || $total > 0 ) { + if ( $checkouts > 0 || $overdues_count > 0 || $holds_pending > 0 || $holds_waiting > 0 || $total > 0 || $patron_note || $patron_messages->count ) { $template->param( dashboard_info => 1, checkouts => $checkouts, @@ -92,12 +99,14 @@ if ( $patron ) { holds_pending => $holds_pending, holds_waiting => $holds_waiting, total_owing => $total, + patron_messages => $patron_messages, + opacnote => $patron_note, ); } } $template->param( - koha_news => @all_koha_news, + koha_news => $koha_news, branchcode => $homebranch, daily_quote => Koha::Quotes->get_daily_quote(), );