1 <& /Admin/Elements/Header, Title => 'Edit keywords' &>
2 <& /Admin/Elements/QueueTabs, id => $QueueObj->Id &>
4 <& /Elements/ListActions, actions => \@actions &>
6 <& /Elements/TitleBoxStart, title => $description &>
8 <h2>Global Keyword Selections</h2>
9 <& /Admin/Elements/ListGlobalKeywordSelects &>
12 <FORM METHOD=POST ACTION="Keywords.html">
13 <INPUT TYPE=HIDDEN NAME=id VALUE="<%$id%>">
15 % if ($KeywordSelects->Count > 0 ) {
18 <h2>Queue Keyword Selections</h2>
20 <TR><TD>Delete</TD></TR>
21 % while (my $keywordselect = $KeywordSelects->Next ) {
23 <TD><INPUT TYPE="CHECKBOX" NAME="KeywordSelect-<%$keywordselect->Id%>-Delete"></TD>
24 <TD><& /Admin/Elements/SelectKeywordSelect, KeywordSelect => $keywordselect &></TD>
30 Add a keyword selection to this queue:
31 %my $ks = new RT::KeywordSelect($session{'CurrentUser'});
33 <li><& /Admin/Elements/SelectKeywordSelect, KeywordSelect => $ks, NamePrefix => 'new' &></li>
36 <& /Elements/TitleBoxEnd &>
37 <& /Elements/Submit &>
45 my $KeywordSelects = new RT::KeywordSelects ($session{'CurrentUser'});
46 unless ($id =~ /^\d+$/) {
47 Abort("$id isn't a valid Queue id.");
50 unless ($KeywordSelects->LimitToQueue($id)) {
51 Abort("Couldn't load KeywordSelects.");
54 my $QueueObj = new RT::Queue($session{'CurrentUser'});
57 my $description = "Modify Keyword selections for queue '". $QueueObj->Name ."'";
61 # {{{ if we're trying to create a new keyword select
63 if ($ARGS{'KeywordSelect-new-Name'}) {
64 my $NewKeywordSelect = new RT::KeywordSelect($session{'CurrentUser'});
66 my ($retval, $msg) = $NewKeywordSelect->Create ( Keyword => $ARGS{'KeywordSelect-new-Keyword'},
67 ObjectField => 'Queue',
68 ObjectType => 'Ticket',
69 ObjectValue => $QueueObj->Id,
70 Name => $ARGS{'KeywordSelect-new-Name'},
71 Single => $ARGS{'KeywordSelect-new-Single'},
72 Depth => $ARGS{'KeywordSelect-new-Depth'}
74 push (@actions, $msg);
77 # {{{ if we're trying to delete the keywordselect
78 foreach my $key (keys %ARGS) {
79 if ($key =~ /^KeywordSelect-(\d+)-Delete$/) {
81 my $keywordselect = new RT::KeywordSelect($session{'CurrentUser'});
82 $keywordselect->Load($id) || push @actions, "Couldn't load keywordSelect";
83 my ($val, $msg) = $keywordselect->SetDisabled(1);
85 push @actions, 'KeywordSelect disabled.';
93 # {{{ if we're modifying keyword selects
94 my @fields = qw(Name Keyword Single Depth);
96 while (my $ks = $KeywordSelects->Next) {
97 foreach my $field (@fields) {
98 if (defined ($ARGS{"KeywordSelect-".$ks->Id."-".$field}) &&
99 ($ARGS{"KeywordSelect-".$ks->Id."-".$field} ne $ks->$field())) {
101 my $method = "Set$field";
102 my ($val, $msg) = $ks->$method($ARGS{"KeywordSelect-".$ks->Id."-".$field});
103 push @actions, "Keyword Select ". $ks->Name."/$field:".$msg;
112 $id => undef #some identifier that a Queue could