summaryrefslogtreecommitdiff
path: root/httemplate/view/cust_main/packages/services.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/view/cust_main/packages/services.html')
-rw-r--r--httemplate/view/cust_main/packages/services.html157
1 files changed, 157 insertions, 0 deletions
diff --git a/httemplate/view/cust_main/packages/services.html b/httemplate/view/cust_main/packages/services.html
new file mode 100644
index 000000000..5f458e635
--- /dev/null
+++ b/httemplate/view/cust_main/packages/services.html
@@ -0,0 +1,157 @@
+% ###
+% # Services
+% ###
+
+ <TD CLASS="inv" BGCOLOR="<% $bgcolor %>">
+ <TABLE CLASS="inv" BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%">
+ <SCRIPT TYPE="text/javascript">
+function clearhint_search_cust_svc(obj, str) {
+ if (obj.value == str) obj.value = '';
+}
+ </SCRIPT>
+
+% foreach my $part_svc ( $cust_pkg->part_svc(
+% 'summarize_size' => $opt{'cust_pkg-large_pkg_size'}
+% ) )
+% {
+
+% my $num_cust_svc = $cust_pkg->num_cust_svc( $part_svc->svcpart );
+
+% if ( $opt{'cust_pkg-large_pkg_size'} > 0 and
+% $opt{'cust_pkg-large_pkg_size'} <= $num_cust_svc ) { # summarize
+%
+ <TR>
+ <TD ALIGN="right" VALIGN="top">
+% my $href="${p}search/cust_pkg_svc.html?svcpart=".$part_svc->svcpart.
+% ";pkgnum=".$cust_pkg->pkgnum;
+ <A HREF="<% $href %>"><% $part_svc->svc %></A>
+ </TD>
+ <TD ALIGN="left" VALIGN="top">
+ <A HREF="<% $href %>"><B>(<% mt("view all [_1]", $num_cust_svc) |h %>)</B></A>
+ </TD>
+ </TR>
+% my $hint = $hints{$part_svc->svcdb};
+% if ( $hint ) {
+ <TR>
+ <TD></TD>
+ <TD ALIGN="left" VALIGN="top">
+ <FORM name="svcpart<%$part_svc->svcpart%>_search" STYLE="display:inline"
+ ACTION="<%$p%>search/cust_pkg_svc.html" METHOD="GET">
+ <INPUT TYPE="hidden" NAME="svcpart" VALUE="<%$part_svc->svcpart%>">
+ <INPUT TYPE="hidden" NAME="pkgnum" VALUE="<%$cust_pkg->pkgnum%>">
+ <INPUT TYPE="text" NAME="search_svc"
+ onfocus="clearhint_search_cust_svc(this, '<%$hint%>')" VALUE="<%$hint%>">
+ <INPUT TYPE="submit" VALUE="Search"></FORM>
+ </TD>
+ </TR>
+% } #$hint
+%
+% } else { # don't summarize
+%
+% foreach my $cust_svc ( @{ $part_svc->cust_pkg_svc } ) {
+% if ( $cust_pkg->getfield('cancel') > 0 ) {
+ <& /elements/tr-cust_svc_cancel.html,
+ %opt,
+ 'part_svc' => $part_svc,
+ 'cust_svc' => $cust_svc,
+ 'cust_pkg' => $cust_pkg,
+ &>
+% }
+% else {
+ <& /elements/tr-cust_svc.html,
+ %opt,
+ 'part_svc' => $part_svc,
+ 'cust_svc' => $cust_svc,
+ 'cust_pkg' => $cust_pkg,
+ &>
+% } #if cancel > 0
+% } #foreach $cust_svc
+% } #if summarizing
+% if ( ! $cust_pkg->get('cancel')
+% && $curuser->access_right('Provision customer service')
+% && $part_svc->num_avail
+% ) {
+
+ <TR>
+ <TD COLSPAN=3 ALIGN="center" STYLE="padding-bottom:4px;padding-top:0px">
+ <B><% svc_provision_link($cust_pkg, $part_svc, \%opt, $curuser) %></B>
+% if ( $curuser->access_right('Bulk provision customer service')
+% && $part_svc->svcdb eq 'svc_phone' ) {
+% if ( $part_svc->num_avail > 5 ) {
+% local $opt{'bulk'} = 1;
+ <BR><% svc_provision_link($cust_pkg, $part_svc, \%opt, $curuser) %>
+% }
+% #XXX if there's orders for this customer {
+ <BR><A HREF="<%$p%>browse/did_order.html?custnum=<%$cust_pkg->custnum%>"><% mt('Browse Received DID Inventory') |h %></A>
+% #}
+% }
+ </TD>
+ </TR>
+
+% }
+
+% }
+
+ </TABLE>
+ </TD>
+
+<%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 $conf = new FS::Conf;
+
+sub svc_provision_link {
+ my ($cust_pkg, $part_svc, $opt, $curuser) = @_;
+
+ ( my $svc_nbsp = $part_svc->svc ) =~ s/\s+/ /g;
+ my $num_avail = $part_svc->num_avail;
+
+ my $query = "pkgnum=". $cust_pkg->pkgnum. ';'.
+ "svcpart=". $part_svc->svcpart;
+ $query .= ';bulk=1' if $opt->{bulk};
+
+ my $url;
+ if ( $part_svc->svcdb eq 'svc_external' #could be generalized
+ && $opt->{'svc_external-skip_manual'}
+ ) {
+ $url = "${p}edit/process/". $part_svc->svcdb. ".cgi?$query";
+ } else {
+ $url = svc_url(
+ 'm' => $m,
+ 'action' => 'edit',
+ 'part_svc' => $part_svc,
+ 'query' => $query,
+ );
+ }
+
+ my $action = $opt->{bulk} ? 'Bulk provision' : 'Provision';
+
+ my $link = qq!<A CLASS="provision" HREF="$url">!.
+ emt("$action [_1] ([_2])",$svc_nbsp,$num_avail).'</A>';
+ if ( $opt->{'legacy_link'}
+ && $curuser->access_right('View/link unlinked services')
+ )
+ {
+ $link .= '<BR>'.
+ qq!<A CLASS="provision" HREF="${p}misc/link.cgi?$query">!.
+ emt("Link to legacy [_1] ([_2])",$svc_nbsp,$num_avail).'</A>';
+ }
+ $link;
+}
+
+my %hints = (
+svc_acct => emt('(user or email)'),
+svc_domain => emt('(domain)'),
+svc_broadband => emt('(ip or mac)'),
+svc_forward => emt('(email)'),
+svc_phone => emt('(phone)'),
+svc_pbx => emt('(phone)'),
+);
+
+</%init>