%# Never call a man a fool; borrow from him.
	
% my $Callback;
% if (@$Map2) {
%     $Callback = sub { $m->comp('Tabs2', Name => 'Map2', Map => $Map2, URL => "?Type=$Type;Value=" . CGI::Util::escape($Value) ) };
% } else {
%     $Queues->LimitToEnabled
% }
	    | <& Tabs, Text => $Type, Callback => $Callback &> | 
		 
		    | % if ($Type eq 'Overview' or ($Type and $Value)) {
    <& List, List => $Queues, Begin => $Begin, ARGS => \%ARGS &>
% } else {
<&|/l&>Please select one of the category types first.&>
% } |  | 
<%INIT>
my $Map2 = [];
my $QueueObj = RT::Queue->new($session{'CurrentUser'});
$QueueObj->Load('NewProject');
my $CF = $QueueObj->CustomField($Type);
my $CFValues = $CF->Values;
my $Queues = RT::Queues->new($session{'CurrentUser'});
while (my $V = $CFValues->Next) {
    my $Values = RT::TicketCustomFieldValues->new($session{'CurrentUser'});
    $Values->LimitToCustomField( $CF->Id );
    $Values->Limit( FIELD => 'Content', VALUE => $V->Name );
    my $alias = $Values->Join(
	TYPE   => 'left',
	ALIAS1 => 'main',
	FIELD1 => 'Ticket',
	TABLE2 => 'Tickets',
	FIELD2 => 'id'
    );
    $Values->Limit(
	ALIAS	   => $alias,
	FIELD      => 'Status',
	OPERATOR   => '=',
	VALUE      => 'resolved',
    );
    my $alias2 = $Values->Join(
	TYPE   => 'left',
	ALIAS1 => $alias,
	FIELD1 => 'id',
	TABLE2 => 'Queues',
	FIELD2 => 'DefaultDueIn'
    );
    $Values->Limit(
	ALIAS	   => $alias2,
	FIELD      => 'Id',
	OPERATOR   => '>',
	VALUE      => '0',
    );
    $Values->Limit(
	ALIAS	   => $alias2,
	FIELD      => 'Disabled',
	OPERATOR   => '=',
	VALUE      => '0',
    );
    require CGI::Util;
    if ($Values->Count or 1) {
        my $descr = loc($V->Description);
        $descr =~ s/\.\.\.$//;
	push @$Map2, "?Type=$Type;Value=" . CGI::Util::escape($V->Name), $descr . '(' . $Values->Count . ')';
	$Value ||= $V->Name;
    }
    next unless ($Value and $V->Name eq $Value);
    while (my $Value = $Values->Next) {
	my $Queue = RT::Queue->new($RT::SystemUser);
	$Queue->LoadByCols( DefaultDueIn => $Value->Ticket);
	$Queues->Limit( ENTRYAGGREGATOR => 'OR',  FIELD => 'DefaultDueIn', VALUE => $Value->Ticket );
    }
}
%INIT>
<%ARGS>
$Type
$Value	=> undef
$Begin	=> 0
%ARGS>