<%
-#
-# $Id: svc_acct.cgi,v 1.2 2001-08-19 15:53:36 jeff Exp $
-#
-# Usage: svc_acct.cgi svcnum
-# http://server.name/path/svc_acct.cgi?svcnum
-#
-# ivan@voicenet.com 96-dec-17
-#
-# added link to send info
-# ivan@voicenet.com 97-jan-4
-#
-# added navigation bar and ability to change username, etc.
-# ivan@voicenet.com 97-jan-30
-#
-# activate 800 service
-# ivan@voicenet.com 97-feb-10
-#
-# modified navbar code (should be a subroutine?), added link to cancel account (only if not audited)
-# ivan@voicenet.com 97-apr-16
-#
-# INCOMPLETELY rewrote some things for new API
-# ivan@voicenet.com 97-jul-29
-#
-# FS::Search became FS::Record, use strict, etc. ivan@sisd.com 98-mar-9
-#
-# Changes to allow page to work at a relative position in server
-# Changed 'password' to '_password' because Pg6.3 reserves the password word
-# bmccane@maxbaud.net 98-apr-3
-#
-# /var/spool/freeside/conf/domain ivan@sisd.com 98-jul-17
-#
-# displays arbitrary radius attributes ivan@sisd.com 98-aug-16
-#
-# $Log: svc_acct.cgi,v $
-# Revision 1.2 2001-08-19 15:53:36 jeff
-# added user interface for svc_forward and vpopmail support
-#
-# Revision 1.1 2001/07/30 07:36:04 ivan
-# templates!!!
-#
-# Revision 1.12 2001/01/31 07:21:00 ivan
-# fix tyops
-#
-# Revision 1.11 2000/12/03 20:25:20 ivan
-# session monitor updates
-#
-# Revision 1.10 1999/04/14 11:27:06 ivan
-# showpasswords config option to show passwords
-#
-# Revision 1.9 1999/04/08 12:00:19 ivan
-# aesthetic update
-#
-# Revision 1.8 1999/02/28 00:04:02 ivan
-# removed misleading comments
-#
-# Revision 1.7 1999/01/19 05:14:21 ivan
-# for mod_perl: no more top-level my() variables; use vars instead
-# also the last s/create/new/;
-#
-# Revision 1.6 1999/01/18 09:41:45 ivan
-# all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl
-# (good idea anyway)
-#
-# Revision 1.5 1999/01/18 09:22:36 ivan
-# changes to track email addresses for email invoicing
-#
-# Revision 1.4 1998/12/23 03:09:19 ivan
-# $cgi->keywords instead of $cgi->query_string
-#
-# Revision 1.3 1998/12/17 09:57:23 ivan
-# s/CGI::(Base|Request)/CGI.pm/;
-#
-# Revision 1.2 1998/12/16 05:24:29 ivan
-# use FS::Conf;
-#
+# <!-- $Id: svc_acct.cgi,v 1.5 2001-09-27 18:33:18 ivan Exp $ -->
use strict;
-use vars qw( $conf $cgi $svc_domain $query $svcnum $svc_acct $cust_svc $pkgnum
- $cust_pkg $custnum $part_svc $p $svc_acct_pop $password );
+use vars qw( $conf $cgi $domain $query $svcnum $svc_acct $cust_svc $pkgnum
+ $cust_pkg $custnum $part_svc $p $svc_acct_pop $password
+ $mydomain );
use CGI;
use CGI::Carp qw( fatalsToBrowser );
use FS::UID qw( cgisuidsetup );
use FS::cust_pkg;
use FS::part_svc;
use FS::svc_acct_pop;
+use FS::raddb;
$cgi = new CGI;
&cgisuidsetup($cgi);
$part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } );
die "Unknown svcpart" unless $part_svc;
-$svc_domain = qsearchs('svc_domain', { 'svcnum' => $svc_acct->domsvc } );
-die "Unknown domain" unless $svc_domain;
+if ( $svc_acct->domsvc ) {
+ $svc_domain = qsearchs('svc_domain', { 'svcnum' => $svc_acct->domsvc } );
+ die "Unknown domain" unless $svc_domain;
+ $domain = $svc_domain->domain;
+} else {
+ unless ( $mydomain = $conf->config('domain') ) {
+ die "No legacy domain config file and no svc_domain.svcnum record ".
+ "for svc_acct.domsvc: ". $cust_svc->domsvc;
+ }
+ $domain = $mydomain;
+}
$p = popurl(2);
print $cgi->header( '-expires' => 'now' ), header('Account View', menubar(
"<BR><BR>Username: <B>", $svc_acct->username, "</B>"
;
-print "<BR>Domain: <B>", $svc_domain->domain, "</B>";
+print "<BR>Domain: <B>", $domain, "</B>";
print "<BR>Password: ";
$password = $svc_acct->_password;
foreach $attribute ( grep /^radius_/, fields('svc_acct') ) {
#warn $attribute;
$attribute =~ /^radius_(.*)$/;
- my($pattribute) = ($1);
- $pattribute =~ s/_/-/g;
- print "<BR>Radius $pattribute: <B>". $svc_acct->getfield($attribute), "</B>";
+ my $pattribute = $FS::raddb::attrib{$1};
+ print "<BR>Radius (reply) $pattribute: <B>". $svc_acct->getfield($attribute), "</B>";
+ }
+ foreach $attribute ( grep /^rc_/, fields('svc_acct') ) {
+ #warn $attribute;
+ $attribute =~ /^rc_(.*)$/;
+ my $pattribute = $FS::raddb::attrib{$1};
+ print "<BR>Radius (check) $pattribute: <B>". $svc_acct->getfield($attribute), "</B>";
}
} else {
print "<BR><BR>(No SLIP/PPP account)";