diff options
author | ivan <ivan> | 1998-03-23 07:46:02 +0000 |
---|---|---|
committer | ivan <ivan> | 1998-03-23 07:46:02 +0000 |
commit | 982a174dd0dc4b6f56d3008fa45835dfcdd6869a (patch) | |
tree | 03b40e08797c2014136f473c5ec98a3585e679f4 /site_perl |
Initial revision
Diffstat (limited to 'site_perl')
-rw-r--r-- | site_perl/table_template-svc.pm | 107 | ||||
-rw-r--r-- | site_perl/table_template-unique.pm | 66 | ||||
-rw-r--r-- | site_perl/table_template.pm | 66 |
3 files changed, 239 insertions, 0 deletions
diff --git a/site_perl/table_template-svc.pm b/site_perl/table_template-svc.pm new file mode 100644 index 000000000..a8cbaed5e --- /dev/null +++ b/site_perl/table_template-svc.pm @@ -0,0 +1,107 @@ +#!/usr/local/bin/perl -Tw +# +# ivan@voicenet.com 97-jul-21 + +package FS::svc_table; + +use strict; +use Exporter; +use FS::Record qw(fields qsearchs); + +@FS::svc_table::ISA = qw(FS::Record Exporter); + +# Usage: $record = create FS::svc_table ( \%hash ); +# $record = create FS::svc_table ( { field=>value, ... } ); +sub create { + my($proto,$hashref)=@_; + + my($field); + foreach $field (fields('svc_table')) { + $hashref->{$field}='' unless defined $hashref->{$field}; + } + + $proto->new('svc_table',$hashref); + +} + +# Usage: $error = $record -> insert; +sub insert { + my($self)=@_; + my($error); + + local $SIG{HUP} = 'IGNORE'; + local $SIG{INT} = 'IGNORE'; + local $SIG{QUIT} = 'IGNORE'; + local $SIG{TERM} = 'IGNORE'; + local $SIG{TSTP} = 'IGNORE'; + + $error=$self->check; + return $error if $error; + + $error = $self->add; + return $error if $error; + + ''; #no error +} + +# Usage: $error = $record -> delete; +sub delete { + my($self)=@_; + my($error); + + $error = $self->del; + return $error if $error; + +} + +# Usage: $error = $newrecord -> replace($oldrecord) +sub replace { + my($new,$old)=@_; + my($error); + + return "(Old) Not a svc_table record!" unless $old->table eq "svc_table"; + return "Can't change svcnum!" + unless $old->getfield('svcnum') eq $new->getfield('svcnum'); + + $error=$new->check; + return $error if $error; + + $error = $new->rep($old); + return $error if $error; + + ''; #no error +} + +# Usage: $error = $record -> suspend; +sub suspend { + ''; #no error (stub) +} + +# Usage: $error = $record -> unsuspend; +sub unsuspend { + ''; #no error (stub) +} + +# Usage: $error = $record -> cancel; +sub cancel { + ''; #no error (stub) +} + +# Usage: $error = $record -> check; +sub check { + my($self)=@_; + return "Not a svc_table record!" unless $self->table eq "svc_table"; + my($recref) = $self->hashref; + + $recref->{svcnum} =~ /^(\d+)$/ or return "Illegal svcnum"; + $recref->{svcnum} = $1; + return "Unknown svcnum" unless + qsearchs('cust_svc',{'svcnum'=> $recref->{svcnum} } ); + + #DATA CHECKS GO HERE! + + ''; #no error +} + +1; + diff --git a/site_perl/table_template-unique.pm b/site_perl/table_template-unique.pm new file mode 100644 index 000000000..32b7e6911 --- /dev/null +++ b/site_perl/table_template-unique.pm @@ -0,0 +1,66 @@ +#!/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 Exporter; +#use FS::UID qw(getotaker); +use FS::Record qw(fields hfields qsearch qsearchs); + +@FS::table_name::ISA = qw(FS::Record Exporter); +@FS::table_name::EXPORT_OK = qw(hfields); + +# 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; +sub insert { + my($self)=@_; + + $self->check or + $self->add; +} + +# Usage: $error = $record -> delete; +sub delete { + my($self)=@_; + + $self->del; +} + +# Usage: $error = $newrecord -> replace($oldrecord) +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; +sub check { + my($self)=@_; + return "Not a table_name record!" unless $self->table eq "table_name"; + my($recref) = $self->hashref; + + ''; #no error +} + +1; + diff --git a/site_perl/table_template.pm b/site_perl/table_template.pm new file mode 100644 index 000000000..cef2d92e8 --- /dev/null +++ b/site_perl/table_template.pm @@ -0,0 +1,66 @@ +#!/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 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); + +# 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; +sub insert { + my($self)=@_; + + $self->check or + $self->add; +} + +# Usage: $error = $record -> delete; +sub delete { + my($self)=@_; + + $self->del; +} + +# Usage: $error = $newrecord -> replace($oldrecord) +sub replace { + my($new,$old)=@_; + return "(Old) Not a table_name record!" unless $old->table eq "table_name"; + + $new->check or + $new->rep($old); +} + +# Usage: $error = $record -> check; +sub check { + my($self)=@_; + return "Not a table_name record!" unless $self->table eq "table_name"; + my($recref) = $self->hashref; + + ''; #no error +} + +1; + |