X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fpart_pkg.cgi;h=60319f9d9c6a60c47eb338fe683e10bcd38f934f;hb=c6da895a2fb2c233716381b7e45ebbeb1c2f6aaa;hp=b7707f3e8cbc3bcfe5ff75e3297ef320e183ddfb;hpb=5820f3d7ca493e3e6318efe6e8e677b71b01c1ad;p=freeside.git diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi index b7707f3e8..60319f9d9 100755 --- a/httemplate/edit/part_pkg.cgi +++ b/httemplate/edit/part_pkg.cgi @@ -1,23 +1,6 @@ - - -<% my $plan = 'flat'; %> - - - + <% -$cgi = new CGI; - -&cgisuidsetup($cgi); - if ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) { $cgi->param('clone', $1); } else { @@ -42,18 +25,29 @@ if ( $cgi->param('clone') ) { my $old_part_pkg = qsearchs('part_pkg', { 'pkgpart' => $cgi->param('clone') } ); $part_pkg ||= $old_part_pkg->clone; + $part_pkg->disabled('Y'); } elsif ( $query && $query =~ /^(\d+)$/ ) { $part_pkg ||= qsearchs('part_pkg',{'pkgpart'=>$1}); } else { - $part_pkg ||= new FS::part_pkg {}; + unless ( $part_pkg ) { + $part_pkg = new FS::part_pkg {}; + $part_pkg->plan('flat'); + } +} +unless ( $part_pkg->plan ) { #backwards-compat + $part_pkg->plan('flat'); + $part_pkg->plandata("setup_fee=". $part_pkg->setup. "\n". + "recur_fee=". $part_pkg->recur. "\n"); } $action ||= $part_pkg->pkgpart ? 'Edit' : 'Add'; my $hashref = $part_pkg->hashref; + print header("$action Package Definition", menubar( 'Main Menu' => popurl(2), 'View all packages' => popurl(2). 'browse/part_pkg.cgi', )); +#), ' onLoad="visualize()"'); print qq!Error: !, $cgi->param('error'), "" @@ -72,28 +66,52 @@ print '
- - + 'flat_comission_pkg' => { + 'name' => 'Flat rate with recurring comission per (selected) active package', + 'fields' => { + 'setup_fee' => { 'name' => 'Setup fee for this package', + 'default' => 0, + }, + 'recur_fee' => { 'name' => 'Recurring fee for this package', + 'default' => 0, + }, + 'comission_amount' => { 'name' => 'Comission amount per month (per uncancelled package)', + 'default' => 0, + }, + 'comission_depth' => { 'name' => 'Number of layers', + 'default' => 1, + }, + 'comission_pkgpart' => { 'name' => 'Applicable packages