Debian packages, support multiple versions of Apache
[freeside.git] / FS / FS / part_pkg_usage_class.pm
1 package FS::part_pkg_usage_class;
2 use base qw( FS::Record );
3
4 use strict;
5
6 =head1 NAME
7
8 FS::part_pkg_usage_class - Object methods for part_pkg_usage_class records
9
10 =head1 SYNOPSIS
11
12   use FS::part_pkg_usage_class;
13
14   $record = new FS::part_pkg_usage_class \%hash;
15   $record = new FS::part_pkg_usage_class { 'column' => 'value' };
16
17   $error = $record->insert;
18
19   $error = $new_record->replace($old_record);
20
21   $error = $record->delete;
22
23   $error = $record->check;
24
25 =head1 DESCRIPTION
26
27 An FS::part_pkg_usage_class object is a link between a package usage stock
28 (L<FS::part_pkg_usage>) and a voice usage class (L<FS::usage_class)>.
29 FS::part_pkg_usage_class inherits from FS::Record.  The following fields 
30 are currently supported:
31
32 =over 4
33
34 =item num - primary key
35
36 =item pkgusagepart - L<FS::part_pkg_usage> key
37
38 =item classnum - L<FS::usage_class> key.  Set to null to allow this stock
39 to be used for calls that have no usage class.  To avoid confusion, you
40 should only do this if you don't use usage classes on your system.
41
42 =back
43
44 =head1 METHODS
45
46 =over 4
47
48 =item new HASHREF
49
50 Creates a new example.  To add the example to the database, see L<"insert">.
51
52 Note that this stores the hash reference, not a distinct copy of the hash it
53 points to.  You can ask the object for a copy with the I<hash> method.
54
55 =cut
56
57 # the new method can be inherited from FS::Record, if a table method is defined
58
59 sub table { 'part_pkg_usage_class'; }
60
61 =item insert
62
63 Adds this record to the database.  If there is an error, returns the error,
64 otherwise returns false.
65
66 =cut
67
68 # the insert method can be inherited from FS::Record
69
70 =item delete
71
72 Delete this record from the database.
73
74 =cut
75
76 # the delete method can be inherited from FS::Record
77
78 =item replace OLD_RECORD
79
80 Replaces the OLD_RECORD with this one in the database.  If there is an error,
81 returns the error, otherwise returns false.
82
83 =cut
84
85 # the replace method can be inherited from FS::Record
86
87 =item check
88
89 Checks all fields to make sure this is a valid record.  If there is
90 an error, returns the error, otherwise returns false.  Called by the insert
91 and replace methods.
92
93 =cut
94
95 # the check method should currently be supplied - FS::Record contains some
96 # data checking routines
97
98 sub check {
99   my $self = shift;
100
101   my $error = 
102     $self->ut_numbern('num')
103     || $self->ut_foreign_key('pkgusagepart', 'part_pkg_usage', 'pkgusagepart')
104     || $self->ut_foreign_keyn('classnum', 'usage_class', 'classnum')
105   ;
106   return $error if $error;
107
108   $self->SUPER::check;
109 }
110
111 =back
112
113 =head1 BUGS
114
115 The author forgot to customize this manpage.
116
117 =head1 SEE ALSO
118
119 L<FS::Record>, schema.html from the base documentation.
120
121 =cut
122
123 1;
124