diff options
Diffstat (limited to 'httemplate/elements/select-cgp_rule_condition.html')
-rw-r--r-- | httemplate/elements/select-cgp_rule_condition.html | 200 |
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 bc96ab487..000000000 --- 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> |