import rt 2.0.14
[freeside.git] / rt / webrt / Admin / Queues / Keywords.html
1 <& /Admin/Elements/Header, Title => 'Edit keywords' &>
2 <& /Admin/Elements/QueueTabs, id => $QueueObj->Id &>
3
4 <& /Elements/ListActions, actions => \@actions &>
5
6 <& /Elements/TitleBoxStart, title => $description &>
7
8 <h2>Global Keyword Selections</h2>
9 <& /Admin/Elements/ListGlobalKeywordSelects &>
10 <BR>
11   
12   <FORM METHOD=POST ACTION="Keywords.html">
13     <INPUT TYPE=HIDDEN NAME=id VALUE="<%$id%>">
14
15 % if ($KeywordSelects->Count > 0 ) {
16
17
18 <h2>Queue Keyword Selections</h2>
19 <TABLE>
20 <TR><TD>Delete</TD></TR>
21 %  while (my $keywordselect = $KeywordSelects->Next ) {
22 <TR>
23   <TD><INPUT TYPE="CHECKBOX" NAME="KeywordSelect-<%$keywordselect->Id%>-Delete"></TD>
24   <TD><& /Admin/Elements/SelectKeywordSelect, KeywordSelect => $keywordselect &></TD>
25 </TR>
26 %  }
27 </TABLE>
28 % }
29
30 Add a keyword selection to this queue:
31 %my $ks = new RT::KeywordSelect($session{'CurrentUser'});
32 <ul>
33 <li><& /Admin/Elements/SelectKeywordSelect, KeywordSelect => $ks, NamePrefix => 'new' &></li>
34 </ul>
35
36 <& /Elements/TitleBoxEnd &>
37 <& /Elements/Submit &>
38
39 </FORM>
40 <%init>
41 my (@actions);
42
43
44
45 my $KeywordSelects = new RT::KeywordSelects ($session{'CurrentUser'});
46 unless ($id =~ /^\d+$/) {
47     Abort("$id isn't a valid Queue id.");
48 }
49
50 unless ($KeywordSelects->LimitToQueue($id)) {
51     Abort("Couldn't load KeywordSelects.");
52 }
53
54 my $QueueObj = new RT::Queue($session{'CurrentUser'});
55 $QueueObj->Load($id);
56
57 my $description = "Modify Keyword selections for queue '". $QueueObj->Name ."'";
58
59
60
61 # {{{ if we're trying to create a new keyword select
62
63 if ($ARGS{'KeywordSelect-new-Name'}) {
64     my $NewKeywordSelect = new RT::KeywordSelect($session{'CurrentUser'});
65     
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'}
73                                            );
74         push (@actions, $msg);
75 }
76 # }}}
77 # {{{ if we're trying to delete the keywordselect
78 foreach my $key (keys %ARGS) {
79     if ($key =~ /^KeywordSelect-(\d+)-Delete$/) {
80         my $id = $1;
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);
84         if ($val) {
85             push @actions, 'KeywordSelect disabled.';
86         }       
87         else {
88             push @actions, $msg;
89         }       
90     }
91 }
92 # }}}
93 # {{{ if we're modifying keyword selects
94 my @fields = qw(Name Keyword Single Depth);
95
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())) {
100             
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;
104         }       
105     }
106 }
107 # }}}
108
109 </%init>
110
111 <%ARGS>
112 $id => undef         #some identifier that a Queue could 
113
114 </%ARGS>