| 
        <% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><% $part_pkg->pkg |h %>
        - 
        <% $part_pkg->custom_comment |h %>
       | 
     
% if ( $cust_pkg->quantity > 1 ) {
    
      | 
              <% mt('Quantity:') |h %> 
        <% $cust_pkg->quantity %>
       | 
     
%  }
    
      
        
%         unless ( $cust_pkg->get('cancel') ) { 
%
%           my $br = 0;
%           if ( $curuser->access_right('Change customer package') ) {
%             $br=1;
              ( <%pkg_change_link($cust_pkg)%> )
%           } 
%
%           if ( $curuser->access_right('Edit customer package dates') ) {
%             $br=1;
              ( <%pkg_dates_link($cust_pkg)%> )
%           } 
%
%           if ( $curuser->access_right('Discount customer package')
%                && $part_pkg->can_discount
%                && ! scalar($cust_pkg->cust_pkg_discount_active)
%                && ! scalar($cust_pkg->part_pkg->part_pkg_discount)
%              )
%           {
%             $br=1;
              ( <%pkg_discount_link($cust_pkg)%> )
%           }
%
%           if ( $curuser->access_right('Customize customer package') ) {
%             $br=1;
              ( <%pkg_customize_link($cust_pkg,$part_pkg)%> )
%           } 
%
            <% $br ? ' ' : '' %>
%         } 
%         if ( $cust_pkg->num_cust_event
%              && (    $curuser->access_right('Billing event reports')
%                   || $curuser->access_right('View customer billing events')
%                 )
%            ) {
            ( <%pkg_event_link($cust_pkg)%> )
%         }
        
       | 
     
%   my $editi = $curuser->access_right('Edit customer package invoice details');
%   my $editc = $curuser->access_right('Edit customer package comments');
%   my @cust_pkg_detail = $cust_pkg->cust_pkg_detail;
%   my @invoice_detail = grep { $_->detailtype eq 'I' } @cust_pkg_detail;
%   my @comments       = grep { $_->detailtype eq 'C' } @cust_pkg_detail;
%
%   if ( scalar(@invoice_detail) || scalar(@comments) || $editi || $editc ) {
%
%     my $editlink = $p. 'edit/cust_pkg_detail?pkgnum='. $cust_pkg->pkgnum.
%                    ';detailtype=';
      
%       if ( @invoice_detail ) {
          | 
            <& /elements/table-grid.html &>
               |  
                | 
                  
                    <% mt('Invoice details') |h %> 
%                   if ( $editi && ! $cust_pkg->get('cancel') ) {
                      (<& /elements/popup_link.html, { 
                                    'action'      => $editlink. 'I',
                                    'label'       => emt('edit'),
                                    'actionlabel' => emt('Edit invoice details'),
                                    'color'       => '#333399',
                                    'width'       => 763,
                                 }
                       &>)
%                   }
                  
                 | 
               
%             foreach my $cust_pkg_detail ( @invoice_detail ) {
                
                  |  - <% $cust_pkg_detail->detail |h %> | 
                 
%             }
             
           | 
%       } else {
          
%           if ( $editi && ! $cust_pkg->get('cancel') ) {
              
                ( <% include('/elements/popup_link.html', { 
                               'action'      => $editlink. 'I',
                               'label'       => emt('Add invoice details'),
                               'actionlabel' => emt('Add invoice details'),
                               'color'       => '#333399',
                               'width'       => 763,
                            })
                  %> )
              
%           }
           | 
%       }
%       if ( @comments ) { 
          
            <& /elements/table-grid.html &>
               | 
                | 
                  
                    <% mt('Comments') |h %> 
%                   if ( $editc ) {
                      (<& /elements/popup_link.html, { 
                                    'action'      => $editlink. 'C',
                                    'label'       => emt('edit'),
                                    'actionlabel' => emt('Edit comments'),
                                    'color'       => '#333399',
                                    'width'       => 763,
                                 }
                       &>)
%                   }
                  
                 | 
              
%             foreach my $cust_pkg_detail ( @comments ) {
                
                  |  - <% $cust_pkg_detail->detail |h %> | 
                
%             }
            
          
%       } else {
          
%           if ( $editc ) {
              
                ( <& /elements/popup_link.html, { 
                               'action'      => $editlink. 'C',
                               'label'       => emt('Add comments'),
                               'actionlabel' => emt('Add comments'),
                               'color'       => '#333399',
                               'width'       => 763,
                            }
                  &> )
              
%           }
           | 
%       }
      
%     if ( $curuser->access_right('Change customer package') and 
%           !$cust_pkg->get('cancel') and
%           !$opt{'show_location'}) {
      
        | 
          ( <% pkg_change_location_link($cust_pkg) %> )
         | 
      
%     }
%   }
  
<%init>
my %opt = @_;
my $bgcolor  = $opt{'bgcolor'};
my $cust_pkg = $opt{'cust_pkg'};
my $part_pkg = $opt{'part_pkg'};
my $curuser = $FS::CurrentUser::CurrentUser;
my $countrydefault = $opt{'countrydefault'} || 'US';
my $statedefault   = $opt{'statedefault'}
                     || ($countrydefault eq 'US' ? 'CA' : '');
#subroutines
#false laziness w/status.html
sub pkg_link {
  my($action, $label, $cust_pkg) = @_;
  return '' unless $cust_pkg;
  qq!$label!;
}
sub pkg_change_link {
  my $cust_pkg = shift;
  my $locationnum = $cust_pkg->locationnum;
  include( '/elements/popup_link-cust_pkg.html',
    'action'      => $p. "misc/change_pkg.cgi?locationnum=$locationnum",
    'label'       => emt('Change package'),
    'actionlabel' => emt('Change'),
    'cust_pkg'    => $cust_pkg,
  );
}
sub pkg_change_location_link {
  my $cust_pkg = shift;
  my $pkgpart = $cust_pkg->pkgpart;
  include( '/elements/popup_link-cust_pkg.html',
    'action'      => $p. "misc/change_pkg.cgi?locationnum=-1;pkgpart=$pkgpart;".
                     "address1=;address2=;city=;county=;state=$statedefault;".
                     "zip=;country=$countrydefault",
    'label'       => emt('Change location'),
    'actionlabel' => emt('Change'),
    'cust_pkg'    => $cust_pkg,
  );
}
sub pkg_dates_link { pkg_link('edit/REAL_cust_pkg', emt('Edit dates'), @_ ); }
sub pkg_discount_link {
  my $cust_pkg = shift or return '';
  include( '/elements/popup_link-cust_pkg.html',
    'action'      => $p.'edit/cust_pkg_discount.html',
    'label'       => emt('Discount'),
    'actionlabel' => emt('Discount'),
    'cust_pkg'    => $cust_pkg,
    'width'       => 616,
  );
}
sub pkg_customize_link {
  my $cust_pkg = shift or return '';
  my $part_pkg = shift;
  my $custnum = $cust_pkg->custnum;
  qq!!.emt('Customize').'';
}
sub pkg_event_link {
  my($cust_pkg) = @_;
  qq!!.
  emt('View package events').
  '';
}
%init>