This commit was generated by cvs2svn to compensate for changes in r4, which
[freeside.git] / site_perl / table_template.pm
1 #!/usr/local/bin/perl -Tw
2 #
3 # ivan@voicenet.com 97-jul-1
4
5 # added hfields
6 # ivan@sisd.com 97-nov-13
7
8 package FS::table_name;
9
10 use strict;
11 use Exporter;
12 #use FS::UID qw(getotaker);
13 use FS::Record qw(hfields qsearch qsearchs);
14
15 @FS::table_name::ISA = qw(FS::Record Exporter);
16 @FS::table_name::EXPORT_OK = qw(hfields);
17
18 # Usage: $record = create FS::table_name ( \%hash );
19 #        $record = create FS::table_name ( { field=>value, ... } );
20 sub create {
21   my($proto,$hashref)=@_;
22
23   my($field);
24   foreach $field (fields('table_name')) {
25     $hashref->{$field}='' unless defined $hashref->{$field};
26   }
27
28   $proto->new('table_name',$hashref);
29
30 }
31
32 # Usage: $error = $record -> insert;
33 sub insert {
34   my($self)=@_;
35
36   $self->check or
37   $self->add;
38 }
39
40 # Usage: $error = $record -> delete;
41 sub delete {
42   my($self)=@_;
43
44   $self->del;
45 }
46
47 # Usage: $error = $newrecord -> replace($oldrecord)
48 sub replace {
49   my($new,$old)=@_;
50   return "(Old) Not a table_name record!" unless $old->table eq "table_name";
51
52   $new->check or
53   $new->rep($old);
54 }
55
56 # Usage: $error = $record -> check;
57 sub check {
58   my($self)=@_;
59   return "Not a table_name record!" unless $self->table eq "table_name";
60   my($recref) = $self->hashref;
61
62   ''; #no error
63 }
64
65 1;
66