+ <TR>
+ <TD ALIGN="right">Access number</TD>
+ <TD BGCOLOR="#ffffff"><%= $svc_acct_pop->text %></TD>
+ </TR>
+<% } %>
+
+<% if ($svc_acct->uid ne '') { %>
+ <TR>
+ <TD ALIGN="right">UID</TD>
+ <TD BGCOLOR="#ffffff"><%= $svc_acct->uid %></TD>
+ </TR>
+<% } %>
+
+<% if ($svc_acct->gid ne '') { %>
+ <TR>
+ <TD ALIGN="right">GID</TD>
+ <TD BGCOLOR="#ffffff"><%= $svc_acct->gid %></TD>
+ </TR>
+<% } %>
+
+<% if ($svc_acct->finger ne '') { %>
+ <TR>
+ <TD ALIGN="right">GECOS</TD>
+ <TD BGCOLOR="#ffffff"><%= $svc_acct->finger %></TD>
+ </TR>
+<% } %>
+
+<% if ($svc_acct->dir ne '') { %>
+ <TR>
+ <TD ALIGN="right">Home directory</TD>
+ <TD BGCOLOR="#ffffff"><%= $svc_acct->dir %></TD>
+ </TR>
+<% } %>
+
+<% if ($svc_acct->shell ne '') { %>
+ <TR>
+ <TD ALIGN="right">Shell</TD>
+ <TD BGCOLOR="#ffffff"><%= $svc_acct->shell %></TD>
+ </TR>
+<% } %>
+
+<% if ($svc_acct->quota ne '') { %>
+ <TR>
+ <TD ALIGN="right">Quota</TD>
+ <TD BGCOLOR="#ffffff"><%= $svc_acct->quota %></TD>
+ </TR>
+<% } %>
+
+<% if ($svc_acct->slipip) { %>
+ <TR>
+ <TD ALIGN="right">IP address</TD>
+ <TD BGCOLOR="#ffffff">
+ <%= ( $svc_acct->slipip eq "0.0.0.0" || $svc_acct->slipip eq '0e0' )
+ ? "<I>(Dynamic)</I>"
+ : $svc_acct->slipip
+ %>
+ </TD>
+ </TR>
+<% } %>
+
+<% foreach my $attribute ( grep /^radius_/, $svc_acct->fields ) {
+ $attribute =~ /^radius_(.*)$/;
+ my $pattribute = $FS::raddb::attrib{$1};
+%>
+ <TR>
+ <TD ALIGN="right">Radius (reply) <%= $pattribute %></TD>
+ <TD BGCOLOR="#ffffff"><%= $svc_acct->getfield($attribute) %></TD>
+ </TR>
+<% } %>
+
+<% foreach my $attribute ( grep /^rc_/, $svc_acct->fields ) {
+ $attribute =~ /^rc_(.*)$/;
+ my $pattribute = $FS::raddb::attrib{$1};
+%>
+ <TR>
+ <TD ALIGN="right">Radius (check) <%= $pattribute %></TD>
+ <TD BGCOLOR="#ffffff"><%= $svc_acct->getfield($attribute) %></TD>
+ </TR>
+<% } %>
+
+<TR>
+ <TD ALIGN="right">RADIUS groups</TD>
+ <TD BGCOLOR="#ffffff"><%= join('<BR>', $svc_acct->radius_groups) %></TD>
+</TR>
+
+<% if ( $svc_acct->seconds =~ /^\d+$/ ) { %>
+ <TR>
+ <TD ALIGN="right">Prepaid time</TD>
+ <TD BGCOLOR="#ffffff"><%= duration_exact($svc_acct->seconds) %></TD>
+ </TR>
+<% } %>
+
+<%
+# Can this be abstracted further? Maybe a library function like
+# widget('HTML', 'view', $svc_acct) ? It would definitely make UI
+# style management easier.
+%>
+
+<% foreach (sort { $a cmp $b } $svc_acct->virtual_fields) { %>
+ <%= $svc_acct->pvf($_)->widget('HTML', 'view', $svc_acct->getfield($_)) %>
+<% } %>
+
+</TABLE></TD></TR></TABLE>
+</FORM>
+<BR><BR>
+
+<%= join("<BR>", $conf->config('svc_acct-notes') ) %>
+<BR><BR>
+
+<%= joblisting({'svcnum'=>$svcnum}, 1) %>
+
+</BODY>
+</HTML>