summaryrefslogtreecommitdiff
path: root/site_perl/table_template-unique.pm
diff options
context:
space:
mode:
Diffstat (limited to 'site_perl/table_template-unique.pm')
-rw-r--r--site_perl/table_template-unique.pm66
1 files changed, 66 insertions, 0 deletions
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;
+