X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fedit%2Fpart_pkg.cgi;h=d36fac660acca562b52797ba65c667a48bd79703;hb=3f8dd846e92d44fc461d91d5fd5e012a770370d1;hp=be8b0f68f82c7ba03c3771e0174f0c57f1a0c74e;hpb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c;p=freeside.git diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi index be8b0f68f..d36fac660 100755 --- a/httemplate/edit/part_pkg.cgi +++ b/httemplate/edit/part_pkg.cgi @@ -38,6 +38,7 @@ 'taxproduct_select'=> 'Tax products', 'plan' => 'Price plan', 'disabled' => 'Disable new orders', + 'disable_line_item_date_ranges' => 'Disable line item date ranges', 'setup_cost' => 'Setup cost', 'recur_cost' => 'Recur cost', 'pay_weight' => 'Payment weight', @@ -45,11 +46,12 @@ 'agentnum' => 'Agent', 'setup_fee' => 'Setup fee', 'recur_fee' => 'Recurring fee', + 'recur_show_zero' => 'Show zero recurring', 'discountnum' => 'Offer discounts for longer terms', 'bill_dst_pkgpart' => 'Include line item(s) from package', 'svc_dst_pkgpart' => 'Include services of package', 'report_option' => 'Report classes', - 'fcc_ds0s' => 'Voice-grade eqivalents', + 'fcc_ds0s' => 'Voice-grade equivalents', }, 'fields' => [ @@ -87,6 +89,7 @@ : () ), {field=>'disabled', type=>$disabled_type, value=>'Y'}, + {field=>'disable_line_item_date_ranges', type=>$disabled_type, value=>'Y'}, { type => 'tablebreak-tr-title', value => 'Pricing', #better name? @@ -107,8 +110,15 @@ { field => 'recur_fee', type => 'money', disabled => sub { $recur_disabled }, + onchange => 'recur_changed', }, - + + { field => 'recur_show_zero', + type => 'checkbox', + value => 'Y', + disabled => sub { $recur_show_zero_disabled }, + }, + #price plan #setup fee #recurring frequency @@ -324,6 +334,7 @@ my @taxproductnums = ( qw( setup recur ), sort (keys %taxproductnums) ); my %options = (); my $recur_disabled = 1; +my $recur_show_zero_disabled = 1; my $pkgpart = ''; @@ -335,6 +346,10 @@ my $error_callback = sub { $opt->{action} = 'Custom' if $cgi->param('pkgnum'); $recur_disabled = $cgi->param('freq') ? 0 : 1; + $recur_show_zero_disabled = + $cgi->param('freq') + ? $cgi->param('recur_fee') ? 0 : 1 + : 1; foreach ($cgi->param) { /^usage_taxproductnum_(\d+)$/ && ($taxproductnums{$1} = 1); @@ -356,9 +371,8 @@ my $error_callback = sub { } @options; - #$cgi->param($_, $options{$_}) foreach (qw( setup_fee recur_fee )); $object->set($_ => scalar($cgi->param($_)) ) - foreach (qw( setup_fee recur_fee )); + foreach (qw( setup_fee recur_fee disable_line_item_date_ranges )); $pkgpart = $object->pkgpart; @@ -371,7 +385,7 @@ my $new_object_callback = sub { my $part_pkg = FS::part_pkg->new( $hashref ); $part_pkg->set($_ => '0') - foreach (qw( setup_fee recur_fee )); + foreach (qw( setup_fee recur_fee disable_line_item_date_ranges )); $part_pkg; @@ -409,7 +423,7 @@ my $edit_callback = sub { %options = $object->options; $object->set($_ => $object->option($_)) - foreach (qw( setup_fee recur_fee )); + foreach (qw( setup_fee recur_fee disable_line_item_date_ranges )); $pkgpart = $object->pkgpart; @@ -455,7 +469,7 @@ my $clone_callback = sub { %options = $object->options; $object->set($_ => $options{$_}) - foreach (qw( setup_fee recur_fee )); + foreach (qw( setup_fee recur_fee disable_line_item_date_ranges )); $recur_disabled = $object->freq ? 0 : 1; }; @@ -512,16 +526,34 @@ my $javascript = <<'END'; if ( freq == '0' ) { what.form.recur_fee.disabled = true; what.form.recur_fee.style.backgroundColor = '#dddddd'; + what.form.recur_show_zero.disabled = true; + //what.form.recur_show_zero.style.backgroundColor= '#dddddd'; } else { what.form.recur_fee.disabled = false; what.form.recur_fee.style.backgroundColor = '#ffffff'; + what.form.recur_show_zero.disabled = false; + //what.form.recur_show_zero.style.backgroundColor= '#ffffff'; } } + function recur_changed(what) { + var recur = what.value; + if ( recur == 0 ) { + what.form.recur_show_zero.disabled = false; + } else { + what.form.recur_show_zero.disabled = true; + } + } + function agent_changed(what) { - var agentnum = what.options[what.selectedIndex].value; + var agentnum; + if ( what.type == 'select-one' ) { + agentnum = what.options[what.selectedIndex].value; + } else { + agentnum = what.value; + } if ( agentnum == 0 ) { what.form.agent_type.disabled = false;