allow null svc_broadband.ip_addr
[freeside.git] / httemplate / view / svc_broadband.cgi
1 <%include("/elements/header.html",'Broadband Service View', menubar(
2   ( ( $custnum )
3     ? ( "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum",
4       )                                                                       
5     : ( "Cancel this (unaudited) website" =>
6           "${p}misc/cancel-unaudited.cgi?$svcnum" )
7   )
8 ))
9 %>
10
11 <A HREF="<%${p}%>edit/svc_broadband.cgi?<%$svcnum%>">Edit this information</A>
12 <BR>
13 <%ntable("#cccccc")%>
14   <TR>
15     <TD>
16       <%ntable("#cccccc",2)%>
17         <TR>
18           <TD ALIGN="right">Service number</TD>
19           <TD BGCOLOR="#ffffff"><%$svcnum%></TD>
20         </TR>
21         <TR>
22           <TD ALIGN="right">Description</TD>
23           <TD BGCOLOR="#ffffff"><%$description%></TD>
24         </TR>
25
26 %       if ( $router ) {
27           <TR>
28             <TD ALIGN="right">Router</TD>
29             <TD BGCOLOR="#ffffff"><%$router->routernum%>: <%$router->routername%></TD>
30           </TR>
31 %       }
32
33         <TR>
34           <TD ALIGN="right">Download Speed</TD>
35           <TD BGCOLOR="#ffffff"><%$speed_down%></TD>
36         </TR>
37         <TR>
38           <TD ALIGN="right">Upload Speed</TD>
39           <TD BGCOLOR="#ffffff"><%$speed_up%></TD>
40         </TR>
41
42 %       if ( $ip_addr ) { 
43           <TR>
44             <TD ALIGN="right">IP Address</TD>
45             <TD BGCOLOR="#ffffff"><%$ip_addr%></TD>
46           </TR>
47           <TR>
48             <TD ALIGN="right">IP Netmask</TD>
49             <TD BGCOLOR="#ffffff"><%$addr_block->NetAddr->mask%></TD>
50           </TR>
51           <TR>
52             <TD ALIGN="right">IP Gateway</TD>
53             <TD BGCOLOR="#ffffff"><%$addr_block->ip_gateway%></TD>
54           </TR>
55 %       }
56
57         <TR>
58           <TD ALIGN="right">MAC Address</TD>
59           <TD BGCOLOR="#ffffff"><%$mac_addr%></TD>
60         </TR>
61         <TR>
62           <TD ALIGN="right">Latitude</TD>
63           <TD BGCOLOR="#ffffff"><%$latitude%></TD>
64         </TR>
65         <TR>
66           <TD ALIGN="right">Longitude</TD>
67           <TD BGCOLOR="#ffffff"><%$longitude%></TD>
68         </TR>
69         <TR>
70           <TD ALIGN="right">Altitude</TD>
71           <TD BGCOLOR="#ffffff"><%$altitude%></TD>
72         </TR>
73         <TR>
74           <TD ALIGN="right">VLAN Profile</TD>
75           <TD BGCOLOR="#ffffff"><%$vlan_profile%></TD>
76         </TR>
77         <TR>
78           <TD ALIGN="right">Authentication Key</TD>
79           <TD BGCOLOR="#ffffff"><%$auth_key%></TD>
80         </TR>
81         <TR COLSPAN="2"><TD></TD></TR>
82 %
83 %foreach (sort { $a cmp $b } $svc_broadband->virtual_fields) {
84 %  print $svc_broadband->pvf($_)->widget('HTML', 'view',
85 %                                        $svc_broadband->getfield($_)), "\n";
86 %}
87 %
88 %
89
90       </TABLE>
91     </TD>
92   </TR>
93 </TABLE>
94
95 <BR>
96 <%ntable("#cccccc", 2)%>
97 %
98 %  my $sb_router = qsearchs('router', { svcnum => $svcnum });
99 %  if ($sb_router) {
100 %  
101
102   <B>Router associated: <%$sb_router->routername%> </B>
103   <A HREF="<%popurl(2)%>edit/router.cgi?<%$sb_router->routernum%>">
104     (details)
105   </A>
106   <BR>
107 % my @sb_addr_block;
108 %     if (@sb_addr_block = $sb_router->addr_block) {
109 %     
110
111   <B>Address space </B>
112   <A HREF="<%popurl(2)%>browse/addr_block.cgi">
113     (edit)
114   </A>
115   <BR>
116 %   print ntable("#cccccc", 1);
117 %       foreach (@sb_addr_block) { 
118
119     <TR>
120       <TD><%$_->ip_gateway%>/<%$_->ip_netmask%></TD>
121     </TR>
122 % } 
123
124   </TABLE>
125 % } else { 
126
127   <B>No address space allocated.</B>
128 % } 
129
130   <BR>
131 %
132 %  } else {
133 %
134
135
136 <FORM METHOD="GET" ACTION="<%popurl(2)%>edit/router.cgi">
137   <INPUT TYPE="hidden" NAME="svcnum" VALUE="<%$svcnum%>">
138 Add router named 
139   <INPUT TYPE="text" NAME="routername" SIZE="32" VALUE="Broadband router (<%$svcnum%>)">
140   <INPUT TYPE="submit" VALUE="Add router">
141 </FORM>
142 %
143 %}
144 %
145
146
147 <BR>
148 <%joblisting({'svcnum'=>$svcnum}, 1)%>
149
150 <% include('/elements/footer.html') %>
151 <%init>
152
153 die "access denied"
154   unless $FS::CurrentUser::CurrentUser->access_right('View customer services');
155
156 my($query) = $cgi->keywords;
157 $query =~ /^(\d+)$/;
158 my $svcnum = $1;
159 my $svc_broadband = qsearchs({
160   'select'    => 'svc_broadband.*',
161   'table'     => 'svc_broadband',
162   'addl_from' => ' LEFT JOIN cust_svc  USING ( svcnum  ) '.
163                  ' LEFT JOIN cust_pkg  USING ( pkgnum  ) '.
164                  ' LEFT JOIN cust_main USING ( custnum ) ',
165   'hashref'   => { 'svcnum' => $svcnum },
166   'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
167 }) or die "svc_broadband: Unknown svcnum $svcnum";
168
169 #false laziness w/all svc_*.cgi
170 my $cust_svc = qsearchs( 'cust_svc', { 'svcnum' => $svcnum } );
171 my $pkgnum = $cust_svc->getfield('pkgnum');
172 my($cust_pkg, $custnum, $display_custnum);
173 if ($pkgnum) {
174   $cust_pkg = qsearchs( 'cust_pkg', { 'pkgnum' => $pkgnum } );
175   $custnum = $cust_pkg->custnum;
176   $display_custnum = $cust_pkg->cust_main->display_custnum;
177 } else {
178   $cust_pkg = '';
179   $custnum = '';
180 }
181 #eofalse
182
183 my $addr_block = $svc_broadband->addr_block;
184 my $router = $addr_block->router if $addr_block;
185
186 #if (not $router) { die "Could not lookup router for svc_broadband (svcnum $svcnum)" };
187
188 my (
189      $speed_down,
190      $speed_up,
191      $ip_addr,
192      $mac_addr,
193      $latitude,
194      $longitude,
195      $altitude,
196      $vlan_profile,
197      $auth_key,
198      $description,
199    ) = (
200      $svc_broadband->getfield('speed_down'),
201      $svc_broadband->getfield('speed_up'),
202      $svc_broadband->getfield('ip_addr'),
203      $svc_broadband->mac_addr,
204      $svc_broadband->latitude,
205      $svc_broadband->longitude,
206      $svc_broadband->altitude,
207      $svc_broadband->vlan_profile,
208      $svc_broadband->auth_key,
209      $svc_broadband->description,
210    );
211
212 </%init>