+<% include('/elements/header.html', "$action Package Definition", menubar(
+ 'View all packages' => popurl(2). 'browse/part_pkg.cgi',
+)) %>
+% #), ' onLoad="visualize()"');
+
+<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws.js"></SCRIPT>
+<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws_iframe.js"></SCRIPT>
+<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws_draggable.js"></SCRIPT>
+<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/iframecontentmws.js"></SCRIPT>
+
+<% include('/elements/error.html') %>
+
+<FORM NAME="dummy">
+
+<% itable('',8,1) %><TR><TD VALIGN="top">
+
+Package information
+
+<% ntable("#cccccc",2) %>
+ <TR>
+ <TD ALIGN="right">Package Definition #</TD>
+ <TD BGCOLOR="#ffffff">
+ <% $hashref->{pkgpart} ? $hashref->{pkgpart} : "(NEW)" %>
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN="right">Package (customer-visible)</TD>
+ <TD>
+ <INPUT TYPE="text" NAME="pkg" SIZE=32 VALUE="<% $part_pkg->pkg %>">
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN="right">Comment (customer-hidden)</TD>
+ <TD>
+ <INPUT TYPE="text" NAME="comment" SIZE=32 VALUE="<%$part_pkg->comment%>">
+ </TD>
+ </TR>
+ <% include( '/elements/tr-select-pkg_class.html',
+ 'curr_value' => $part_pkg->classnum,
+ )
+ %>
+ <TR>
+ <TD ALIGN="right">Promotional code</TD>
+ <TD>
+ <INPUT TYPE="text" NAME="promo_code" SIZE=32 VALUE="<%$part_pkg->promo_code%>">
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN="right">Disable new orders</TD>
+ <TD>
+ <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref->{disabled} eq 'Y' ? ' CHECKED' : '' %>
+ </TD>
+ </TR>
+
+</TABLE>
+
+</TD><TD VALIGN="top">
+
+Tax information
+<% ntable("#cccccc", 2) %>
+ <TR>
+ <TD ALIGN="right">Setup fee tax exempt</TD>
+ <TD>
+ <INPUT TYPE="checkbox" NAME="setuptax" VALUE="Y" <% $hashref->{setuptax} eq 'Y' ? ' CHECKED' : '' %>>
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN="right">Recurring fee tax exempt</TD>
+ <TD>
+ <INPUT TYPE="checkbox" NAME="recurtax" VALUE="Y" <% $hashref->{recurtax} eq 'Y' ? ' CHECKED' : '' %>>
+ </TD>
+ </TR>
+
+% if ( $conf->exists('enable_taxclasses') ) {
+
+ <TR>
+ <TD align="right">Tax class</TD>
+ <TD>
+ <% include('/elements/select-taxclass.html', $hashref->{taxclass} ) %>
+ </TD>
+ </TR>
+
+% } else {
+
+ <% include('/elements/select-taxclass.html', $hashref->{taxclass} ) %>
+
+% }
+
+% if ( $conf->exists('enable_taxproducts') ) {
+
+ <TR><TD colspan="2">
+ <% ntable("#cccccc", 2) %>
+ <TR>
+ <TD align="right">Tax product</TD>
+ <TD>
+ <INPUT name="part_pkg_taxproduct_taxproductnum" id="taxproductnum" type="hidden" value="<% $hashref->{'taxproductnum'}%>">
+ <INPUT name="part_pkg_taxproduct_description" id="taxproduct_description" type="text" value="<% $taxproduct_description %>" size="12" onclick="overlib( OLiframeContent('part_pkg_taxproduct.html?'+document.getElementById('taxproductnum').value, 1000, 400, 'tax_product_popup'), CAPTION, 'Select product', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK); return false;">
+ </TD>
+ </TR>
+ <TR>
+ <TD colspan="2" align="right">
+ <INPUT name="tax_override" id="tax_override" type="hidden" value="<% $tax_override %>">
+ <A href="javascript:void(0)" onclick="overlib( OLiframeContent('part_pkg_taxoverride.html?selected='+document.getElementById('tax_override').value, 1100, 600, 'tax_product_popup'), CAPTION, 'Edit product tax overrides', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK); return false;">
+ <% $tax_override ? 'Edit tax overrides' : 'Override taxes' %>
+ </A>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD></TR>
+
+% } else {
+
+ <INPUT TYPE="hidden" NAME="taxproductnum" VALUE="<% $hashref->{taxproductnum} %>">
+
+% }
+
+</TABLE>
+<BR>
+
+Line-item revenue recognition
+<% ntable("#cccccc", 2) %>
+% tie my %weight, 'Tie::IxHash',
+% 'pay_weight' => 'Payment',
+% 'credit_weight' => 'Credit'
+% ;
+% foreach my $weight (keys %weight) {
+ <TR>
+ <TD ALIGN="right"><% $weight{$weight} %> weight</TD>
+ <TD>
+ <INPUT TYPE="text" NAME="<% $weight %>" SIZE=6 VALUE=<% $hashref->{$weight} || 0 %>>
+ </TD>
+ </TR>
+% }
+</TABLE>
+
+</TD><TD VALIGN="top">
+
+% if ( $cgi->param('clone') ) {
+
+ <INPUT TYPE="hidden" NAME="agent_type" VALUE="">
+
+% } elsif ( scalar(@all_agent_types) == 1) {
+
+ <INPUT TYPE="hidden" NAME="agent_type" VALUE="<% $all_agent_types[0] %>">
+
+% } else {
+
+ Reseller information
+ <% ntable("#cccccc", 2) %>
+ <TR>
+ <TD ALIGN="right"><% 'Agent Types' %></TD>
+ <TD>
+ <% include( '/elements/select-table.html',
+ 'element_name' => 'agent_type',
+ 'table' => 'agent_type',
+ 'name_col' => 'atype',
+ 'value' => \@agent_type,
+ 'multiple' => '1',
+ 'element_etc' => 'size="10"',
+ )
+ %>
+ </TD>
+ </TR>
+ </TABLE>
+
+% }
+
+</TD></TR></TABLE>
+
+%my $thead = "\n\n". ntable('#cccccc', 2).
+% '<TR><TH BGCOLOR="#dcdcdc"><FONT SIZE=-1>Quan.</FONT></TH>'.
+% '<TH BGCOLOR="#dcdcdc"><FONT SIZE=-1>Primary</FONT></TH>'.
+% '<TH BGCOLOR="#dcdcdc">Service</TH></TR>';
+
+<BR><BR>Services included
+<% itable('', 4, 1) %><TR><TD VALIGN="top">
+<% $thead %>
+%
+%
+%my $where = "WHERE disabled IS NULL OR disabled = ''";
+%if ( $pkgpart ) {
+% $where .= " OR 0 < ( SELECT quantity FROM pkg_svc
+% WHERE pkg_svc.svcpart = part_svc.svcpart
+% AND pkgpart = $pkgpart
+% )";
+%}
+%my @part_svc = qsearch('part_svc', {}, '', $where);
+%my $q_part_pkg = $clone_part_pkg || $part_pkg;
+%my %pkg_svc = map { $_->svcpart => $_ } $q_part_pkg->pkg_svc;
+%
+%my @fixups = ();
+%my $count = 0;
+%my $columns = 3;
+%foreach my $part_svc ( @part_svc ) {
+% my $svcpart = $part_svc->svcpart;
+% my $pkg_svc = $pkg_svc{$svcpart}
+% || new FS::pkg_svc ( {
+% 'pkgpart' => $pkgpart,
+% 'svcpart' => $svcpart,
+% 'quantity' => 0,
+% 'primary_svc' => '',
+% } );
+% if ( $cgi->param('error') ) {
+% my $primary_svc = ( $pkg_svc->primary_svc =~ /^Y/i );
+% my $pkg_svc_primary = scalar($cgi->param('pkg_svc_primary'));
+% $pkg_svc->primary_svc('')
+% if $primary_svc && $pkg_svc_primary != $svcpart;
+% $pkg_svc->primary_svc('Y')
+% if ! $primary_svc && $pkg_svc_primary == $svcpart;
+% }
+%
+% push @fixups, "pkg_svc$svcpart";
+%
+% my $quan = 0;
+% if ( $cgi->param("pkg_svc$svcpart") =~ /^\s*(\d+)\s*$/ ) {
+% $quan = $1;
+% } elsif ( $pkg_svc->quantity ) {
+% $quan = $pkg_svc->quantity;
+% }