#!/usr/bin/perl

#use utf8;
use strict;
use CGI;
use Digest::SHA qw(
    sha1_base64
    sha1_hex
);

use Opals::Context;
use Opals::Template qw(
    tmpl_read
    tmpl_write
);

use Opals::Date qw(
    date_f005
);
use Opals::Utility qw(
    util_escapeXml
);
use Opals::Search qw(
    srch_barcodeDuplicated
    srch_F852Default_marcxml
);
use Opals::MarcXml qw(
    mxml_update
);
use Opals::User qw(
    user_isUserBc
    user_addQuick
);

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

my $cgi      = CGI->new;
my $input    = $cgi->Vars();
my $op       = $input->{"op"};


my ($status,$errorCode,$errorMsg)    ;
my ($permission, $cookie, $template) = tmpl_read(
    {
        dbh             => $dbh,
        cgi             => $cgi,
        tmplFile        => 'ajaxForm/ajaxUserQE.tmpl',
        reqPermission   => 'user_add',
    }
);
    my $lastname      = $input->{'lastname'};
    my $firstname     = $input->{'firstname'};
    my $userbarcode   = $input->{'userbarcode'};
    my $homeroom      = $input->{'homeroom'};
    my $categorycode  = $input->{'usertype'};
    my $permission    = $input->{'permission'};
    my $status        = $input->{'status'};
    my $gender        = $input->{'gender'};

    my $uid = user_isUserBc($dbh,$userbarcode);
    if($uid){
        $template->param(status       => 'fail',
                         errorCode    => 1,
                         errorMsg     => 'ERROR:Duplicate user barcode. Please reenter.'
                        );

    }
    else{
        if (user_addQuick($dbh, $lastname, $firstname
                              , $userbarcode ,$categorycode
                              , $permission,$status,$gender,$homeroom)) {
            $template->param(status => 'OK');
        }
        else {
            $template->param(status       => 'fail',
                             errorCode    => 2,
                             errorMsg     => 'User cannot be saved. Please try again later.'
                            );
        }
        if ($status) {
            $template->param( active => 1 );
        }
        else {
            $template->param( inactive => 1 );
        } 
    }


 
tmpl_write($dbh, $cgi, $cookie, $template);
#------------------------------------------------------------------------------
