diff options
author | ivan <ivan> | 1998-11-15 03:48:49 +0000 |
---|---|---|
committer | ivan <ivan> | 1998-11-15 03:48:49 +0000 |
commit | 71825c330729668bfa658a0203b0e3cb8362a4f9 (patch) | |
tree | 1c8b04f03f4e5b9808423c59c8e7e63567ad1443 | |
parent | 026cc33e1f8e6096edd1234e23e677391bcf99c6 (diff) |
update for current version
-rw-r--r-- | site_perl/table_template.pm | 128 |
1 files changed, 107 insertions, 21 deletions
diff --git a/site_perl/table_template.pm b/site_perl/table_template.pm index cef2d92e8..5b560a2e7 100644 --- a/site_perl/table_template.pm +++ b/site_perl/table_template.pm @@ -1,66 +1,152 @@ -#!/usr/local/bin/perl -Tw -# -# ivan@voicenet.com 97-jul-1 -# -# added hfields -# ivan@sisd.com 97-nov-13 - package FS::table_name; use strict; +use vars qw (@ISA); use Exporter; #use FS::UID qw(getotaker); use FS::Record qw(hfields qsearch qsearchs); -@FS::table_name::ISA = qw(FS::Record Exporter); -@FS::table_name::EXPORT_OK = qw(hfields); +@ISA = qw(FS::Record); + +=head1 NAME + +FS::table_name - Object methods for table_name records + +=head1 SYNOPSIS + + use FS::table_name; + + $record = create FS::table_name \%hash; + $record = create FS::table_name { 'column' => 'value' }; + + $error = $record->insert; + + $error = $new_record->replace($old_record); + + $error = $record->delete; + + $error = $record->check; + +=head1 DESCRIPTION + +An FS::table_name object represents an example. FS::table_name inherits from +FS::Record. The following fields are currently supported: + +=over 4 + +=item field - description + +=back + +=head1 METHODS + +=over 4 + +=item create HASHREF + +Creates a new example. To add the example to the database, see L<"insert">. + +Note that this stores the hash reference, not a distinct copy of the hash it +points to. You can ask the object for a copy with the I<hash> method. + +=cut -# Usage: $record = create FS::table_name ( \%hash ); -# $record = create FS::table_name ( { field=>value, ... } ); sub create { my($proto,$hashref)=@_; - my($field); - foreach $field (fields('table_name')) { - $hashref->{$field}='' unless defined $hashref->{$field}; - } - $proto->new('table_name',$hashref); } -# Usage: $error = $record -> insert; +=item insert + +Adds this record to the database. If there is an error, returns the error, +otherwise returns false. + +=cut + sub insert { my($self)=@_; + #local $SIG{HUP} = 'IGNORE'; + #local $SIG{INT} = 'IGNORE'; + #local $SIG{QUIT} = 'IGNORE'; + #local $SIG{TERM} = 'IGNORE'; + #local $SIG{TSTP} = 'IGNORE'; + $self->check or $self->add; } -# Usage: $error = $record -> delete; + +=item delete + +Delete this record from the database. + +=cut + sub delete { my($self)=@_; $self->del; } -# Usage: $error = $newrecord -> replace($oldrecord) +=item replace OLD_RECORD + +Replaces the OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. + +=cut + sub replace { my($new,$old)=@_; return "(Old) Not a table_name record!" unless $old->table eq "table_name"; + return "Can't change keyfield!" + unless $old->getfield('keyfield') eq $new->getfield('keyfield'); + $new->check or $new->rep($old); } -# Usage: $error = $record -> check; + +=item check + +Checks all fields to make sure this is a valid example. If there is +an error, returns the error, otherwise returns false. Called by the insert +and repalce methods. + +=cut + sub check { my($self)=@_; return "Not a table_name record!" unless $self->table eq "table_name"; - my($recref) = $self->hashref; + ''; #no error } +=head1 BUGS + +The author forgot to customize this manpage. + +=head1 SEE ALSO + +L<FS::Record> + +=head1 HISTORY + +ivan@voicenet.com 97-jul-1 + +added hfields +ivan@sisd.com 97-nov-13 + +$Log: table_template.pm,v $ +Revision 1.2 1998-11-15 03:48:49 ivan +update for current version + + +=cut + 1; |