Freeside:3:Documentation:Developer/FS/cust pkg discount

From Freeside
Jump to: navigation, search

NAME

FS::cust_pkg_discount - Object methods for cust_pkg_discount records

SYNOPSIS

 use FS::cust_pkg_discount;

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

 $error = $record->insert;

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

 $error = $record->delete;

 $error = $record->check;

DESCRIPTION

An FS::cust_pkg_discount object represents the application of a discount to a customer package. FS::cust_pkg_discount inherits from FS::Record. The following fields are currently supported:

pkgdiscountnum
primary key
pkgnum
Customer package (see FS::cust_pkg)
discountnum
Discount (see FS::discount)
months_used
months_used
end_date
end_date
usernum
order taker, see FS::access_user

METHODS

new HASHREF
Creates a new discount application. To add the record to the database, see "insert".
Note that this stores the hash reference, not a distinct copy of the hash it points to. You can ask the object for a copy with the hash method.
insert
Adds this record to the database. If there is an error, returns the error, otherwise returns false.
delete
Delete this record from the database.
replace OLD_RECORD
Replaces the OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false.
check
Checks all fields to make sure this is a valid discount applciation. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.
cust_pkg
Returns the customer package (see FS::cust_pkg).
discount
Returns the discount (see FS::discount).
increment_months_used MONTHS
Increments months_used by the given parameter
decrement_months_used MONTHS
Decrement months_used by the given parameter
(Note: as in, extending the length of the discount. Typically only used to stack/extend a discount when the customer package has one active already.)
status

BUGS

SEE ALSO

FS::discount, FS::cust_pkg, FS::Record, schema.html from the base documentation.