Freeside:4:Documentation:Developer/FS/UI/Web

From Freeside
Jump to: navigation, search
svc_url
Returns a service URL, first checking to see if there is a service-specific page to link to, otherwise to a generic service handling page. Options are passed as a list of name-value pairs, and include:
    • m - Mason request object ($m)
    • action - The action for which to construct "edit", "view", or "search"
    • ** part_svc - Service definition (see FS::part_svc)
    • ** svcdb - Service table
    • *** query - Query string
    • *** svc - FS::cust_svc or FS::svc_* object
    • ahref - Optional flag, if set true returns <A HREF="$url"> instead of just the URL.
  • Required fields
    • part_svc OR svcdb is required
      • query OR svc is required
cust_header [ CUST_FIELDS_VALUE ]
Returns an array of customer information headers according to the supplied customer fields value, or if no value is supplied, the cust-fields configuration value.
cust_sql_fields [ CUST_FIELDS_VALUE ]
Returns a list of fields for the SELECT portion of an SQL query.
As with the cust_header subroutine, the fields returned are defined by the supplied customer fields setting, or if no customer fields setting is supplied, the cust-fields configuration value.
join_cust_main [ TABLE[.CUSTNUM] ] [ LOCATION_TABLE[.LOCATIONNUM] ]
Returns an SQL join phrase for the FROM clause so that the fields listed in cust_sql_fields will be available. Currently joins to cust_main itself, as well as cust_location (under the aliases 'bill_location' and 'ship_location') if address fields are needed. cust_header() should have been called already.
All of these will be left joins; if you want to exclude rows with no linked cust_main record (or bill_location/ship_location), you can do so in the WHERE clause.
TABLE is the table containing the custnum field. If CUSTNUM (a field name in that table) is specified, that field will be joined to cust_main.custnum. Otherwise, this function will assume the field is named "custnum". If the argument isn't present at all, the join will just say "USING (custnum)", which might work.
As a special case, if TABLE is 'cust_main', only the joins to cust_location will be returned.
LOCATION_TABLE is an optional table name to use for joining ship_location, in case your query also includes package information and you want the "service address" columns to reflect package addresses.
cust_fields OBJECT [ CUST_FIELDS_VALUE ]
Given an object that contains fields from cust_main (say, from a JOINed search. See httemplate/search/svc_* for examples), returns an array of customer information, or "(unlinked)" if this service is not linked to a customer.
As with the cust_header subroutine, the fields returned are defined by the supplied customer fields setting, or if no customer fields setting is supplied, the cust-fields configuration value.
cust_fields_subs
Returns an array of subroutine references for returning customer field values. This is similar to cust_fields, but returns each field's sub as a distinct element.
cust_colors
Returns an array of subroutine references (or empty strings) for returning customer information colors.
As with the cust_header subroutine, the fields returned are defined by the supplied customer fields setting, or if no customer fields setting is supplied, the cust-fields configuration value.
cust_styles
Returns an array of customer information styles.
As with the cust_header subroutine, the fields returned are defined by the supplied customer fields setting, or if no customer fields setting is supplied, the cust-fields configuration value.
cust_aligns
Returns an array or scalar (depending on context) of customer information alignments.
As with the cust_header subroutine, the fields returned are defined by the supplied customer fields setting, or if no customer fields setting is supplied, the cust-fields configuration value.
cust_links
Returns an array of links to view/cust_main.cgi, for use with cust_fields.
is_mobile
Utility function to determine if the client is a mobile browser.
random_id [ DIGITS ]
Returns a random number of length DIGITS, or if unspecified, a long random identifier consisting of the timestamp, process ID, and a random number. Anything in the UI that needs a random identifier should use this.

POD ERRORS

Hey! The above document had some coding errors, which are explained below:

Around line 52:
'=item' outside of any '=over'
Around line 64:
Expected '=item *'
Around line 66:
Expected '=item *'
Around line 68:
Expected '=item *'
Around line 70:
Expected '=item *'
Around line 72:
Expected '=item *'