& /Elements/Header, Title => 'Admin/Keywords' &>
<& /Admin/Elements/Tabs, current_tab => 'Admin/Keywords/' &>
<& /Elements/ListActions, actions => \@Actions &>
<& /Elements/TitleBoxStart, title => 'Keywords' &>
<%$Root->Path%>
<& /Elements/TitleBoxEnd &>
<%INIT>
my (@Actions);
if ($ARGS{'KeyName-New'}) {
my $NewKey = new RT::Keyword($session{'CurrentUser'});
my ($val, $msg) = $NewKey->Create( Parent => $RootId, Name => $ARGS{'KeyName-New'});
push (@Actions, $msg);
}
my $arg;
foreach $arg (keys %ARGS) {
if ($arg =~ /^Disable-(\d*)$/) {
my $id = $1;
my $keyword = new RT::Keyword($session{'CurrentUser'});
$keyword->Load($id);
my ($val, $msg) = $keyword->SetDisabled(1);
push (@Actions, $msg);
}
elsif ($arg =~ /^Enable-(\d*)$/) {
my $id = $1;
my $keyword = new RT::Keyword($session{'CurrentUser'});
$keyword->Load($id);
my ($val, $msg) = $keyword->SetDisabled(0);
push (@Actions, $msg);
}
elsif ($arg =~ /^KeyName-(\d*)$/) {
my $id = $1;
my $keyword = new RT::Keyword ($session{'CurrentUser'});
$keyword->Load($id);
if ($keyword->Name() ne $ARGS{"$arg"}) {
my ($val, $msg) = $keyword->SetName($ARGS{"$arg"});
push (@Actions, $msg);
}
if (($ARGS{"KeyParent-$id"}) &&
($keyword->Parent ne $ARGS{"KeyParent-$id"})) {
my ($val, $msg) = $keyword->SetParent($ARGS{"KeyParent-$id"});
push (@Actions, $msg);
}
}
}
my $Root = new RT::Keyword($session{'CurrentUser'});
my $Keywords;
#If we have a root load it.
if ($RootId != 0) {
$Root->Load($RootId);
$Keywords = $Root->Children();
}
else {
$Keywords = new RT::Keywords($session{'CurrentUser'});
$Keywords->LimitToParent(0);
}
if ($ShowDisabled) {
$Keywords->{'find_disabled_rows'} = 1;
}
%INIT>
<%ARGS>
$RootId => 0
$Edit => undef
$ShowDisabled => 0
%ARGS>