1 <& /Admin/Elements/Header, Title => $title &>
2 <& /Admin/Elements/Tabs &>
5 <& /Elements/TitleBoxStart, title => %$title &>
6 <FORM METHOD="POST" ACTION="<%$RT::WebPath%>/Admin/Keywords/Modify.html">
7 <INPUT TYPE="hidden" NAME="id" VALUE="<% $id %>">
8 Keyword <INPUT NAME="Name" VALUE="<% $Keyword->Name %>"><BR>
10 Parent <SELECT NAME="Parent">
11 <OPTION VALUE=""<% defined($Keyword->Parent) ? '' : ' SELECTED' %>>-</OPTION>
12 %while ( $parent = $parents->Next ) {
13 <OPTION VALUE="<% $parent->id %>"<% defined($Keyword->Parent) && $parent->id == $Keyword->Parent ? ' SELECTED' : '' %>><% $parent->Name %></OPTION>
18 New children of this keyword. one per line.
19 <TEXTAREA NAME="Kids" ROWS=4><% $kidstring %></TEXTAREA>
22 <& /Elements/Submit, Label => $submit &>
24 <& /Elements/TitleBoxEnd &>
28 my $Keyword = new RT::Keyword($session{CurrentUser});
29 my ($title, $submit, %kids, $kid);
32 $title = "Create a new Keyword";
36 $Parent = ''; #silence
40 $id = $Keyword->Create( Name => $Name, Parent => $Parent )
41 or Abort("can't create keyword Name=>$Name, Parent=>$Parent");
43 $Keyword->Load($id) || Abort("Can't load keyword id $id");
45 #foreach my $field ( grep eval "defined(\$$_)", qw( Name Parent )) {
46 # eval "\$Keyword->Set(\$field=>\$$field); #sigh
49 $Keyword->SetName($Name) if defined($Name);
50 $Keyword->SetParent($Parent) if defined($Parent);
53 $title = "Modify the Keyword <B>". $Keyword->Name. "</B>";
58 my $kids = $Keyword->Children(new RT::Keywords($session{CurrentUser}));
60 $kids{$kid->Name} = $kid while $kid = $kids->Next;
62 if ( defined($Kids) ) {
65 %newkids = map { $_=>1 } split(/\r/, $Kids);
68 foreach ( grep { ! defined($newkids{$_}) } keys %kids ) {
72 foreach ( grep { ! defined($kids{$_}) } keys %newkids ) {
73 $kids{$_} = new RT::Keyword($session{CurrentUser});
74 $kids{$_}->Create( Name => $_, Parent => $id )
75 or Abort("can't create keyword Name=>$_, Parent=>$id");
82 my $parents = new RT::Keywords($session{CurrentUser});
85 my $kidstring = join("\r", keys %kids);