NAME¶
LedgerSMB::ScriptLib::Company - LedgerSMB class defining the Controller
functions, template instantiation and rendering for vendor and customer
editing and display. This would also form the basis for other forms of company
contacts.
SYOPSIS¶
This module is the UI controller for the vendor DB access; it provides the View
interface, as well as defines the Save vendor. Save vendor/customer will
update or create as needed.
METHODS¶
- set_entity_class($request) returns int entity class
- Errors if not inherited. Inheriting classes MUST define this to set
$entity_class appropriately.
- get_by_cc
- Populates the company area with info on the company, pulled up through the
control code
- dispatch_legacy
- This is a semi-private method which interfaces with the old code. Note
that as long as any other functions use this, the contact interface cannot
be said to be safe for code caching.
Not fully documented because this will go away as soon as possible.
- add_transaction
- Dispatches to the Add (AR or AP as appropriate) transaction screen.
- add_invoice
- Dispatches to the (sales or vendor, as appropriate) invoice screen.
- add_order
- Dispatches to the sales/purchase order screen.
- rfq
- Dispatches to the quotation/rfq screen
- new_company($request)
- returns object inheriting LedgerSMB::DBObject::Company
This too must be defined in classes that inherit this class.
- get($self, $request, $user)
- Requires form var: id
Extracts a single company from the database, using its company ID as the
primary point of uniqueness. Shows (appropriate to user privileges) and
allows editing of the company information.
- add_location
- Adds a location to the company as defined in the inherited object
- save_new_location
- Adds a location to the company as defined in the inherited object, not
overwriting existing locations.
- generate_control_code
- Sets $company->{control_code} equal to the next in the series of
entity_control values
- add
- This method creates a blank screen for entering a company's
information.
- get_results($self, $request, $user)
- Requires form var: search_pattern
Directly calls the database function search, and returns a set of all
vendors found that match the search parameters. Search parameters search
over address as well as vendor/Company name.
- history($request)
- Generates the filter screen for the customer/vendor history report.
- display_history($request)
- Displays the customer/vendor history based on criteria from the history
filter screen.
The following request variables are optionally set in the HTTP query string
or request object.
Search Criteria name: search string for company name contact_info: Search
string for contact info, can match phone, fax, or email. salesperson:
Search string for employee name in the salesperson field notes: Notes
search. Not currently implemented meta_number: Exact match for
customer/vendor number address_line: Search string for first or second
line of address. city: Search string for city name state: Case
insensitive, otherwise exact match for state or province zip: leading
match for zip/mail code country_id: integer for country id. Exact match
tartdate_from: Earliest date for startdate of entity credit account
startdate_to: Lates date for entity credit accounts' start date type:
either 'i' for invoice, 'o' for orders, 'q' for quotations from_date:
Earliest date for the invoice/order to_date: Latest date for the
invoice/order
Unless otherwise noted, partial matches are sufficient.
Control variables: inc_open: Include open invoices/orders. If not true, no
open invoices are
displayed inc_closed: Include closed invoices/orders. If not true, no
closed invoices are
displayed report_type: Either summary or detail
Columns to display: l_partnumber: parts.partnumber l_sellprice:
invoice/orderitems.sellprice l_curr: ar/ap/oe.curr l_unit:
invoice/orderitems.unit l_deliverydate: invoice.deliverydate or
orderitems.reqdate l_projectnumber: project.projectnumber l_serialnumber:
invoice/orderitems.serialnumber
- csv_company_list($request)
- Generates CSV report (not working at present)
- save($self, $request, $user)
- Saves a company to the database. The function will update or insert a new
company as needed, and will generate a new Company ID for the company if
needed.
- save_credit($request)
- This inserts or updates a credit account of the sort listed here.
- save_credit_new($request)
- This inserts a new credit account.
- edit($request)
- Displays a company for editing. Needs the following to be set: entity_id,
account_class, and meta_number. The account_class requireent is typically
set during the construction of scripts which inherit this library.
- PRIVATE _render_main_screen($company)
- Pulls relevant data from db and renders the data entry screen for it.
- search($request)
- Renders the search criteria screen.
- save_contact($request)
- Saves contact info as per LedgerSMB::DBObject::Company::save_contact.
- delete_contact
- Deletes the selected contact info record
Must include company_id or credit_id (credit_id used if both are provided)
plus:
* contact_class_id * contact * form_id
- delete_bank_acct
- Deletes the selected bank account record
Required request variables: * bank_account_id * entity_id * form_id
- delete_location
- Deletes the selected contact info record
Must include company_id or credit_id (credit_id used if both are provided)
plus:
* location_class_id * location_id * form_id
- edit_bank_acct($request)
- displays screen to a bank account
Required data: bank_account_id bic iban remark
- save_contact_new($request)
- Saves contact info as a new line as per save_contact above.
- save_bank_account($request)
- Adds a bank account to a company and, if defined, an entity credit
account.
- save_notes($request)
- Saves notes. entity_id or credit_id must be set, as must note_class, note,
and subject.
- pricelist
- This returns and displays the pricelist. The id field is required.
- delete_price
- save_pricelist
- This routine saves the price matrix. For existing rows, valid_to,
valid_from, price fields are saved.
For the new row, the partnumber field matches the beginning of the part
number, and the description is a full text search.
- delete_pricematrix
- Delets an item from the pricelist, based on entry_id and credit_id, both
of which must be provided
- pricelist_search_handle
- Handles the return from the parts search from the pricelist screen.
COPYRIGHT¶
Copyright (c) 2009, the LedgerSMB Core Team. This is licensed under the GNU
General Public License, version 2, or at your option any later version. Please
see the accompanying License.txt for more information.