summaryrefslogtreecommitdiff
path: root/FS/FS/cust_class.pm
blob: a811be7a70797989a2080d606504d80adb4dbd01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package FS::cust_class;

use strict;
use base qw( FS::class_Common );
use FS::cust_main;
use FS::cust_category;

=head1 NAME

FS::cust_class - Object methods for cust_class records

=head1 SYNOPSIS

  use FS::cust_class;

  $record = new FS::cust_class \%hash;
  $record = new FS::cust_class { 'column' => 'value' };

  $error = $record->insert;

  $error = $new_record->replace($old_record);

  $error = $record->delete;

  $error = $record->check;

=head1 DESCRIPTION

An FS::pkg_class object represents an customer class.  Every customer (see
L<FS::cust_main>) has, optionally, a customer class. FS::cust_class inherits
from FS::Record.  The following fields are currently supported:

=over 4

=item classnum

primary key

=item classname

Text name of this customer class

=item categorynum

Number of associated cust_category (see L<FS::cust_category>)

=item disabled

Disabled flag, empty or 'Y'

=back

=head1 METHODS

=over 4

=item new HASHREF

Creates a new customer class.  To add the customer class to the database, see
L<"insert">.

=cut

sub table { 'cust_class'; }
sub _target_table { 'cust_main'; }

=item insert

Adds this customer class to the database.  If there is an error, returns the
error, otherwise returns false.

=item delete

Delete this customer class from the database.  Only customer classes with no
associated customers can be deleted.  If there is an error, returns
the error, otherwise returns false.

=item replace [ OLD_RECORD ]

Replaces OLD_RECORD with this one in the database.  If there is an error,
returns the error, otherwise returns false.

=item check

Checks all fields to make sure this is a valid customer class.  If there is
an error, returns the error, otherwise returns false.  Called by the insert
and replace methods.

=item cust_category

=item category

Returns the cust_category record associated with this class, or false if there
is none.

=cut

sub cust_category {
  my $self = shift;
  $self->category;
}

=item categoryname

Returns the category name associated with this class, or false if there
is none.

=cut

=back

=head1 BUGS

=head1 SEE ALSO

L<FS::cust_main>, L<FS::Record>

=cut

1;