% include( '/elements/header.html', 'Developer Documentation' ) %> <& /elements/menubar.html, 'Freeside Perl Modules' => $fsurl.'docs/library/FS.html', 'Complete Index' => $fsurl.'docs/library/index.html', &>
FS::cust_svc - Object method for cust_svc objects
use FS::cust_svc;
$record = new FS::cust_svc \%hash
$record = new FS::cust_svc { 'column' => 'value' };
$error = $record->insert;
$error = $new_record->replace($old_record);
$error = $record->delete;
$error = $record->check;
($label, $value) = $record->label;
An FS::cust_svc represents a service. FS::cust_svc inherits from FS::Record. The following fields are currently supported:
Creates a new service. To add the refund to the database, see "insert". Services are normally created by creating FS::svc_ objects (see FS::svc_acct, FS::svc_domain, and FS::svc_forward, among others).
Adds this service to the database. If there is an error, returns the error, otherwise returns false.
Deletes this service from the database. If there is an error, returns the error, otherwise returns false. Note that this only removes the cust_svc record - you should probably use the cancel method instead.
Cancels the relevant service by calling the cancel method of the associated FS::svc_XXX object (i.e. an FS::svc_acct object or FS::svc_domain object), deleting the FS::svc_XXX record and then deleting this record.
If there is an error, returns the error, otherwise returns false.
Retrieves or sets the overlimit date. If ACTION is absent, return the present value of overlimit. If ACTION is present, it can have the value 'suspend' or 'unsuspend'. In the case of 'suspend' overlimit is set to the current time if it is not already set. The 'unsuspend' value causes the time to be cleared.
If there is an error on setting, returns the error, otherwise returns false.
Replaces the OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false.
Checks all fields to make sure this is a valid service. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.
Returns the displayed service number for this service: agent_svcid if it has a value, svcnum otherwise
Returns the definition for this service, as a FS::part_svc object (see FS::part_svc).
Returns the package this service belongs to, as a FS::cust_pkg object (see FS::cust_pkg).
Returns the pkg_svc record for for this service, if applicable.
Returns the date this service was inserted.
Returns the date this service's package was canceled. This normally only exists for a service that's been preserved through cancellation with the part_pkg.preserve flag.
Returns a list consisting of: - The name of this service (from part_svc), optionally localized - A meaningful identifier (username, domain, or mail alias) - The table name (i.e. svc_domain) for this service - svcnum
Usage example:
my($label, $value, $svcdb) = $cust_svc->label;
Like the label method, except the second item in the list ("meaningful identifier") may be longer - typically, a full name is included.
Returns a listref of html elements associated with this service's exports.
Returns two hashrefs of settings associated with this service's exports.
Returns the FS::svc_XXX object for this service (i.e. an FS::svc_acct object or FS::svc_domain object, etc.)
See "seconds_since" in FS::svc_acct. Equivalent to $cust_svc->svc_x->seconds_since, but more efficient. Meaningless for records where svcdb is not "svc_acct".
Equivalent to $cust_svc->svc_x->seconds_since_sqlradacct, but more efficient. Meaningless for records where svcdb is not svc_acct or svc_broadband.
See "attribute_since_sqlradacct" in FS::svc_acct. Equivalent to $cust_svc->svc_x->attribute_since_sqlradacct, but more efficient. Meaningless for records where svcdb is not svc_acct or svc_broadband.
See "get_session_history" in FS::svc_acct. Equivalent to $cust_svc->svc_x->get_session_history, but more efficient. Meaningless for records where svcdb is not "svc_acct".
Returns an array of hashes representing the tickets linked to this service.
An optional status (or arrayref or hashref of statuses) may be specified.
Accepts the option search, the string to search for. The string will be searched for as a username, email address, IP address, MAC address, phone number, and hardware serial number. Unlike the smart_search on customers, this always requires an exact match.
Behaviour of changing the svcpart of cust_svc records is undefined and should possibly be prohibited, and pkg_svc records are not checked.
pkg_svc records are not checked in general (here).
Deleting this record doesn't check or delete the svc_* record associated with this record.
In seconds_since_sqlradacct, specifying a DATASRC/USERNAME/PASSWORD instead of a DBI database handle is not yet implemented.
FS::Record, FS::cust_pkg, FS::part_svc, FS::pkg_svc, schema.html from the base documentation