summaryrefslogtreecommitdiff
path: root/httemplate/view/cust_main/packages/services.html
blob: 1e636ad4ef36c3afdba91f7602b739b28b9b35d0 (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
% ###
% # 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 ) {

%    if ( $opt{'cust_pkg-large_pkg_size'} > 0 and
%         $opt{'cust_pkg-large_pkg_size'} <= $cust_pkg->num_svcs ) {
%      # summarize
      <TR>
        <TD ALIGN="center" 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>&nbsp;
        <A HREF="<% $href %>"><B>(view all <% $cust_pkg->num_svcs %>)</B></A>
%     my $hint = $hints{$part_svc->svcdb};
%     if ( $hint ) {
        <BR>
        <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>
%     } #$hint
        </TD>
      </TR>
%    }
%    else { # don't summarize
%      foreach my $cust_svc ( @{ $part_svc->cust_pkg_svc } ) {
%        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
%      ) {

      <TR>
        <TD COLSPAN=3 ALIGN="center" STYLE="padding-bottom:4px;padding-top:0px">
          <B><% svc_provision_link($cust_pkg, $part_svc, \%opt, $curuser) %></B>
        </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+/&nbsp;/g;
  my $num_avail = $part_svc->num_avail;
  my $pkgnum_svcpart = "pkgnum=". $cust_pkg->pkgnum. ';'.
                       "svcpart=". $part_svc->svcpart;
  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?$pkgnum_svcpart";
  } else {
    $url = svc_url(
                    'm'        => $m,
                    'action'   => 'edit',
                    'part_svc' => $part_svc, 
                    'query'    => $pkgnum_svcpart,
                  );
    #$url = "${p}edit/$svcpart->{svcdb}.cgi?$pkgnum_svcpart";
  }

  my $link = qq!<A CLASS="provision" HREF="$url">!.
             "Provision&nbsp;$svc_nbsp&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?!.
             qq!$pkgnum_svcpart">!.
            "Link&nbsp;to&nbsp;legacy&nbsp;$svc_nbsp&nbsp;($num_avail)</A>";
  }
  $link;
}

my %hints = (
svc_acct      => '(user or email)',
svc_domain    => '(domain)',
svc_broadband => '(ip or mac)',
svc_forward   => '(email)',
svc_phone     => '(phone)',
svc_pbx       => '(phone)',
);

</%init>