summaryrefslogtreecommitdiff
path: root/httemplate/elements/select-cgp_rule_condition.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/elements/select-cgp_rule_condition.html')
-rw-r--r--httemplate/elements/select-cgp_rule_condition.html200
1 files changed, 0 insertions, 200 deletions
diff --git a/httemplate/elements/select-cgp_rule_condition.html b/httemplate/elements/select-cgp_rule_condition.html
deleted file mode 100644
index bc96ab4..0000000
--- a/httemplate/elements/select-cgp_rule_condition.html
+++ /dev/null
@@ -1,200 +0,0 @@
-% unless ( $opt{'js_only'} ) {
-
- <INPUT TYPE="hidden" NAME="<%$name%>" ID="<%$id%>" VALUE="<% $curr_value %>">
-
- <% include( 'select.html',
- 'field' => $name.'_conditionname',
- 'id' => $id.'_conditionname',
- 'options' => \@conditions,
- 'curr_value' => $conditionname,
- 'labels' => { '' => 'Select Condition' },
- 'onchange' => $name.'_changed',
- )
- %>
-
- <% include( 'select.html',
- 'field' => $name.'_op',
- 'id' => $id.'_op',
- 'options' => \@op,
- 'curr_value' => scalar($cgi->param($name.'_op'))
- || $cgp_rule_condition->op,
- 'disabled' => $disabled,
- 'style' => $style,
- )
- %>
-
- <% include( 'input-text.html',
- 'field' => $name.'_params',
- 'id' => $id.'_params',
- 'curr_value' => scalar($cgi->param($name.'_params'))
- || $cgp_rule_condition->params,
- 'disabled' => $disabled,
- 'style' => $style,
- 'nodarken_disabled' => 1,
- )
- %>
-
-% # could add more UI sugar for date/time ranges, string #lists, etc.
-
-% }
-% unless ( $opt{'html_only'} || $opt{'js_only'} ) {
- <SCRIPT TYPE="text/javascript">
-% }
-% unless ( $opt{'html_only'} ) {
-
- function opt(what,value,text) {
- var optionName = new Option(text, value, false, false);
- var length = what.length;
- what.options[length] = optionName;
- }
-
- function <% $name %>_changed(what) {
-
- <% $onchange %>
-
- var <% $name %>_value = what.options[what.selectedIndex].value;
-
- var op_Element = what.form.<% $name %>_op;
- var params_Element = what.form.<% $name %>_params;
-
- //cond2op in javascript... not as elegant cause my js << my perl
-
- // if bool, hide/disable _op and _params entirely
- if ( <%$name%>_value == '' || <%$name%>_value == 'Human Generated' ) {
- op_Element.disabled = true;
- op_Element.style.visibility = "hidden";
- params_Element.disabled = true;
- params_Element.style.visibility = "hidden";
- return true;
- }
-
- var OpArray = [ 'is', 'is not' ];
-
- // if lt_ge, add em
- if ( <%$name%>_value == 'Message Size' || <%$name%>_value == 'Time of Day' || <%$name%>_value == 'Current Date' ) {
- OpArray.push('less than');
- OpArray.push('greater than');
- }
-
- // unless no_in, add em
- if ( <%$name%>_value != 'Message Size' && <%$name%>_value != 'Current Date' && <%$name%>_value != 'Existing Mailbox' ) {
- OpArray.push('in');
- OpArray.push('not in');
- }
-
- // blank the current op list
- for ( var i = op_Element.length; i >= 0; i-- )
- op_Element.options[i] = null;
-
- // update the _op select with this new array
- for ( var s = 0; s < OpArray.length; s++ )
- opt(what.form.<% $name %>_op, OpArray[s], OpArray[s]);
-
- // show _op and _params (in case we were a bool before)
- op_Element.disabled = false;
- op_Element.style.visibility = "visible";
- params_Element.disabled = false;
- params_Element.style.visibility = "visible";
-
- }
-% }
-% unless ( $opt{'html_only'} || $opt{'js_only'} ) {
- </SCRIPT>
-% }
-<%once>
-
-my @conditions = (
- '',
-
- #generic http://www.communigate.com/CommunigatePro/Rules.html#Conditions
- 'Submit Address',
- 'Time of Day',
- 'Current Date',
- 'Current Day',
- 'Preference',
- 'FreeBusy',
- 'Existing Mailbox',
-
- #email http://www.communigate.com/CommunigatePro/QueueRules.html#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 = ( map { $_=>1 } ( #hide the op and valud dropdowns entirely
- '',
- 'Human Generated',
-));
-
-my %no_in = ( map { $_=>1 } ( #hide in/not in
- 'Message Size',
- 'Current Date',
- 'Existing Mailbox',
-));
-
-my %lt_gt = ( map { $_=>1 } ( #add less than/greater than
- 'Message Size',
- 'Time of Day',
- 'Current Date',
-));
-
-my $cond2op = sub {
- my $cond = shift;
- return () if $bool{$cond};
- my @op = ( 'is', 'is not' );
- push @op, 'less than', 'greater than' if $lt_gt{$cond};
- push @op, 'in', 'not in' unless $no_in{$cond};
- @op;
-};
-
-</%once>
-<%init>
-
-my %opt = @_;
-
-my $name = $opt{'element_name'} || $opt{'field'} || 'ruleconditionnum';
-#my $id = $opt{'id'} || 'contactnum';
-my $id = $opt{'id'} || $opt{'field'} || 'ruleconditionnum';
-
-my $curr_value = $opt{'curr_value'} || $opt{'value'};
-
-my $onchange = '';
-if ( $opt{'onchange'} ) {
- $onchange = $opt{'onchange'};
- $onchange .= '(what)' unless $onchange =~ /\(\w*\);?$/;
-}
-
-my $cgp_rule_condition;
-if ( $curr_value ) {
- $cgp_rule_condition = qsearchs('cgp_rule_condition',
- { 'ruleconditionnum' => $curr_value } );
-} else {
- $cgp_rule_condition = new FS::cgp_rule_condition {};
-}
-
-my $conditionname = scalar($cgi->param($name.'_conditionname'))
- || $cgp_rule_condition->conditionname;
-
-my @op = &$cond2op($conditionname);
-
-my $disabled = scalar(@op) ? '' : 1;
-my $style = $disabled ? 'visibility:hidden' : '';
-
-</%init>