X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=site_perl%2FRecord.pm;h=aa8d75b3d2d1ba9ab9a6dc252822dd2797d6d1dc;hb=ba645a8c36119b3a0448b1ae1eeaecbaef13b244;hp=0f098b471e65e894ea93fa1d784245685cb138d7;hpb=1f2d8690193476319d61b20b78461eb1a3ff106e;p=freeside.git diff --git a/site_perl/Record.pm b/site_perl/Record.pm index 0f098b471..aa8d75b3d 100644 --- a/site_perl/Record.pm +++ b/site_perl/Record.pm @@ -166,7 +166,7 @@ sub qsearch { ? " WHERE ". join(' AND ', map { $record->{$_} eq '' - ? "$_ IS NULL" + ? "( $_ IS NULL OR $_ = \"\" )" : "$_ = ". _quote($record->{$_},$table,$_) } @fields ) : '' @@ -353,6 +353,7 @@ sub insert { local $SIG{QUIT} = 'IGNORE'; local $SIG{TERM} = 'IGNORE'; local $SIG{TSTP} = 'IGNORE'; + local $SIG{PIPE} = 'IGNORE'; $sth->execute or return $sth->errstr; @@ -383,7 +384,7 @@ sub delete { my($statement)="DELETE FROM ". $self->table. " WHERE ". join(' AND ', map { $self->getfield($_) eq '' - ? "$_ IS NULL" + ? "( $_ IS NULL OR $_ = \"\" )" : "$_ = ". _quote($self->getfield($_),$self->table,$_) } ( $self->dbdef_table->primary_key ) ? ( $self->dbdef_table->primary_key) @@ -396,6 +397,7 @@ sub delete { local $SIG{QUIT} = 'IGNORE'; local $SIG{TERM} = 'IGNORE'; local $SIG{TSTP} = 'IGNORE'; + local $SIG{PIPE} = 'IGNORE'; my $rc = $sth->execute or return $sth->errstr; #not portable #return "Record not found, statement:\n$statement" if $rc eq "0E0"; @@ -450,7 +452,7 @@ sub replace { join(' AND ', map { $old->getfield($_) eq '' - ? "$_ IS NULL" + ? "( $_ IS NULL OR $_ = \"\" )" : "$_ = ". _quote($old->getfield($_),$old->table,$_) } ( $primary_key ? ( $primary_key ) : $old->fields ) ) @@ -462,6 +464,7 @@ sub replace { local $SIG{QUIT} = 'IGNORE'; local $SIG{TERM} = 'IGNORE'; local $SIG{TSTP} = 'IGNORE'; + local $SIG{PIPE} = 'IGNORE'; my $rc = $sth->execute or return $sth->errstr; #not portable #return "Record not found (or records identical)." if $rc eq "0E0"; @@ -590,9 +593,10 @@ is an error, returns the error, otherwise returns false. sub ut_money { my($self,$field)=@_; + $self->setfield($field, 0) if $self->getfield($field) eq ''; $self->getfield($field) =~ /^(\-)? ?(\d*)(\.\d{2})?$/ or return "Illegal (money) $field!"; - $self->setfield($field,"$1$2$3" || 0); + $self->setfield($field, "$1$2$3" || 0); ''; } @@ -805,7 +809,7 @@ sub hfields { =head1 VERSION -$Id: Record.pm,v 1.10 1998-12-29 11:59:33 ivan Exp $ +$Id: Record.pm,v 1.12 1999-01-25 12:26:06 ivan Exp $ =head1 BUGS @@ -927,7 +931,13 @@ added pod documentation ivan@sisd.com 98-sep-6 ut_phonen got ''; at the end ivan@sisd.com 98-sep-27 $Log: Record.pm,v $ -Revision 1.10 1998-12-29 11:59:33 ivan +Revision 1.12 1999-01-25 12:26:06 ivan +yet more mod_perl stuff + +Revision 1.11 1999/01/18 09:22:38 ivan +changes to track email addresses for email invoicing + +Revision 1.10 1998/12/29 11:59:33 ivan mostly properly OO, some work still to be done with svc_ stuff Revision 1.9 1998/11/21 07:26:45 ivan