communigate (phase 2): rules: start of adding conditions and actions to rule edit...
[freeside.git] / httemplate / elements / select-cgp_rule_condition.html
diff --git a/httemplate/elements/select-cgp_rule_condition.html b/httemplate/elements/select-cgp_rule_condition.html
new file mode 100644 (file)
index 0000000..1ce85bd
--- /dev/null
@@ -0,0 +1,63 @@
+<% include( 'select.html',
+              %opt,
+              'options' => \@conditions, #reverse order if we ever need to spec
+              'labels'  => { '' => 'Select Condition' },
+          )
+%>
+<% include( 'select.html',
+              'name' => $opt{'field'}.'_op',
+              'id'   => ($opt{'field'}||$opt{'id'}).'_op',
+              'options' => \@myop,
+          )
+%>
+<% include( 'input-text.html',
+              'name' => $opt{'field'}.'_params',
+              #XXX curr value... anything else?
+          )
+%>
+<%init>
+
+my %opt = @_;
+
+my @conditions = (
+  '',
+  'From',
+  'Sender',
+  'To',
+  'Cc',
+  'Reply-To',
+  'Any To or Cc',
+  'Each To or Cc',
+  'Return-Path',
+  "'From' Name",
+  'Subject',
+  'Message-ID',
+  'Message Size',
+  'Human Generated',
+  'Header Field',
+  'Any Recipient',
+  'Each Recipient',
+  'Source',
+  'Security',
+  'Any Route',
+  'Each Route'
+);
+
+my %bool = (
+  'Human Generated' => 1,
+);
+
+my %number = (
+  'Message Size' => 1,
+);
+
+#XXX curr value -> hidden op / param / param selects depending
+
+my @op = ( 'is', 'is not', 'in', 'not in' );
+my @op_number = ( 'is', 'is_not', 'less than', 'greater than' );
+
+my @myop = @op; #XXX  $number{$curr_value} ? @op_number : @op;
+#XXX and a fancy onchange handler... yes.
+#XXX (and for total hiding of the %bool one)
+
+</%init>