import rt 2.0.14
[freeside.git] / rt / webrt / Admin / Global / Keywords.html
diff --git a/rt/webrt/Admin/Global/Keywords.html b/rt/webrt/Admin/Global/Keywords.html
new file mode 100644 (file)
index 0000000..bf7bbd2
--- /dev/null
@@ -0,0 +1,97 @@
+<& /Admin/Elements/Header, Title => 'Edit keywords' &>
+<& /Admin/Elements/SystemTabs &>
+<& /Elements/ListActions, actions => \@actions &>
+
+<& /Elements/TitleBoxStart, title => $description &>
+  
+  <FORM METHOD=POST ACTION="Keywords.html">
+
+% if ($KeywordSelects->Count > 0 ) {
+<TABLE>
+<TR><TD>Delete</TD></TR>
+%  while (my $keywordselect = $KeywordSelects->Next ) {
+<TR>
+  <TD><INPUT TYPE="CHECKBOX" NAME="KeywordSelect-<%$keywordselect->Id%>-Delete"></TD>
+  <TD><& /Admin/Elements/SelectKeywordSelect, KeywordSelect => $keywordselect &></TD>
+</TR>
+%  }
+</TABLE>
+% }
+
+Add a global keyword selection:
+%my $ks = new RT::KeywordSelect($session{'CurrentUser'});
+<ul>
+<li><& /Admin/Elements/SelectKeywordSelect, KeywordSelect => $ks, NamePrefix => 'new' &></li>
+</ul>
+
+<& /Elements/TitleBoxEnd &>
+<& /Elements/Submit &>
+</FORM>
+
+
+
+<%init>
+my (@actions);
+
+my $description = "Modify global Keyword selections";
+
+my $KeywordSelects = new RT::KeywordSelects ($session{'CurrentUser'});
+
+unless ($KeywordSelects->LimitToGlobals()) {
+    Abort("Couldn't load KeywordSelects.");
+}
+
+
+# {{{ if we're trying to create a new keyword select
+
+if ($ARGS{'KeywordSelect-new-Name'}) {
+    my $NewKeywordSelect = new RT::KeywordSelect($session{'CurrentUser'});
+    
+    my ($retval, $msg) = $NewKeywordSelect->Create ( Keyword => $ARGS{'KeywordSelect-new-Keyword'},
+                                            ObjectField => 'Queue',
+                                            ObjectType => 'Ticket',
+                                            ObjectValue => 0,
+                                            Name => $ARGS{'KeywordSelect-new-Name'},
+                                            Single => $ARGS{'KeywordSelect-new-Single'},
+                                            Depth => $ARGS{'KeywordSelect-new-Depth'}
+                                          );
+       push (@actions, $msg);
+}
+# }}}
+
+# {{{ if we're trying to delete the keywordselect
+foreach my $key (keys %ARGS) {
+    if ($key =~ /^KeywordSelect-(\d+)-Delete$/) {
+       my $id = $1;
+       my $keywordselect = new RT::KeywordSelect($session{'CurrentUser'});
+       $keywordselect->Load($id) || push @actions, "Couldn't load keywordSelect";
+       my ($val, $msg) = $keywordselect->SetDisabled(1);
+       if ($val) {
+           push @actions, 'KeywordSelect disabled.';
+       }       
+       else {
+           push @actions, $msg;
+       }       
+    }
+}
+# }}}
+# {{{ if we're modifying keyword selects
+my @fields = qw(Name Keyword Single Depth);
+
+while (my $ks = $KeywordSelects->Next) {
+    foreach my $field (@fields) {
+       if (defined ($ARGS{"KeywordSelect-".$ks->Id."-".$field}) &&
+           ($ARGS{"KeywordSelect-".$ks->Id."-".$field} ne $ks->$field())) {
+           
+           my $method = "Set$field";
+           my ($val, $msg) = $ks->$method($ARGS{"KeywordSelect-".$ks->Id."-".$field});
+           push @actions, "Keyword Select ". $ks->Name."/$field:".$msg;
+       }       
+    }
+}
+# }}}
+
+</%init>
+
+<%ARGS>
+</%ARGS>