import rt 2.0.14
[freeside.git] / rt / webrt / Admin / KeywordSelects / index.html
diff --git a/rt/webrt/Admin/KeywordSelects/index.html b/rt/webrt/Admin/KeywordSelects/index.html
new file mode 100644 (file)
index 0000000..ba3da9f
--- /dev/null
@@ -0,0 +1,137 @@
+<& /Admin/Elements/Header, Title => 'Admin KeywordSelects' &>
+<& /Admin/Elements/Tabs, current_tab => 'Admin/KeywordSelects/' &>
+
+A <B>KeywordSelect</B> is a link between a <B>Keyword</B> and a object
+(currently just <B>Tickets</B>), titled by the <I>Name</I> field of the Keyword such that:
+<ul>
+<li>Object display will contain a field, titled with the <I>Name</I> field of
+the <B>Keyword</B> and showing any descendent keywords.
+<li>Object creation for this field will contain a field, titled with the
+<I>Name</I> field of the <B>Keyword</B> and containing the descendents of
+the <B>Keyword</B> as choices.
+<li>Searches for this object type will contain a selection field titled with
+the <I>Name</I> field of the <B>Keyword</B> and containing the descendents
+of the <B>Keyword</B> as choices.
+<TABLE WIDTH=100%>
+
+
+
+  <TD VALIGN=TOP>
+    <h2>Create KeywordSelect</h2>
+  <FORM NAME="ModifyKeywordSelect" METHOD="POST" ACTION="<%$RT::WebPath%>/Admin/KeywordSelects/Modify.html">
+    [<%$title |n %>]
+    <BR>
+      
+      <INPUT TYPE="hidden" NAME="id" VALUE="<% $id %>">
+       Keyword 
+       <SELECT NAME="Parent">
+         
+%while ( $parent = $parents->Next ) {
+         
+         <OPTION VALUE="<% $parent->id %>" <% defined($KeywordSelect->Parent) && $parent->id == $KeywordSelect->Parent ? ' SELECTED' : '' %>><% $parent->Name %></OPTION>
+         
+% }
+         
+       </SELECT>
+       <BR>
+         Object 
+         <SELECT NAME="ObjectType">
+           <OPTION SELECTED>Ticket</OPTION>
+         </SELECT>
+         <BR>
+           
+%foreach $queue ( keys %queues ) {
+    addOption("<% $queues{$queue} %>", "<% $queue %>", false, <% $queue == $KeywordSelect->ObjectValue ? 'true' : 'false' %> )
+%}
+  }
+}
+</SCRIPT>
+           
+           Limit to <SELECT NAME="ObjectField" onChange="ChangeObjectValue(this)">
+             <OPTION VALUE="" <% $KeywordSelect->ObjectField ? '' : ' SELECTED' %>>(none)</OPTION>
+             <OPTION VALUE="Queue" <% $KeywordSelect->ObjectField eq 'Queue' ? ' SELECTED' : '' %>>Queue</OPTION>
+           </SELECT> 
+           <SELECT NAME="ObjectValue">
+             <OPTION VALUE="<% $KeywordSelect->ObjectValue %>">
+               <% $KeywordSelect->ObjectField ? $queues{$KeywordSelect->ObjectValue} : "(n/a)" %></OPTION>
+           </SELECT><BR>
+             <INPUT TYPE="hidden" NAME="SingleMagic" VALUE="1">
+               <INPUT TYPE="checkbox" NAME="Single" VALUE="1" <% $KeywordSelect->Single ? ' CHECKED' : '' %>>Allow single selection only<BR>
+                   Limit to <INPUT TYPE="text" NAME="Generations" SIZE="2" VALUE="<% $KeywordSelect->Generations %>"> generations (0 = no limit)<BR>
+                       <& /Elements/Submit, Label => $submit &>
+
+</FORM>
+
+<%INIT>
+
+
+my $KeywordSelect = new RT::KeywordSelect($session{CurrentUser});
+  
+my($title, $submit);
+  
+if ( $Create ) {
+      $title = "Create a new KeywordSelect";
+      $submit = "Create";
+      $id = "new";
+} else {
+    if  ( $id eq 'new' ) {
+       $id = $KeywordSelect->Create (
+                                     Parent      => $Parent,
+                                     ObjectType  => $ObjectType,
+                                     ObjectField => $ObjectField,
+                                     ObjectValue => $ObjectValue,
+                                     Single      => $Single,
+                                     Generations => $Generations,
+                                    ) or Abort "can't create KeywordSelect";
+    } else {
+       $KeywordSelect->Load($id) || Abort("Can't load keyword id $id");
+       #false laziness
+       $KeywordSelect->SetParent($Parent) if defined($Parent);
+       $KeywordSelect->SetObjectType($ObjectType) if defined($ObjectType);
+       $KeywordSelect->SetObjectField($ObjectField) if defined($ObjectField);
+       $KeywordSelect->SetObjectValue($ObjectValue) if defined($ObjectValue);
+       $KeywordSelect->SetSingle($Single) if defined($SingleMagic);
+       $KeywordSelect->SetGenerations($Generations) if defined($Generations);
+    }
+    $title = "Modify the KeywordSelect <B>". $KeywordSelect->KeywordObj->Name. "</B>";
+    $submit = "Modify";
+    
+}
+  
+  my $parents = new RT::Keywords($session{CurrentUser});
+  $parents->UnLimit;
+  my $parent;
+
+my $queues = new RT::Queues($session{CurrentUser});
+$queues->UnLimit;
+
+my %queues;
+my $queue;
+$queues{$queue->id} = $queue->Name while $queue = $queues->Next;
+
+</%INIT>
+
+<%ARGS>
+$id => undef
+$Create => undef
+$Parent => undef
+$ObjectType => undef
+$ObjectField => undef
+$ObjectValue => undef
+$Single => undef
+$SingleMagic => undef
+$Generations => undef
+</%ARGS>
+
+
+    <& /Admin/Elements/ModifyKeywordSelect, 'Create'=>'1' &>
+  </TD>
+
+  <TD VALIGN=TOP>
+    <H2>Modify KeywordSelect</H2>
+
+    <& /Admin/Elements/SelectModifyKeywordSelect &>
+  </TD>
+</TR>
+
+</TABLE>