37cd615ebb8bbcc2bd06b8a754fa7705778e90a4
[freeside.git] / httemplate / view / cust_main / packages / services.html
1 % ###
2 % # Services
3 % ###
4
5   <TD CLASS="inv" BGCOLOR="<% $bgcolor %>">
6     <TABLE CLASS="inv" BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%">
7
8 %  #foreach my $svcpart (sort {$a->{svcpart} <=> $b->{svcpart}} @{$pkg->{svcparts}}) {
9 %  foreach my $part_svc ( $cust_pkg->part_svc ) {
10
11 %    #foreach my $service (@{$svcpart->{services}}) {
12 %    foreach my $cust_svc ( @{ $part_svc->cust_pkg_svc } ) {
13
14       <TR>
15         <TD ALIGN="right" VALIGN="top"><% FS::UI::Web::svc_link($m, $part_svc, $cust_svc) %></TD>
16         <TD STYLE="padding-bottom:0px"><B><% FS::UI::Web::svc_label_link($m, $part_svc, $cust_svc) %></B></TD>
17         <TD><% FS::UI::Web::svc_export_links($m, $part_svc, $cust_svc) %></TD>
18       </TR>
19
20       <TR>
21         <TD ALIGN="right" COLSPAN="3" VALIGN="top" STYLE="padding-bottom:1px;padding-top:0px"><FONT SIZE="-2" COLOR="#FFD000">
22
23             <% $cust_svc->overlimit ? "Overlimit: ". time2str('%b %o %Y' . ($opt{'cust_pkg-display_times'} ? ' %l:%M %P' : ''), $cust_svc->overlimit) : '' %>
24           </FONT></TD>
25       </TR>
26
27       <TR>
28         <TD ALIGN="right" VALIGN="top" STYLE="padding-bottom:5px;padding-top:0px"><FONT SIZE="-2">
29
30 %         if ( $curuser->access_right('Recharge customer service')
31 %              && $part_svc->svcdb eq 'svc_acct'
32 %              && (    $cust_svc->svc_x->seconds    ne ''
33 %                   || $cust_svc->svc_x->upbytes    ne ''
34 %                   || $cust_svc->svc_x->downbytes  ne ''
35 %                   || $cust_svc->svc_x->totalbytes ne ''
36 %                 )
37 %         ) { 
38             (&nbsp;<%svc_recharge_link($cust_svc)%>&nbsp;)
39 %         }
40           </FONT></TD>
41
42           <TD ALIGN="right" VALIGN="top" STYLE="padding-bottom:5px;padding-top:0px">
43
44 %           my $manage_link = $opt{'svc_broadband-manage_link'};
45 %           if ( $manage_link && $part_svc->svcdb eq 'svc_broadband' ) {
46 %             my $ip_addr = $cust_svc->svc_x->ip_addr;
47 %             my $svc_manage_link = eval(qq("$manage_link"));
48               <FONT SIZE="-1" STYLE="float:left">(&nbsp;<A HREF="<% $svc_manage_link %>">Manage Device</A>&nbsp;)</FONT>
49
50 %           }
51
52
53 %           if ( $curuser->access_right('Unprovision customer service') ) { 
54               <FONT SIZE="-2">(&nbsp;<%svc_unprovision_link($cust_svc)%>&nbsp;)</FONT>
55 %           } 
56           </TD>
57         </TR>
58 %   } 
59
60 %   if (    ! $cust_pkg->get('cancel')
61 %        && $curuser->access_right('Provision customer service') 
62 %        && $part_svc->num_avail
63 %      ) {
64
65       <TR>
66         <TD COLSPAN=3 ALIGN="center" STYLE="padding-bottom:4px;padding-top:0px">
67           <B><% svc_provision_link($cust_pkg, $part_svc, \%opt, $curuser) %></B>
68         </TD>
69       </TR>
70
71 %   } 
72
73 % } 
74
75     </TABLE>
76   </TD>
77
78 <%init>
79
80 my %opt = @_;
81
82 my $bgcolor  = $opt{'bgcolor'};
83 my $cust_pkg = $opt{'cust_pkg'};
84 my $part_pkg = $opt{'part_pkg'};
85 my $curuser  = $FS::CurrentUser::CurrentUser;
86
87 my $conf = new FS::Conf;
88
89 sub svc_provision_link {
90   my ($cust_pkg, $part_svc, $opt, $curuser) = @_;
91   ( my $svc_nbsp = $part_svc->svc ) =~ s/\s+/&nbsp;/g;
92   my $num_avail = $part_svc->num_avail;
93   my $pkgnum_svcpart = "pkgnum=". $cust_pkg->pkgnum. ';'.
94                        "svcpart=". $part_svc->svcpart;
95   my $url;
96   if ( $part_svc->svcdb eq 'svc_external' #could be generalized
97        && $opt->{'svc_external-skip_manual'}
98   ) {
99     $url = "${p}edit/process/". $part_svc->svcdb. ".cgi?$pkgnum_svcpart";
100   } else {
101     $url = svc_url(
102                     'm'        => $m,
103                     'action'   => 'edit',
104                     'part_svc' => $part_svc, 
105                     'query'    => $pkgnum_svcpart,
106                   );
107     #$url = "${p}edit/$svcpart->{svcdb}.cgi?$pkgnum_svcpart";
108   }
109
110   my $link = qq!<A CLASS="provision" HREF="$url">!.
111              "Provision&nbsp;$svc_nbsp&nbsp;($num_avail)</A>";
112   if ( $opt->{'legacy_link'}
113        && $curuser->access_right('View/link unlinked services')
114      )
115   {
116     $link .= '<BR>'.
117              qq!<A CLASS="provision" HREF="${p}misc/link.cgi?!.
118              qq!$pkgnum_svcpart">!.
119             "Link&nbsp;to&nbsp;legacy&nbsp;$svc_nbsp&nbsp;($num_avail)</A>";
120   }
121   $link;
122 }
123
124 sub svc_unprovision_link {
125   my $cust_svc = shift or return '';
126   qq!<A HREF="javascript:areyousure('${p}misc/unprovision.cgi?!. $cust_svc->svcnum.
127   qq!', 'Permanently unprovision and delete this service?')">Unprovision</A>!;
128 }
129
130 </%init>