%# Tact, n.:
%# 	The unsaid part of what you're thinking.
<& /Edit/Elements/104Header, %ARGS,
    Buttons => [
	Add => "index.html?Action-Add=1&Show=$Show",
	Save => ($Group ? "javascript:document.getElementById('mainform').submit()" : ''),
	Delete => 1,
	Copy => '',
	Search => '',
    ],
    Method => 'POST',
    Action => undef
&>
   
    | <& $Tab, Text => 'Groups' &> | 
   
    | 
         
          | <& /Edit/Elements/Tabs, Name => 'Map2', Map => $ARGS{Map2}, URL => ($ARGS{URL} || '/Edit/Groups/') &> 
               
                | <& Top, Item => $Item &>
		    <& List, Delete => sub { !$_[0]->Description }, List => $List, Begin => $Begin, Item => $Item, ARGS => \%ARGS &> |  | 
                    
			| <& $Show, Map => $ARGS{Map}, List => $List, Item => $Item, %ARGS, Show => $Show &> |  |  |  | 
<%INIT>
if ($Action eq 'Add') {
    my $GroupObj = RT::Group->new($session{'CurrentUser'});
    $GroupObj->CreateUserDefinedGroup(Name => "(new)");
    $GroupObj->UpdateCompany if $GroupObj->can('UpdateCompany');
    $Group = $GroupObj->Id;
}
my $Item = $RT::Nothing;
if ($Group) {
    $Item = RT::Group->new($session{'CurrentUser'});
    $Item->Load( $Group );
}
if ($Action eq 'Save') {
    $Item->SetName($Name) if length($Name);
    $Item->SetDisabled($Disabled) if length($Disabled);
}
elsif ($Action eq 'Delete') {
    foreach my $Id (@ListDelete) {
	my $item = RT::Group->new($session{'CurrentUser'});
	$item->Load($Id);
	$item->Delete;
    }
    $Item = $RT::Nothing;
    $Group = $Begin = 0;
}
$Show ||= 'Member';
$Show = 'Member' unless $Item and !$Item->Description;
my $List = RT::Groups->HRMSUserDefinedGroups( $session{'CurrentUser'} );
%INIT>
<%ARGS>
$Group => 0
$Begin => 0
$Show => 'Member'
$Action => ''
$Name => ''
$Disabled => ''
@ListDelete => ()
$Tab => '/Edit/Elements/Tab'
%ARGS>