import rt 2.0.14
[freeside.git] / rt / webrt / Admin / Keywords / index.html
diff --git a/rt/webrt/Admin/Keywords/index.html b/rt/webrt/Admin/Keywords/index.html
new file mode 100644 (file)
index 0000000..12814ec
--- /dev/null
@@ -0,0 +1,110 @@
+<& /Elements/Header, Title => 'Admin/Keywords' &>
+<& /Admin/Elements/Tabs, current_tab => 'Admin/Keywords/' &>
+
+<& /Elements/ListActions, actions => \@Actions &>
+
+<& /Elements/TitleBoxStart, title => 'Keywords' &>
+<a href="<%$RT::WebPath%>/Admin/Keywords/?RootId=<%$Root->Parent%>"><%$Root->Path%></a>
+<UL>
+<FORM METHOD=POST ACTION="index.html">
+<input type=hidden name=RootId value="<%$RootId%>">
+
+
+% while (my $key = $Keywords->Next) {
+    <LI>
+% if ($Edit == $key->id) {
+      <input name="KeyName-<%$key->id%>" value="<%$key->Name%>">
+         <input type=submit value="Update">
+           <input type=submit name="Disable-<%$key->id%>" value="Disable">
+% } else {
+             <A HREF="?RootId=<%$key->id%>"><%$key->Name%></A>
+% if ($key->Disabled) {
+       <input type=submit name="Enable-<%$key->id%>" value="Enable">
+% } else {
+      [<a href="?Edit=<%$key->id%>&RootId=<%$Root->Id%>">edit</a>]
+% }
+% }
+
+
+         </LI>
+% }
+         <LI>
+           <input name="KeyName-New"> <input type=submit value="Add">
+</UL>
+<BR>
+         <input type="checkbox" name="ShowDisabled"> Include disabled items in listing.
+       <input type=submit value="Go!">
+
+</FORM>
+
+<& /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>