diff options
Diffstat (limited to 'httemplate')
| -rw-r--r-- | httemplate/edit/cgp_rule.html | 34 | ||||
| -rw-r--r-- | httemplate/elements/select-cgp_rule_action.html | 46 | ||||
| -rw-r--r-- | httemplate/elements/select.html | 64 | ||||
| -rw-r--r-- | httemplate/elements/tr-select.html | 61 | 
4 files changed, 149 insertions, 56 deletions
| diff --git a/httemplate/edit/cgp_rule.html b/httemplate/edit/cgp_rule.html index 9c03a52f0..6f2d80161 100644 --- a/httemplate/edit/cgp_rule.html +++ b/httemplate/edit/cgp_rule.html @@ -1,10 +1,12 @@  <% include('elements/edit.html',               'name_singular' => 'rule',               'table'         => 'cgp_rule', -             'labels' => { 'rulenum'  => 'Rule', -                           'name'     => 'Name', -                           'comment'  => 'Comment', -                           'priority' => 'Priority', +             'labels' => { 'rulenum'          => 'Rule', +                           'name'             => 'Name', +                           'comment'          => 'Comment', +                           'priority'         => 'Priority', +                           'ruleconditionnum' => 'Condition', +                           'ruleactionnum'    => 'Action',                           },               'fields' => [ 'name',                             'comment', @@ -13,7 +15,25 @@                               'options' => [ 0 .. 10 ],                               'labels'  => { 0 => 'Inactive' },                             }, -                           { 'field' => 'svcnum', 'type' => 'hidden', }, +                           { 'field'   => 'svcnum', 'type' => 'hidden', }, +                           { 'type'    => 'tablebreak-tr-title', +                             'value'   => 'Conditions', +                           }, +                           { 'field'   => 'ruleconditionnum', +                             'type'    => 'select-cgp_rule_condition', +                             'o2m_table' => 'cgp_rule_condition', +                             'm2_label' => 'Condition', +                             #XXX m2_error_callback +                           }, +                           { 'type'    => 'tablebreak-tr-title', +                             'value'   => 'Actions', +                           }, +                           { 'field'   => 'ruleactionnum', +                             'type'    => 'select-cgp_rule_action', +                             'o2m_table' => 'cgp_rule_action', +                             'm2_label' => 'Action', +                             #XXX m2_error_callback +                           },                           ],               'new_callback' => sub { my( $cgi, $cgp_rule ) = @_;                                       $cgp_rule->svcnum( $cgi->param('svcnum') ); @@ -24,7 +44,9 @@  %>  <%init> -#my $svcnum #huh +my %opt = @_; + +#my $svcnum #huh XXX  #my $viewall_url = $p. "browse/$table.html?svcnum=$svcnum";  </%init> diff --git a/httemplate/elements/select-cgp_rule_action.html b/httemplate/elements/select-cgp_rule_action.html new file mode 100644 index 000000000..b53a96e9e --- /dev/null +++ b/httemplate/elements/select-cgp_rule_action.html @@ -0,0 +1,46 @@ +%# XXX CSS to verticially align the select vs. the textarea +<% include( 'select.html', +              %opt, +              'options' => \@actions, #reverse order if we ever need to specify +              'labels'  => { '' => 'Select Action' }, +          ) +%> +    <TEXTAREA NAME          = "<% $opt{field} %>_params" +%#              ID            = "<% $opt{id} %>" +%#              <% $rows %> +%#              <% $cols %> +%#              <% $onchange %> +%#    ><% $curr_value |h %></TEXTAREA> +    > +%# XXX curr value +    </TEXTAREA> +<%init> + +my %opt = @_; +warn "SELECT-CGP_RULE-ACTION.HTML: ". join ' / ', %opt; + +my @actions = ( +  '', +  'Stop Processing', +  'Discard', +  'Reject With', +  'Mark', +  'Add Header', +  'Tag Subject', +  'Store in', +  'Redirect to', +  'Forward to', +  'Mirror to', +  'Reply with', +  'Reply to All with', +  'React with', +  'store Encrypted in', +  'Copy attachments into', +  'Execute', +  'ExternalFilter', +  'Accept Request', +); + +#XXX hmm, hide textarea w/Stop Processing,Discard like _condition.html + +</%Init> diff --git a/httemplate/elements/select.html b/httemplate/elements/select.html new file mode 100644 index 000000000..7aa4180b6 --- /dev/null +++ b/httemplate/elements/select.html @@ -0,0 +1,64 @@ +% unless ( $opt{'js_only'} ) { + +<SELECT NAME          = "<% $opt{field} %>" +        ID            = "<% $opt{id} %>" +        previousValue = "<% $curr_value %>" +        previousText  = "<% $labels->{$curr_value} || $curr_value %>" +        <% $onchange %> +> + +% if ( $opt{options} ) { +% +%   foreach my $option ( @{ $opt{options} } ) { #just arrayref for now + +      <OPTION VALUE="<% $option %>" +              <% $opt{curr_value} eq $option ? 'SELECTED' : '' %> +      > +        <% $labels->{$option} || $option %> +      </OPTION> + +%   } +% +% } else { #deprecated weird value hashref used only by reason.html +% +%   my $aref = $opt{'value'}->{'values'}; +%   my $vkey = $opt{'value'}->{'vcolumn'}; +%   my $ckey = $opt{'value'}->{'ccolumn'}; +%   foreach my $v (@$aref) { + +      <OPTION VALUE="<% $v->$vkey %>" +              <% ($opt{curr_value} eq $v->$vkey) ? 'SELECTED' : '' %> +      > +        <% $v->$ckey %> +      </OPTION> + +%   } +% +% } + +</SELECT> + +% } +<%init> + +my %opt = @_; +warn "SELECT.HTML: ". join ' / ', %opt; + +my $onchange = $opt{'onchange'} +                 ? 'onChange="'. $opt{'onchange'}. '(this)"' +                 : ''; + +my $labels = $opt{'option_labels'} || $opt{'labels'}; + +my $curr_value = $opt{'curr_value'}; + +my $onchange = ''; +if ( $opt{'onchange'} ) { +  $onchange = $opt{'onchange'}; +  $onchange .= '(this)' unless $onchange =~ /\(\w*\);?$/; +  $onchange =~ s/\(what\);/\(this\);/g; #ugh, terrible hack.  all onchange +                                        #callbacks should act the same +  $onchange = 'onChange="'. $onchange. '"' unless $onchange =~ /^onChange=/i; +} + +</%init> diff --git a/httemplate/elements/tr-select.html b/httemplate/elements/tr-select.html index 07b0a01d5..f9c768c60 100644 --- a/httemplate/elements/tr-select.html +++ b/httemplate/elements/tr-select.html @@ -1,61 +1,22 @@ -<% include('tr-td-label.html', @_ ) %> +% unless ( $opt{'js_only'} ) { -  <TD <% $style %>> +    <% include('tr-td-label.html', %opt ) %> -    <SELECT NAME          = "<% $opt{field} %>" -            ID            = "<% $opt{id} %>" -            previousValue = "<% $curr_value %>" -            previousText  = "<% $labels->{$curr_value} || $curr_value %>" -            <% $onchange %> -    > +      <TD <% $colspan %> <% $style %>> +% } -%   if ( $opt{options} ) { -% -%     foreach my $option ( @{ $opt{options} } ) { #just arrayref for now - -        <OPTION VALUE="<% $option %>" -                <% $opt{curr_value} eq $option ? 'SELECTED' : '' %> -        > -          <% $labels->{$option} || $option %> -        </OPTION> - -%     } -% -%   } else { #deprecated weird value hashref used only by reason.html -% -%     my $aref = $opt{'value'}->{'values'}; -%     my $vkey = $opt{'value'}->{'vcolumn'}; -%     my $ckey = $opt{'value'}->{'ccolumn'}; -%     foreach my $v (@$aref) { - -        <OPTION VALUE="<% $v->$vkey %>" -                <% ($opt{curr_value} eq $v->$vkey) ? 'SELECTED' : '' %> -        > -          <% $v->$ckey %> -        </OPTION> - -%     } -% -%   } - -    </SELECT> - -  </TD> - -</TR> +    <% include('select.html', %opt ) %> +% unless ( $opt{'js_only'} ) { +      </TD> +    </TR> +% }  <%init>  my %opt = @_; - -my $onchange = $opt{'onchange'} -                 ? 'onChange="'. $opt{'onchange'}. '(this)"' -                 : ''; - -my $labels = $opt{'option_labels'} || $opt{'labels'}; - +warn join ' / ', %opt;  my $style = $opt{'cell_style'} ? 'STYLE="'. $opt{'cell_style'}. '"' : ''; -my $curr_value = $opt{'curr_value'}; +my $colspan = $opt{'colspan'} ? 'COLSPAN="'.$opt{'colspan'}.'"' : '';  </%init> | 
