Freeside:3:Documentation:Developer/FS/quotation

From Freeside
Jump to: navigation, search

NAME

FS::quotation - Object methods for quotation records

SYNOPSIS

 use FS::quotation;

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

 $error = $record->insert;

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

 $error = $record->delete;

 $error = $record->check;

DESCRIPTION

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

quotationnum
primary key
prospectnum
prospectnum
custnum
custnum
_date
_date
disabled
disabled
usernum
usernum

METHODS

new HASHREF
Creates a new quotation. To add the quotation 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 quotation. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.
prospect_main; cust_main; cust_bill_pkg; total_setup; total_recur [ FREQ ]; cust_or_prosect; cust_or_prospect_label_link P
HTML links to either the customer or prospect.
Returns a list consisting of two elements. The first is a text label for the link, and the second is the URL.
enable_previous; convert_cust_main
If this quotation already belongs to a customer, then returns that customer, as an FS::cust_main object.
Otherwise, creates a new customer (FS::cust_main object and record, and associated) based on this quotation's prospect, then orders this quotation's packages as real packages for the customer.
If there is an error, returns an error message, otherwise, returns the newly-created FS::cust_main object.
order
This method is for use with quotations which are already associated with a customer.
Orders this quotation's packages as real packages for the customer.
If there is an error, returns an error message, otherwise returns false.
quotation_pkg; charge
One-time charges, like FS::cust_main::charge()
disable
Disables this quotation (sets disabled to Y, which hides the quotation on prospects and customers).
If there is an error, returns an error message, otherwise returns false.
enable
Enables this quotation.
If there is an error, returns an error message, otherwise returns false.
estimate
Calculates current prices for all items on this quotation, including discounts and taxes, and updates the quotation_pkg records accordingly.

CLASS METHODS

search_sql_where HASHREF
Class method which returns an SQL WHERE fragment to search for parameters specified in HASHREF. Valid parameters are
_date
List reference of start date, end date, as UNIX timestamps.
invnum_min
; invnum_max:; agentnum:; charged
List reference of charged limits (exclusive).
owed
List reference of charged limits (exclusive).
open
flag, return open invoices only
net
flag, return net invoices only
days
; newest_percust
Note: validates all passed-in data; i.e. safe to use with unchecked CGI params.
_items_pkg
Return line item hashes for each package on this quotation. Differs from the base FS::Template_Mixin version in that it recalculates each quoted package first, and doesn't implement the "condensed" option.

BUGS

SEE ALSO

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