#!/usr/bin/perl

use strict;
use CGI;

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

use Opals::Equipment qw(

    eq_defRecord_getList
    eq_defRecord_getLists
    eq_defItem_getList
    eq_defItem_getLists
    eq_def_addUpdate
    eq_def_delete
    
    eq_record_deleteByFid
    eq_item_deleteByFid
    eq_dataType_getList
);

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

my $cgi = CGI->new;
my $input = $cgi->Vars();
my ($permission, $cookieList, $template) = tmpl_read(
    {
        dbh             => $dbh,
        cgi             => $cgi,
        tmplFile        => 'eqmnt/eqDef.tmpl',
        reqPermission   => 'eq_record_edit',
    }
);

my @rList = ($cgi->param('recDef'));
my @iList = ($cgi->param('itemDef'));
my ($defType, $fId, $d );

my $save = $input->{'save'};

if ($save eq "save") {
    my @rDefList = ($cgi->param('rdef'));
    foreach my $rDef (@rDefList) {
        $defType = 'record';
        $fId = 0;
        $d = 0;
        my @arr = split(/\t/,$rDef);
        if (@arr){
            $fId = $arr[0];
            $d = $arr[1];
            $d = ($d eq "true")?1:0;
            my $params = {fId=>$fId,defType=>$defType,display=>$d};
            eq_def_addUpdate($dbh,$params);
        }
    }
    my @iDefList = ($cgi->param('idef'));
    foreach my $iDef (@iDefList) {
        $defType = 'item';
        $fId = 0;
        $d = 0;
        my @arr = split(/\t/,$iDef);
        if (@arr){
            $fId = $arr[0];
            $d = $arr[1];
            $d = ($d eq "true")?1:0;
            my $params = {fId=>$fId,defType=>$defType,display=>$d};
            eq_def_addUpdate($dbh,$params);
        }
    }
}

my $defRecordLists   = eq_defRecord_getLists($dbh);
my $defItemLists    = eq_defItem_getLists($dbh);
my $dataTypeList    = eq_dataType_getList($dbh);
$template->param(
        defRecList  => $defRecordLists,
        defItmList  => $defItemLists,
        dataTypeList    => $dataTypeList,
        equipment_eqDef => 1,
);

tmpl_write($dbh, $cgi, $cookieList, $template);

