%# 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>