#!/usr/bin/perl

#use utf8;
use strict;
use CGI;

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

use Opals::User qw(
    user_searchByName
    user_searchByTeacher
    user_searchByBuilding
    user_searchByGrade
    user_searchByHomeroom
    
);

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

my $cgi      = CGI->new;
my $input    = $cgi->Vars();



my ($permission, $cookie, $template) = tmpl_read(
    {
        dbh             => $dbh,
        cgi             => $cgi,
        tmplFile        => 'ajax/user/getUserList.tmpl',
    }
);


    my $grp         = $input->{'group'};
    my $term        = $input->{'term'};
    my $pNum        = $input->{'pNum'};
    my $pSize       = $input->{'pSize'};
    my $sortVal     = $input->{'sortVal'};
    my $sortOrder   = $input->{'sortOrder'};
    my $status      = $input->{'status'};
    
    my $offset=0;
    if(!defined $pSize || $pSize !~ m/^(\d)+$/g){
        $pSize=20;
    }
    if(!defined $pNum || $pNum !~ m/^(\d)+$/g){
        $pNum=1;
    }
    if(!defined $status || $status !~ m/^0$|^1$/g){
        $status=1;
    }
    $offset= ($pNum -1)*$pSize;
    my $numOfUserFound=0;
    my $userList;
    if($grp eq 'name'){
       ($numOfUserFound,$userList)= user_searchByName($dbh,$term,$status,$offset,$pSize,$sortVal,$sortOrder);
    }

    elsif($grp eq 'teacher'){
       ($numOfUserFound,$userList)= user_searchByTeacher($dbh,$term,$status,$offset,$pSize,$sortVal,$sortOrder);
    }
    elsif($grp eq 'building'){
       ($numOfUserFound,$userList)= user_searchByBuilding($dbh,$term,$status,$offset,$pSize,$sortVal,$sortOrder);
    }
    elsif($grp eq 'grade'){
       ($numOfUserFound,$userList)= user_searchByGrade($dbh,$term,$status,$offset,$pSize,$sortVal,$sortOrder);
    }
    elsif($grp eq 'homeroom'){
       ($numOfUserFound,$userList)= user_searchByHomeroom($dbh,$term,$status,$offset,$pSize,$sortVal,$sortOrder);
    }
    $template->param( numOfUserFound =>$numOfUserFound);

    if($numOfUserFound>0) {
        $template->param(userList  =>$userList );
    }





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