Freeside:4:Documentation:Developer/FS/discount

From Freeside
Jump to: navigation, search

NAME

FS::discount - Object methods for discount records

SYNOPSIS

 use FS::discount;

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

 $error = $record->insert;

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

 $error = $record->delete;

 $error = $record->check;

DESCRIPTION

An FS::discount object represents a discount definition. FS::discount inherits from FS::Record. The following fields are currently supported:

discountnum
primary key
name
name
amount
amount
percent
percent
months
months
disabled
disabled
setup - apply discount to setup fee (not just to recurring fee)
If the discount is based on a percentage, then the % will be applied to the setup and recurring portions.

METHODS

new HASHREF
Creates a new discount. To add the discount 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. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.
description_short; description
Returns a text description incorporating the amount, percent and months fields.
description_short omits term information

BUGS

SEE ALSO

FS::cust_pkg_discount, FS::Record, schema.html from the base documentation.