summaryrefslogtreecommitdiff
path: root/httemplate/view/cust_main/packages/section.html
blob: 82d06203bbd26d2b0c365957cb010eb8de881504 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
% if ( @$packages ) { 
<TR>
% #my $width = $show_location ? 'WIDTH="25%"' : 'WIDTH="33%"';
  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Package') |h %></TH>
  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Status') |h %></TH>
  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Contact/Location') |h %></TH>
  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Services') |h %></TH>
</TR>

% #$FS::cust_pkg::DEBUG = 2;
%   foreach my $cust_pkg (@$packages) {
    <& .packagerow, $cust_pkg,
        ( map { $_ => $opt{$_} } qw(
            cust_main bgcolor
            no_links before_pkg_callback before_svc_callback after_svc_callback
        )),
        %conf_opt
    &>
%   }
% } else { # there are no packages
<BR>
% }
<%def .packagerow>
%
% my ($cust_pkg, %iopt) = @_;
% $iopt{'cust_pkg'} = $cust_pkg;
% $iopt{'part_pkg'} = $cust_pkg->part_pkg;
  <!--pkgnum: <% $cust_pkg->pkgnum %>-->
  <TR CLASS="row<%$row % 2%>">
    <& package.html, %iopt &>
    <& status.html,  %iopt &>
    <TD CLASS="inv" BGCOLOR="<% $iopt{bgcolor} %>" WIDTH="20%" VALIGN="top">
      <& contact.html, %iopt &><BR>
      <& location.html, %iopt &>
    </TD>
    <& services.html, %iopt &>
  </TR>
% $row++;
% # include supplemental packages if any
% $iopt{'supplemental'} = ($iopt{'supplemental'} || 0) + 1;
% foreach my $supp_pkg ($cust_pkg->supplemental_pkgs) {
    <& .packagerow, $supp_pkg, %iopt &>
% }
</%def>
<%shared>
my $row = 0;
</%shared>
<%init>

my %opt = @_;
my $conf = new FS::Conf;

my $curuser = $FS::CurrentUser::CurrentUser;

my $packages = $opt{'packages'};

# Sort order is hardcoded for now, can change this if needed.
@$packages = sort { 
  ( $a->getfield('cancel') <=> $b->getfield('cancel') )  or
  ( $a->getfield('setup')  <=> $b->getfield('setup')  )  or
  ( $a->getfield('pkgnum') <=> $b->getfield('pkgnum') )
} @$packages;

my %change_custnum = map { $_->change_custnum => 1 }
                       grep { $_->change_custnum }
                         grep { $_->getfield('cancel') }
                           @$packages;

my $pkg_attached = ( scalar(keys %change_custnum) == 1
                       && ! grep { ! $_->getfield('cancel') } @$packages
                   );

my $countrydefault = scalar($conf->config('countrydefault')) || 'US';  

my %conf_opt = (
  #for services.html and status.html
  'cust_pkg-display_times'    => ($conf->exists('cust_pkg-display_times')
                                 || $curuser->option('cust_pkg-display_times')),
  #for status.html
  'cust_pkg-show_autosuspend' => $conf->exists('cust_pkg-show_autosuspend'),
  'pkg_attached'              => $pkg_attached,
  #for status.html pkg-balances
  'pkg-balances'              => $conf->exists('pkg-balances'),
  'money_char'                => ( $conf->config('money_char') || '$' ),

  #for location.html
  'countrydefault'            => $countrydefault,
  'statedefault'              => ( scalar($conf->config('statedefault'))
                                  || ($countrydefault eq 'US' ? 'CA' : '') ),
  #for services.html
  'svc_external-skip_manual'  => $conf->exists('svc_external-skip_manual'),
  'legacy_link'               => $conf->exists('legacy_link'),
  'manage_link'               => scalar($conf->config('svc_broadband-manage_link')),
  'manage_link_text'          => scalar($conf->config('svc_broadband-manage_link_text')),
  'manage_link_loc'           => scalar($conf->config('svc_broadband-manage_link_loc')),
  'manage_link-new_window'    => $conf->exists('svc_broadband-manage_link-new_window'),
  'cust_pkg-large_pkg_size'   => scalar($conf->config('cust_pkg-large_pkg_size')),

);

</%init>