This commit was generated by cvs2svn to compensate for changes in r2523,
[freeside.git] / rt / webrt / Admin / Keywords / index.html
1 <& /Elements/Header, Title => 'Admin/Keywords' &>
2 <& /Admin/Elements/Tabs, current_tab => 'Admin/Keywords/' &>
3
4 <& /Elements/ListActions, actions => \@Actions &>
5
6 <& /Elements/TitleBoxStart, title => 'Keywords' &>
7 <a href="<%$RT::WebPath%>/Admin/Keywords/?RootId=<%$Root->Parent%>"><%$Root->Path%></a>
8 <UL>
9 <FORM METHOD=POST ACTION="index.html">
10 <input type=hidden name=RootId value="<%$RootId%>">
11
12
13 % while (my $key = $Keywords->Next) {
14     <LI>
15 % if ($Edit == $key->id) {
16       <input name="KeyName-<%$key->id%>" value="<%$key->Name%>">
17           <input type=submit value="Update">
18             <input type=submit name="Disable-<%$key->id%>" value="Disable">
19 % } else {
20               <A HREF="?RootId=<%$key->id%>"><%$key->Name%></A>
21 % if ($key->Disabled) {
22         <input type=submit name="Enable-<%$key->id%>" value="Enable">
23 % } else {
24       [<a href="?Edit=<%$key->id%>&RootId=<%$Root->Id%>">edit</a>]
25 % }
26 % }
27
28
29           </LI>
30 % }
31           <LI>
32             <input name="KeyName-New"> <input type=submit value="Add">
33 </UL>
34 <BR>
35           <input type="checkbox" name="ShowDisabled"> Include disabled items in listing.
36         <input type=submit value="Go!">
37
38 </FORM>
39
40 <& /Elements/TitleBoxEnd &>
41 <%INIT>
42 my (@Actions);
43   
44 if ($ARGS{'KeyName-New'}) {
45     my $NewKey = new RT::Keyword($session{'CurrentUser'});
46     my ($val, $msg) = $NewKey->Create( Parent => $RootId, Name => $ARGS{'KeyName-New'});
47     push (@Actions, $msg);
48 }
49
50 my $arg;
51 foreach $arg (keys %ARGS) {
52     if ($arg =~ /^Disable-(\d*)$/) {
53         my $id = $1;
54         my $keyword = new RT::Keyword($session{'CurrentUser'});
55         $keyword->Load($id);
56         my ($val, $msg) = $keyword->SetDisabled(1);
57         push (@Actions, $msg);
58
59
60     }   
61     elsif ($arg =~ /^Enable-(\d*)$/) {
62         my $id = $1;
63         my $keyword = new RT::Keyword($session{'CurrentUser'});
64         $keyword->Load($id);
65         my ($val, $msg) = $keyword->SetDisabled(0);
66         push (@Actions, $msg);
67     }
68     elsif ($arg =~ /^KeyName-(\d*)$/) {
69         my $id = $1;
70         my $keyword = new RT::Keyword ($session{'CurrentUser'});
71         $keyword->Load($id);
72         if ($keyword->Name() ne $ARGS{"$arg"}) {
73             my ($val, $msg) = $keyword->SetName($ARGS{"$arg"});
74             push (@Actions, $msg);
75         }       
76         if (($ARGS{"KeyParent-$id"}) && 
77             ($keyword->Parent ne $ARGS{"KeyParent-$id"})) {
78             my ($val, $msg) = $keyword->SetParent($ARGS{"KeyParent-$id"});
79             push (@Actions, $msg);
80         }       
81     }   
82 }
83
84
85 my $Root = new RT::Keyword($session{'CurrentUser'});
86 my $Keywords;
87 #If we have a root load it.
88 if ($RootId != 0) {
89     $Root->Load($RootId);
90     $Keywords = $Root->Children();
91     
92 }
93 else {
94     $Keywords = new RT::Keywords($session{'CurrentUser'});
95     $Keywords->LimitToParent(0);
96 }
97
98 if ($ShowDisabled) {
99     $Keywords->{'find_disabled_rows'} = 1;
100 }
101
102
103
104
105 </%INIT>
106 <%ARGS>
107 $RootId => 0
108 $Edit => undef
109 $ShowDisabled => 0
110 </%ARGS>