start adding package locations, RT#4499
[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' . ($conf->exists('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"><FONT SIZE="-2">
43
44 %         if ( $curuser->access_right('Unprovision customer service') ) { 
45             (&nbsp;<%svc_unprovision_link($cust_svc)%>&nbsp;)
46 %         } 
47           </FONT></TD>
48         </TR>
49 %   } 
50
51 %   if (    ! $cust_pkg->get('cancel')
52 %        && $curuser->access_right('Provision customer service') 
53 %        && $part_svc->num_avail
54 %      ) {
55
56       <TR>
57         <TD COLSPAN=3 ALIGN="center" STYLE="padding-bottom:4px;padding-top:0px">
58           <B><% svc_provision_link($cust_pkg, $part_svc, $conf, $curuser) %></B>
59         </TD>
60       </TR>
61
62 %   } 
63
64 % } 
65
66     </TABLE>
67   </TD>
68
69 <%init>
70
71 my %opt = @_;
72
73 my $bgcolor  = $opt{'bgcolor'};
74 my $cust_pkg = $opt{'cust_pkg'};
75 my $part_pkg = $opt{'part_pkg'};
76 my $curuser  = $FS::CurrentUser::CurrentUser;
77 my $conf     = new FS::Conf;
78
79 sub svc_provision_link {
80   my ($cust_pkg, $part_svc, $conf, $curuser) = @_;
81   ( my $svc_nbsp = $part_svc->svc ) =~ s/\s+/&nbsp;/g;
82   my $num_avail = $part_svc->num_avail;
83   my $pkgnum_svcpart = "pkgnum=". $cust_pkg->pkgnum. ';'.
84                        "svcpart=". $part_svc->svcpart;
85   my $url;
86   if ( $part_svc->svcdb eq 'svc_external' #could be generalized
87        && $conf->exists('svc_external-skip_manual')
88   ) {
89     $url = "${p}edit/process/". $part_svc->svcdb. ".cgi?$pkgnum_svcpart";
90   } else {
91     $url = svc_url(
92                     'm'        => $m,
93                     'action'   => 'edit',
94                     'part_svc' => $part_svc, 
95                     'query'    => $pkgnum_svcpart,
96                   );
97     #$url = "${p}edit/$svcpart->{svcdb}.cgi?$pkgnum_svcpart";
98   }
99
100   my $link = qq!<A CLASS="provision" HREF="$url">!.
101              "Provision&nbsp;$svc_nbsp&nbsp;($num_avail)</A>";
102   if ( $conf->exists('legacy_link')
103        && $curuser->access_right('View/link unlinked services')
104      )
105   {
106     $link .= '<BR>'.
107              qq!<A CLASS="provision" HREF="${p}misc/link.cgi?!.
108              qq!$pkgnum_svcpart">!.
109             "Link&nbsp;to&nbsp;legacy&nbsp;$svc_nbsp&nbsp;($num_avail)</A>";
110   }
111   $link;
112 }
113
114 sub svc_unprovision_link {
115   my $cust_svc = shift or return '';
116   qq!<A HREF="javascript:areyousure('${p}misc/unprovision.cgi?!. $cust_svc->svcnum.
117   qq!', 'Permanently unprovision and delete this service?')">Unprovision</A>!;
118 }
119
120 </%init>