#!/usr/bin/perl
use strict;
use Opals::Context;
use Time::localtime;
use Opals::Template qw(
    tmpl_read
    tmpl_write
    tmpl_preference
);

use Opals::Date qw(
    date_text
);

use Opals::User qw(
    user_getInformationById

);
use Opals::Transactions qw(
    trans_getReceiptDetail
    trans_getPriorBalance
);

my $dbh = Opals::Context->dbh();
END { $dbh->disconnect(); }
my $cgi    = CGI->new;
my $input  = $cgi->Vars();


 
my $pref = tmpl_preference($dbh);
my $libname  =  $pref->{'libname'};
   $libname =~ s/<br>/ /g;
my ($permission, $cookie, $template) = tmpl_read(
        {
            dbh             => $dbh,
            cgi             => $cgi,
            tmplFile        => 'circ/receipt.tmpl',
            reqPermission   => 'fine|payment',
        }
);

    my $tm = localtime;
    my $dateToday = sprintf("%04d-%02d-%02d", 
                            $tm->year+1900, 
                            ($tm->mon)+1, 
                            $tm->mday);

# See User.pm for the list of permissions
if ($permission && $permission->{'fine'}) {
    my $tid = $input->{'tid'};
    if ($tid >= 0){
                        
  
       my $receipt = trans_getReceiptDetail($dbh,$tid);
       my $idx=0;
         $template->param(
            receiptpayment =>($receipt->{'code'} == 4)?1:0,
            receiptRefund  =>($receipt->{'code'} == 8)?1:0,
            priorPayment   => $receipt->{'priorPayment'},
            totalAmount    => $receipt->{'totalAmount'},
            totalCharge    => $receipt->{'totalCharge'},
            balance        => $receipt->{'balance'},
            receiptDate    => $receipt->{'date'},
            dateToday      => date_text($dateToday,1),
        );
        my $priorBalance = 0.00; 
        if($receipt->{'code'} == 8){
            $priorBalance = trans_getPriorBalance($dbh,$receipt->{'uid'});
            $priorBalance = sprintf("%.2f",$priorBalance);

            $template->param(priorBalance      => $priorBalance);
        }

        $template->param(hasTotalCharge      => 1) if($receipt->{'totalCharge'} >0); 
        $template->param(transList           => $receipt->{'transList'}) if(defined $receipt->{'transList'});

        my ($userInfo, $guardian) = user_getInformationById($dbh, $receipt->{'uid'});
        $template->param(
            user_uid            => $userInfo->{'uid'},
            user_barcode        => $userInfo->{'userbarcode'},
            user_username       => $userInfo->{'username'},
            user_firstname      => $userInfo->{'firstname'},
            user_lastname       => $userInfo->{'lastname'},
            homeroom            => $userInfo->{'homeroom'},
            teacher             => $userInfo->{'teacher'},
            notes               => $userInfo->{'notes'},
            libname             => $libname,

        );

     }#//if ($uid >= 0)
}
    tmpl_write($dbh, $cgi, $cookie, $template); 

