Freeside:3:Documentation:Developer/FS/quotation
From Freeside
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.