summaryrefslogtreecommitdiff
path: root/site_perl
diff options
context:
space:
mode:
authorivan <ivan>1998-03-23 07:46:02 +0000
committerivan <ivan>1998-03-23 07:46:02 +0000
commit982a174dd0dc4b6f56d3008fa45835dfcdd6869a (patch)
tree03b40e08797c2014136f473c5ec98a3585e679f4 /site_perl
Initial revision
Diffstat (limited to 'site_perl')
-rw-r--r--site_perl/table_template-svc.pm107
-rw-r--r--site_perl/table_template-unique.pm66
-rw-r--r--site_perl/table_template.pm66
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;
+