summaryrefslogtreecommitdiff
path: root/httemplate/view
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/view')
-rw-r--r--httemplate/view/cust_main/packages/services.html83
-rw-r--r--httemplate/view/elements/svc_Common.html5
-rw-r--r--httemplate/view/elements/svc_edit_link.html24
-rwxr-xr-xhttemplate/view/svc_acct.cgi6
-rw-r--r--httemplate/view/svc_broadband.cgi2
-rw-r--r--httemplate/view/svc_dish.cgi16
-rw-r--r--httemplate/view/svc_hardware.cgi24
-rw-r--r--httemplate/view/svc_phone.cgi2
8 files changed, 88 insertions, 74 deletions
diff --git a/httemplate/view/cust_main/packages/services.html b/httemplate/view/cust_main/packages/services.html
index 512efccc4..1e636ad4e 100644
--- a/httemplate/view/cust_main/packages/services.html
+++ b/httemplate/view/cust_main/packages/services.html
@@ -10,7 +10,6 @@ function clearhint_search_cust_svc(obj, str) {
}
</SCRIPT>
-% #foreach my $svcpart (sort {$a->{svcpart} <=> $b->{svcpart}} @{$pkg->{svcparts}}) {
% foreach my $part_svc ( $cust_pkg->part_svc ) {
% if ( $opt{'cust_pkg-large_pkg_size'} > 0 and
@@ -36,66 +35,26 @@ function clearhint_search_cust_svc(obj, str) {
</TD>
</TR>
% }
-% else {
+% else { # don't summarize
% foreach my $cust_svc ( @{ $part_svc->cust_pkg_svc } ) {
-
- <TR>
- <TD ALIGN="right" VALIGN="top"><% FS::UI::Web::svc_link($m, $part_svc, $cust_svc) %></TD>
- <TD STYLE="padding-bottom:0px"><B><% FS::UI::Web::svc_label_link($m, $part_svc, $cust_svc) %></B></TD>
- <TD><% FS::UI::Web::svc_export_links($m, $part_svc, $cust_svc) %></TD>
- </TR>
-
- <TR>
- <TD ALIGN="right" COLSPAN="3" VALIGN="top" STYLE="padding-bottom:1px;padding-top:0px"><FONT SIZE="-2" COLOR="#FFD000">
-
- <% $cust_svc->overlimit ? "Overlimit: ". time2str('%b %o %Y' . ($opt{'cust_pkg-display_times'} ? ' %l:%M %P' : ''), $cust_svc->overlimit) : '' %>
- </FONT></TD>
- </TR>
-
- <TR>
- <TD ALIGN="right" VALIGN="top" STYLE="padding-bottom:5px;padding-top:0px"><FONT SIZE="-2">
-
-% if ( $curuser->access_right('Recharge customer service')
-% && $part_svc->svcdb eq 'svc_acct'
-% && ( $cust_svc->svc_x->seconds ne ''
-% || $cust_svc->svc_x->upbytes ne ''
-% || $cust_svc->svc_x->downbytes ne ''
-% || $cust_svc->svc_x->totalbytes ne ''
-% )
-% ) {
- (&nbsp;<%svc_recharge_link($cust_svc)%>&nbsp;)
-% }
- </FONT></TD>
-
- <TD ALIGN="right" VALIGN="top" STYLE="padding-bottom:5px;padding-top:0px">
-
-% my $ip_addr = $cust_svc->svc_x->ip_addr;
-
-% if ( $part_svc->svcdb eq 'svc_broadband' ) {
- <FONT SIZE="-1" STYLE="float:left">(&nbsp;<% include('/elements/popup_link-ping.html', 'ip'=> $ip_addr ) %>&nbsp;)</FONT>
-
-% }
-
-% my $manage_link = $opt{'svc_broadband-manage_link'};
-% if ( $manage_link && $part_svc->svcdb eq 'svc_broadband' ) {
-% my $svc_manage_link = eval(qq("$manage_link"));
- <FONT SIZE="-1" STYLE="float:left">(&nbsp;<A HREF="<% $svc_manage_link %>">Manage Device</A>&nbsp;)</FONT>
-
-% }
-
-% if ( $curuser->access_right('Unprovision customer service') ) {
- <FONT SIZE="-2">(&nbsp;<%svc_unprovision_link($cust_svc)%>&nbsp;)</FONT>
-% }
-
-% if ( $part_svc->svcdb eq 'svc_pbx' && $opt{'maestro-status_test'} ){
- <FONT SIZE="-2">(&nbsp;<A HREF="<% $p %>misc/maestro-customer_status-test.html?<% $cust_pkg->custnum.'+'.$cust_svc->svcnum %>">Test maestro status</A>&nbsp;)</FONT>
-% }
-
- </TD>
- </TR>
+% if ( $cust_pkg->getfield('cancel') > 0 ) {
+ <% include('/elements/tr-cust_svc_cancel.html',
+ %opt,
+ 'part_svc' => $part_svc,
+ 'cust_svc' => $cust_svc,
+ 'cust_pkg' => $cust_pkg,
+ ) %>
+% }
+% else {
+ <% include('/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
@@ -160,12 +119,6 @@ sub svc_provision_link {
$link;
}
-sub svc_unprovision_link {
- my $cust_svc = shift or return '';
- qq!<A HREF="javascript:areyousure('${p}misc/unprovision.cgi?!. $cust_svc->svcnum.
- qq!', 'Permanently unprovision and delete this service?')">Unprovision</A>!;
-}
-
my %hints = (
svc_acct => '(user or email)',
svc_domain => '(domain)',
diff --git a/httemplate/view/elements/svc_Common.html b/httemplate/view/elements/svc_Common.html
index de49b50d2..7a7539da2 100644
--- a/httemplate/view/elements/svc_Common.html
+++ b/httemplate/view/elements/svc_Common.html
@@ -51,10 +51,7 @@ function areyousure(href) {
Service #<B><% $svcnum %></B>
% my $url = $opt{'edit_url'} || $p. 'edit/'. $opt{'table'}. '.cgi?';
-| <A HREF="<%$url%><%$svcnum%>">Edit this <% $label %></A>
-
-| <A HREF="javascript:areyousure('<%$p.'misc/unprovision.cgi?'.$svcnum%>')">
-Unprovision this Service</A>
+| <% include('/view/elements/svc_edit_link.html', 'svc' => $svc_x) %>
<BR>
<% ntable("#cccccc") %><TR><TD><% ntable("#cccccc",2) %>
diff --git a/httemplate/view/elements/svc_edit_link.html b/httemplate/view/elements/svc_edit_link.html
new file mode 100644
index 000000000..a85d38077
--- /dev/null
+++ b/httemplate/view/elements/svc_edit_link.html
@@ -0,0 +1,24 @@
+% if ( $cancel_date ) {
+<I>Canceled <% time2str('%b %o %Y', $cancel_date) %></I>
+% } else {
+<SCRIPT>
+function areyousure_delete() {
+ if (confirm("Permanently delete this service?") == true)
+ window.location.href = '<% $cancel_url %>';
+}
+</SCRIPT>
+<A HREF="<% $edit_url %>">Edit this <% $label %></A> |
+<A HREF="javascript:areyousure_delete()">
+Unprovision this Service</A>
+% }
+<%init>
+my %opt = @_;
+my $svc_x = $opt{'svc'} or die "'svc' required";
+my $svcdb = $opt{'table'} || $svc_x->table;
+my $edit_url = $opt{'edit_url'} ||
+ $p . 'edit/' . $svcdb . '.cgi?' . $svc_x->svcnum;
+my $cancel_url = $p . 'misc/unprovision.cgi?' . $svc_x->svcnum;
+my $cust_svc = $svc_x->cust_svc; # always exists
+my $cancel_date = $cust_svc->pkg_cancel_date;
+my ($label) = $cust_svc->label;
+</%init>
diff --git a/httemplate/view/svc_acct.cgi b/httemplate/view/svc_acct.cgi
index 4e82569fc..291298d1e 100755
--- a/httemplate/view/svc_acct.cgi
+++ b/httemplate/view/svc_acct.cgi
@@ -38,8 +38,8 @@
%>
Service #<B><% $svcnum %></B>
-| <A HREF="<%$p%>edit/svc_acct.cgi?<%$svcnum%>">Edit this service</A>
-
+|
+<% include('/view/elements/svc_edit_link.html', 'svc' => $svc_acct) %>
<% include( 'svc_acct/change_svc.html',
'part_svc' => \@part_svc,
%gopt,
@@ -105,7 +105,7 @@ my $svc_acct = qsearchs({
die "Unknown svcnum" unless $svc_acct;
#false laziness w/all svc_*.cgi
-my $cust_svc = qsearchs( 'cust_svc' , { 'svcnum' => $svcnum } );
+my $cust_svc = $svc_acct->cust_svc;
my $pkgnum = $cust_svc->getfield('pkgnum');
my($cust_pkg, $custnum);
if ($pkgnum) {
diff --git a/httemplate/view/svc_broadband.cgi b/httemplate/view/svc_broadband.cgi
index 12e5f0f5d..2c44293ec 100644
--- a/httemplate/view/svc_broadband.cgi
+++ b/httemplate/view/svc_broadband.cgi
@@ -10,7 +10,7 @@
<% include('/elements/init_overlib.html') %>
-<A HREF="<%$p%>edit/svc_broadband.cgi?<%$svcnum%>">Edit this information</A>
+<% include('/view/elements/svc_edit_link.html', $svc_acct) %>
<BR>
<%ntable("#cccccc")%>
<TR>
diff --git a/httemplate/view/svc_dish.cgi b/httemplate/view/svc_dish.cgi
new file mode 100644
index 000000000..d4aa8bfdf
--- /dev/null
+++ b/httemplate/view/svc_dish.cgi
@@ -0,0 +1,16 @@
+<% include('elements/svc_Common.html',
+ 'table' => 'svc_dish',
+ 'labels' => \%labels,
+ 'fields' => \@fields,
+ )
+%>
+<%init>
+
+my $fields = FS::svc_dish->table_info->{'fields'};
+my %labels = map { $_ => ( ref($fields->{$_})
+ ? $fields->{$_}{'label'}
+ : $fields->{$_}
+ );
+ } keys %$fields;
+my @fields = qw( acctnum note );
+</%init>
diff --git a/httemplate/view/svc_hardware.cgi b/httemplate/view/svc_hardware.cgi
new file mode 100644
index 000000000..9cea341d7
--- /dev/null
+++ b/httemplate/view/svc_hardware.cgi
@@ -0,0 +1,24 @@
+<% include('elements/svc_Common.html',
+ 'table' => 'svc_hardware',
+ 'labels' => \%labels,
+ 'fields' => \@fields,
+ )
+%>
+<%init>
+
+my $fields = FS::svc_hardware->table_info->{'fields'};
+my %labels = map { $_ => ( ref($fields->{$_})
+ ? $fields->{$_}{'label'}
+ : $fields->{$_}
+ );
+ } keys %$fields;
+my $model = { field => 'typenum',
+ type => 'text',
+ value => sub { $_[0]->hardware_type->model }
+ };
+my $status = { field => 'statusnum',
+ type => 'text',
+ value => sub { $_[0]->status_label }
+ };
+my @fields = ($model, qw( serial hw_addr ip_addr ), $status, 'note' );
+</%init>
diff --git a/httemplate/view/svc_phone.cgi b/httemplate/view/svc_phone.cgi
index e4dc335ca..4a850c21c 100644
--- a/httemplate/view/svc_phone.cgi
+++ b/httemplate/view/svc_phone.cgi
@@ -137,7 +137,7 @@ my $html_foot = sub {
#src & charged party as per voip_cdr.pm
my $search;
my $cust_pkg = $svc_phone->cust_svc->cust_pkg;
- if ( $cust_pkg && $cust_pkg->part_pkg->option('disable_src') ) {
+ if ( $cust_pkg && $cust_pkg->part_pkg->option('disable_src',1) ) {
$search = "charged_party=$number";
} else {
$search = "charged_party_or_src=$number";