From 4b2ee72b32274f78c1c8a859b34e0d49dfb6cd4b Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 6 Dec 2005 22:25:56 +0000 Subject: [PATCH] make sure zip is required for canada, also use CURRVAL() function instead of pg_oid_status DBD attribute because Pg 8.1 doesn't have oids by default anymore --- FS/FS/Record.pm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index 2d9175813..21100045e 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -750,13 +750,15 @@ sub insert { warn "[debug]$me retreiving sequence from database\n" if $DEBUG; if ( driver_name eq 'Pg' ) { - my $oid = $sth->{'pg_oid_status'}; - my $i_sql = "SELECT $primary_key FROM $table WHERE oid = ?"; + #my $oid = $sth->{'pg_oid_status'}; + #my $i_sql = "SELECT $primary_key FROM $table WHERE oid = ?"; + my $i_sql = "SELECT currval('${table}_${primary_key}_seq')"; my $i_sth = dbh->prepare($i_sql) or do { dbh->rollback if $FS::UID::AutoCommit; return dbh->errstr; }; - $i_sth->execute($oid) or do { + #$i_sth->execute($oid) or do { + $i_sth->execute() or do { dbh->rollback if $FS::UID::AutoCommit; return $i_sth->errstr; }; @@ -1471,6 +1473,8 @@ Check/untaint zip codes. =cut +my @zip_reqd_countries = qw( CA ); #US implicit... + sub ut_zip { my( $self, $field, $country ) = @_; if ( $country eq 'US' ) { @@ -1479,7 +1483,10 @@ sub ut_zip { $self->getfield($field); $self->setfield($field,$1); } else { - if ( $self->getfield($field) =~ /^\s*$/ ) { + if ( $self->getfield($field) =~ /^\s*$/ + && ( !$country || ! grep { $_ eq $country } @zip_reqd_countries ) + ) + { $self->setfield($field,''); } else { $self->getfield($field) =~ /^\s*(\w[\w\-\s]{2,8}\w)\s*$/ -- 2.11.0