X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=htdocs%2Fedit%2Fagent.cgi;h=5b42095b383c7fa77aac1800865f75efaec4d57b;hb=4ad9c02763c02067fe53cd994b2a75468f280bf0;hp=44c1676b2319f1ecd9cb9ee22baa6ee29b78383b;hpb=b6869885e52ea0e18009350bf59d4eca8aafb0eb;p=freeside.git diff --git a/htdocs/edit/agent.cgi b/htdocs/edit/agent.cgi index 44c1676b2..5b42095b3 100755 --- a/htdocs/edit/agent.cgi +++ b/htdocs/edit/agent.cgi @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: agent.cgi,v 1.3 1998-12-17 06:16:57 ivan Exp $ +# $Id: agent.cgi,v 1.7 1999-04-07 11:27:50 ivan Exp $ # # ivan@sisd.com 97-dec-12 # @@ -11,7 +11,21 @@ # use FS::CGI, added inline documentation ivan@sisd.com 98-jul-12 # # $Log: agent.cgi,v $ -# Revision 1.3 1998-12-17 06:16:57 ivan +# Revision 1.7 1999-04-07 11:27:50 ivan +# avoid perl's silly arguement not numeric error +# +# Revision 1.6 1999/01/25 12:09:50 ivan +# yet more mod_perl stuff +# +# Revision 1.5 1999/01/19 05:13:31 ivan +# for mod_perl: no more top-level my() variables; use vars instead +# also the last s/create/new/; +# +# Revision 1.4 1999/01/18 09:41:21 ivan +# all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl +# (good idea anyway) +# +# Revision 1.3 1998/12/17 06:16:57 ivan # fix double // in relative URLs, s/CGI::Base/CGI/; # # Revision 1.2 1998/11/23 07:52:08 ivan @@ -19,37 +33,46 @@ # use strict; +use vars qw ( $cgi $agent $action $hashref $p $agent_type ); use CGI; use CGI::Carp qw(fatalsToBrowser); use FS::UID qw(cgisuidsetup); use FS::CGI qw(header menubar popurl); -use FS::Record qw(qsearch qsearchs); +use FS::Record qw(qsearch qsearchs fields); use FS::agent; use FS::agent_type; -my($cgi) = new CGI; +$cgi = new CGI; &cgisuidsetup($cgi); -my($agent,$action); -my($query) = $cgi->keywords; -if ( $query =~ /^(\d+)$/ ) { #editing - $agent=qsearchs('agent',{'agentnum'=>$1}); - $action='Edit'; +if ( $cgi->param('error') ) { + $agent = new FS::agent ( { + map { $_, scalar($cgi->param($_)) } fields('agent') + } ); +} elsif ( $cgi->keywords ) { + my($query) = $cgi->keywords; + $query =~ /^(\d+)$/; + $agent = qsearchs( 'agent', { 'agentnum' => $1 } ); } else { #adding - $agent=create FS::agent {}; - $action='Add'; + $agent = new FS::agent {}; } -my($hashref)=$agent->hashref; +$action = $agent->agentnum ? 'Edit' : 'Add'; +$hashref = $agent->hashref; -my $p = popurl(2); +$p = popurl(2); -print $cgi->header, header("$action Agent", menubar( +print $cgi->header( '-expires' => 'now' ), header("$action Agent", menubar( 'Main Menu' => $p, 'View all agents' => $p. 'browse/agent.cgi', -)), '
'; +)); + +print qq!Error: !, $cgi->param('error'), + "" + if $cgi->param('error'); -print qq!!, +print '', + qq!!, "Agent #", $hashref->{agentnum} ? $hashref->{agentnum} : "(NEW)"; print < END -my($agent_type); foreach $agent_type (qsearch('agent_type',{})) { - print "{typenum} == $agent_type->getfield('typenum'); + if $hashref->{typenum} && ( $hashref->{typenum} == $agent_type->typenum ); print ">", $agent_type->getfield('typenum'), ": ", $agent_type->getfield('atype'),"\n"; }