-my $news_lang;
-if($input->cookie('KohaOpacLanguage')){
- $news_lang = $input->cookie('KohaOpacLanguage');
-}else{
- if ($ENV{HTTP_ACCEPT_LANGUAGE}) {
- while( !$news_lang && ( $ENV{HTTP_ACCEPT_LANGUAGE} =~ m/([a-zA-Z]{2,}-?[a-zA-Z]*)(;|,)?/g ) ){
- if( my @lang = grep { /^$1$/i } @languages ) {
- $news_lang = $lang[0];
- }
- }
- }
- if (not $news_lang) {
- my @languages = split ",", C4::Context->preference("opaclanguages");
- $news_lang = $languages[0];
+# For dashboard
+my $patron = Koha::Patrons->find( $borrowernumber );
+
+if ( $patron ) {
+ my $checkouts = Koha::Checkouts->search({ borrowernumber => $borrowernumber })->count;
+ 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 || $patron_note || $patron_messages->count ) {
+ $template->param(
+ dashboard_info => 1,
+ checkouts => $checkouts,
+ overdues => $overdues_count,
+ holds_pending => $holds_pending,
+ holds_waiting => $holds_waiting,
+ total_owing => $total,
+ patron_messages => $patron_messages,
+ opacnote => $patron_note,
+ );