beginnings of one-screen new customer entry and some other miscellania
[freeside.git] / htdocs / edit / svc_acct_pop.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # $Id: svc_acct_pop.cgi,v 1.8 1999-02-23 08:09:23 ivan Exp $
4 #
5 # ivan@sisd.com 98-mar-8 
6 #
7 # Changes to allow page to work at a relative position in server
8 #       bmccane@maxbaud.net     98-apr-3
9 #
10 # lose background, FS::CGI ivan@sisd.com 98-sep-2
11 #
12 # $Log: svc_acct_pop.cgi,v $
13 # Revision 1.8  1999-02-23 08:09:23  ivan
14 # beginnings of one-screen new customer entry and some other miscellania
15 #
16 # Revision 1.7  1999/02/07 09:59:23  ivan
17 # more mod_perl fixes, and bugfixes Peter Wemm sent via email
18 #
19 # Revision 1.6  1999/01/19 05:13:44  ivan
20 # for mod_perl: no more top-level my() variables; use vars instead
21 # also the last s/create/new/;
22 #
23 # Revision 1.5  1999/01/18 09:41:33  ivan
24 # all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl
25 # (good idea anyway)
26 #
27 # Revision 1.4  1998/12/23 02:57:45  ivan
28 # $cgi->keywords instead of $cgi->query_string
29 #
30 # Revision 1.3  1998/12/17 06:17:10  ivan
31 # fix double // in relative URLs, s/CGI::Base/CGI/;
32 #
33 # Revision 1.2  1998/11/13 09:56:47  ivan
34 # change configuration file layout to support multiple distinct databases (with
35 # own set of config files, export, etc.)
36 #
37
38 use strict;
39 use vars qw( $cgi $svc_acct_pop $action $query $hashref $p1 );
40 use CGI;
41 use CGI::Carp qw(fatalsToBrowser);
42 use FS::UID qw(cgisuidsetup);
43 use FS::Record qw(qsearch qsearchs fields);
44 use FS::CGI qw(header menubar popurl);
45 use FS::svc_acct_pop;
46 $cgi = new CGI;
47 &cgisuidsetup($cgi);
48
49 if ( $cgi->param('error') ) {
50   $svc_acct_pop = new FS::svc_acct_pop ( {
51     map { $_, scalar($cgi->param($_)) } fields('svc_acct_pop')
52   } );
53 } elsif ( $cgi->keywords ) { #editing
54   my($query)=$cgi->keywords;
55   $query =~ /^(\d+)$/;
56   $svc_acct_pop=qsearchs('svc_acct_pop',{'popnum'=>$1});
57 } else { #adding
58   $svc_acct_pop = new FS::svc_acct_pop {};
59 }
60 $action = $svc_acct_pop->popnum ? 'Edit' : 'Add';
61 $hashref = $svc_acct_pop->hashref;
62
63 $p1 = popurl(1);
64 print $cgi->header( '-expires' => 'now' ), header("$action POP", menubar(
65   'Main Menu' => popurl(2),
66   'View all POPs' => popurl(2). "browse/svc_acct_pop.cgi",
67 ));
68
69 print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !, $cgi->param('error'),
70       "</FONT>"
71   if $cgi->param('error');
72
73 print qq!<FORM ACTION="${p1}process/svc_acct_pop.cgi" METHOD=POST>!;
74
75 #display
76
77 print qq!<INPUT TYPE="hidden" NAME="popnum" VALUE="$hashref->{popnum}">!,
78       "POP #", $hashref->{popnum} ? $hashref->{popnum} : "(NEW)";
79
80 print <<END;
81 <PRE>
82 City      <INPUT TYPE="text" NAME="city" SIZE=32 VALUE="$hashref->{city}">
83 State     <INPUT TYPE="text" NAME="state" SIZE=16 MAXLENGTH=16 VALUE="$hashref->{state}">
84 Area Code <INPUT TYPE="text" NAME="ac" SIZE=4 MAXLENGTH=3 VALUE="$hashref->{ac}">
85 Exchange  <INPUT TYPE="text" NAME="exch" SIZE=4 MAXLENGTH=3 VALUE="$hashref->{exch}">
86 </PRE>
87 END
88
89 print qq!<BR><INPUT TYPE="submit" VALUE="!,
90       $hashref->{popnum} ? "Apply changes" : "Add POP",
91       qq!">!;
92
93 print <<END;
94     </FORM>
95   </BODY>
96 </HTML>
97 END
98