summaryrefslogtreecommitdiff
path: root/httemplate/view/cust_main/packages/section.html
blob: 8ea7a7d5ff7b122c3d44998ab6a0e69549dcb04e (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
% 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>
%   if ( $show_location ) {
  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('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,
        'cust_main' => $opt{'cust_main'},
        %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 &>
%     if ( $iopt{'show_location'} ) {
    <& location.html, %iopt &>
%     }
    <& 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'};
my $show_location = $opt{'show_location'};

# 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 $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'),
  #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'),
  'maestro-status_test'       => $conf->exists('maestro-status_test'),
  'cust_pkg-large_pkg_size'   => scalar($conf->config('cust_pkg-large_pkg_size')),

  # for packages.html Change location link
  'show_location'             => $show_location,
);

</%init>