#!/usr/bin/perl

use strict;
use CGI;
use Digest::SHA qw(
  sha1_base64
);

use Opals::Context;

use SIP::Template qw(
  tmpl_read
  tmpl_write
);
use SIP::Session;
use SIP::Utility;

my $dbh = Opals::Context->dbh();
END { $dbh->disconnect(); }

my $cgi = CGI->new;

# $cgi->param('aaa') returns an array of aaa
my $input = $cgi->Vars();

#my $op = $input->{'op'};
my $util = SIP::Utility->new();

my $template = SIP::Template->new(filename => 'end_patron_session.tmpl',);

my ($end_session, $screen_message) = ('false', '');
my $transaction_datetime = $util->now();

my $session = SIP::Session->new(
  dbh               => $dbh,
  session_id        => $input->{'session_id'},
  patron_identifier => $input->{'patron_identifier'}
);
$session->validate(patron_identifier => 1);

my $screen_message = $session->get('screen_message');

#my $user = $session->get('user');

if ($session->isValid()) {
  $end_session = 'true';
}

my $response = {
  debug             => $session->get('debug'),
  end_session       => $end_session,
  transaction_date  => $util->format_datetime($transaction_datetime, 'SIP'),
  institution_id    => $input->{'institution_id'},
  patron_identifier => $input->{'patron_identifier'},
  screen_message    => $screen_message,
};

$template->param($response);

$template->write(cgi => $cgi);
