Bug 17600: Standardize our EXPORT_OK
[srvgit] / opac / opac-main.pl
index b5a5b28..5b98333 100755 (executable)
 
 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(),
 );