diff options
author | ivan <ivan> | 2011-11-14 04:31:31 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-11-14 04:31:31 +0000 |
commit | 3db061f538c06804bd0a52b9ef8be3dc6b6db82e (patch) | |
tree | 7335808809768c4dcc6c8c85aebfa3ec365398ea /httemplate/edit/rate_tier.html | |
parent | 3892b13ea137969a2b4f880883960e58003cc1b3 (diff) |
rate tiers for vnes, RT#14903
Diffstat (limited to 'httemplate/edit/rate_tier.html')
-rw-r--r-- | httemplate/edit/rate_tier.html | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/httemplate/edit/rate_tier.html b/httemplate/edit/rate_tier.html new file mode 100644 index 000000000..f9df4b5ce --- /dev/null +++ b/httemplate/edit/rate_tier.html @@ -0,0 +1,54 @@ +<% include( 'elements/edit.html', + 'table' => 'rate_tier', + 'name_singular' => 'tiering plan', + 'fields' => [ + 'tiername', + #{ field=>'disabled', type=>'checkbox', value=>'Y' }, + { 'field' => 'tierdetailnum', + 'type' => 'rate_tier_detail', + 'colspan' => 2, + 'o2m_table' => 'rate_tier_detail', + 'm2_label' => 'Tier', + 'm2_error_callback' => $m2_error_callback, + }, + ], + 'labels' => { 'tiernum' => 'Plan #', + 'tiername' => 'Tiering plan', + 'tierdetailnum' => 'Tier', + }, + 'viewall_dir' => 'browse', + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my $m2_error_callback = sub { + my($cgi, $object) = @_; + + #process_o2m fields in process/rate_tier.html + my @fields = qw( min_quan min_charge ); + my @gfields = ( '', map "_$_", @fields ); + + map { + if ( /^tierdetailnum(\d+)$/ ) { + my $num = $1; + if ( grep $cgi->param("tierdetailnum$num$_"), @gfields ) { + my $x = new FS::rate_tier_detail { + 'tierdetailnum' => scalar($cgi->param("tierdetailnum$num")), + map { $_ => scalar($cgi->param("tierdetailnum${num}_$_")) } + @fields, + }; + $x; + } else { + (); + } + } else { + (); + } + } + $cgi->param; +}; + +</%init> |