From 51984ac3d3da3006809c6866fdecd4ad83610731 Mon Sep 17 00:00:00 2001
From: ivan
+
+FS::Bill - Legacy stub
+
+
+
+The functionality of FS::Bill has been integrated into FS::cust_main.
+
+
+
+
diff --git a/httemplate/docs/man/FS/CGI.html b/httemplate/docs/man/FS/CGI.html
new file mode 100644
index 000000000..05f7823b4
--- /dev/null
+++ b/httemplate/docs/man/FS/CGI.html
@@ -0,0 +1,95 @@
+
+
+ FS::CGI - Subroutines for the web interface
+
+ Provides a few common subroutines for the web interface.
+ Sends headers and an HTML error message. Sends headers and an HTML error message, then exits.
+ Not OO. Not complete.
+ the CGI manpage, the CGI::Base manpage
+ FS::Conf - Read access to Freeside configuration values
+
+ Read access to Freeside configuration values. Keys currently map to filenames,
+but this may change in the future.
+
+ Write access (with locking) should be implemented.
+ config.html from the base documentation contains a list of configuration files.
+
+FS::Invoice - Legacy stub
+
+
+
+The functionality of FS::Invoice has been integrated in FS::cust_bill.
+
+
+
+
diff --git a/httemplate/docs/man/FS/Record.html b/httemplate/docs/man/FS/Record.html
new file mode 100644
index 000000000..09304083f
--- /dev/null
+++ b/httemplate/docs/man/FS/Record.html
@@ -0,0 +1,342 @@
+
+
+ FS::Record - Database record objects
+
+ (Mostly) object-oriented interface to database records. Records are currently
+implemented on top of DBI. FS::Record is intended as a base class for
+table-specific classes to inherit from, i.e. FS::cust_main.
+ Note that the object stores this hash reference, not a distinct copy of the
+hash it points to. You can ask the object for a copy with the hash
+method. TABLE can only be omitted when a dervived class overrides the table method. ###oops, argh, FS::Record::new only lets us create database fields.
+#Normal behaviour if SELECT is not specified is `*', as in
+#
+ $record-> To make a distinct duplicate of an FS::Record object, you can do: Takes an optional two-letter ISO country code; without it or with unsupported
+countries, ut_phonen simply calls ut_alphan.
+ It returns a hash-type list with the fields of this record's table set true.
+ $Id: Record.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ This module should probably be renamed, since much of the functionality is
+of general use. It is not completely unlike Adapter::DBI (see below). Exported qsearch and qsearchs should be depriciated in favor of method calls
+(against an FS::Record object like the old search and searchs that qsearch
+and qsearchs were on top of.) The whole fields / hfields mess should be removed. The various WHERE clauses should be subroutined. table string should be depriciated in favor of FS::dbdef_table. No doubt we could benefit from a Tied hash. Documenting how exists / defined
+true maps to the database (and WHERE clauses) would also help. The ut_ methods should ask the dbdef for a default length. ut_sqltype (like ut_varchar) should all be defined A fallback check method should be provided which uses the dbdef. The ut_money method assumes money has two decimal digits. The Pg money kludge in the new method only strips `$'. The ut_phonen method assumes US-style phone numbers. The _quote function should probably use ut_float instead of a regex. All the subroutines probably should be methods, here or elsewhere. Probably should borrow/use some dbdef methods where appropriate (like sub
+fields) As of 1.14, DBI fetchall_hashref( {} ) doesn't set fetchrow_hashref NAME_lc,
+or allow it to be set. Working around it is ugly any way around - DBI should
+be fixed. (only affects RDBMS which return uppercase column names)
+ the DBIx::DBSchema manpage, the FS::UID manpage, DBI Adapter::DBI from Ch. 11 of Advanced Perl Programming by Sriram Srinivasan.
+ FS::SessionClient - Freeside session client API
+
+ This modules provides an API for a remote session application. It needs to be run as the freeside user. Because of this, the program which
+calls these subroutines should be written very carefully.
+ Returns a scalar error message, or the empty string for success. Returns a scalar error message, or the empty string for success.
+ $Id: SessionClient.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+
+ fs_sessiond
+
+FS::SignupClient - Freeside signup client API
+
+
+
+
+
+
+
+This module provides an API for a remote signup server.
+
+
+It needs to be run as the freeside user. Because of this, the program which
+calls these subroutines should be written very carefully.
+
+
+
+Returns three array references of hash references.
+
+
+The first set of hash references is of allowable locales. Each hash
+reference has the following keys: taxnum state county country
+
+
+The second set of hash references is of allowable packages. Each hash
+reference has the following keys: pkgpart pkg
+
+
+The third set of hash references is of allowable POPs (Points Of Presence).
+Each hash reference has the following keys: popnum city state ac exch
+
+
+Adds a customer to the remote Freeside system. Requires a hash reference as
+a paramater with the following keys: first last ss comapny address1
+address2 city county state zip country daytime night fax payby payinfo
+paydate payname invoicing_list pkgpart username _password popnum
+
+
+Returns a scalar error message, or the empty string for success.
+
+
+
+$Id: SignupClient.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+
+
+
+
+fs_signupd, FS::SignupServer, FS::cust_main
+
+
+
+
+
+
diff --git a/httemplate/docs/man/FS/UI/Base.html b/httemplate/docs/man/FS/UI/Base.html
new file mode 100644
index 000000000..445fd0d0b
--- /dev/null
+++ b/httemplate/docs/man/FS/UI/Base.html
@@ -0,0 +1,100 @@
+
+
+ FS::UI::Base - Base class for all user-interface objects
+
+ An FS::UI::Base object represents a user interface object. FS::UI::Base
+is intended as a base class for table-specfic classes to inherit from, i.e.
+FS::UI::cust_main. The simplest case, which will provide a default UI for your
+new table, is as follows: Currently available interfaces are:
+ FS::UI::Gtk, an X-Windows UI implemented using the Gtk+ toolkit
+ FS::UI::CGI, a web interface implemented using CGI.pm, etc.
+
+ $Id: Base.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+ This documentation is incomplete. There should be some sort of per-(freeside)-user preferences and the ability
+for specific FS::UI:: modules to put their own values there as well.
+ the FS::UI::Gtk manpage, the FS::UI::CGI manpage
+ $Log: Base.html,v $
+ Revision 1.3 2002-01-29 17:42:46 ivan
+ weight, plan and plandata fields in part_bill_event
+
+Revision 1.1 1999/08/04 09:03:53 ivan
+initial checkin of module files for proper perl installation Revision 1.1 1999/01/20 09:30:36 ivan
+skeletal cross-UI UI code.
+ FS::UI::CGI - Base class for CGI user-interface objects
+
+ An FS::UI::CGI object represents a CGI interface object.
+
+ $Id: CGI.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+ This documentation is incomplete. In _Tableborder, headers should be links that sort on their fields. _Link uses a constant $BASE_URL _Link passes the arguments as a manually-constructed GET string instead
+of POSTing, for compatability while the web interface is upgraded. Once
+this is done it should pass arguements properly (i.e. as a POST, 8-bit clean) Still some small bits of widget code same as FS::UI::Gtk.
+
+ $Log: CGI.html,v $
+ Revision 1.3 2002-01-29 17:42:46 ivan
+ weight, plan and plandata fields in part_bill_event
+
+Revision 1.1 1999/08/04 09:03:53 ivan
+initial checkin of module files for proper perl installation Revision 1.1 1999/01/20 09:30:36 ivan
+skeletal cross-UI UI code.
+ FS::UI::Gtk - Base class for Gtk user-interface objects
+
+ An FS::UI::Gtk object represents a Gtk user interface object.
+
+ $Id: Gtk.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+ This documentation is incomplete. _Tableborder is just a _Table now. _Tableborders should scroll (but not the
+headers) and need and need more decoration. (data in white section ala gtksql
+and sliding field widths) headers should be buttons that callback to sort on
+their fields. There should be a persistant, per-(freeside)-user store for window positions
+and sizes and sort fields etc (see BUGS in the FS::UI::CGI manpage. Still some small bits of widget code same as FS::UI::CGI.
+
+ $Log: Gtk.html,v $
+ Revision 1.3 2002-01-29 17:42:46 ivan
+ weight, plan and plandata fields in part_bill_event
+
+Revision 1.1 1999/08/04 09:03:53 ivan
+initial checkin of module files for proper perl installation Revision 1.1 1999/01/20 09:30:36 ivan
+skeletal cross-UI UI code.
+ FS::UID - Subroutines for database login and assorted other stuff
+
+ Provides a hodgepodge of subroutines.
+
+ Warning: this interface is likely to change in future releases. A package can install a callback to be run in adminsuidsetup by putting a
+coderef into the hash %FS::UID::callback :
+ $Id: UID.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ Too many package-global variables. Not OO. No capabilities yet. When mod_perl and Authen::DBI are implemented,
+cgisuidsetup will go away as well. Goes through contortions to support non-OO syntax with multiple datasrc's. Callbacks are inelegant.
+ the FS::Record manpage, the CGI manpage, DBI, config.html from the base documentation.
+ FS::agent - Object methods for agent records
+
+ An FS::agent object represents an agent. Every customer has an agent. Agents
+can be used to track things like resellers or salespeople. FS::agent inherits
+from FS::Record. The following fields are currently supported:
+
+ $Id: agent.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+
+ the FS::Record manpage, the FS::agent_type manpage, the FS::cust_main manpage, the FS::part_pkg manpage,
+schema.html from the base documentation.
+ FS::agent_type - Object methods for agent_type records
+
+ An FS::agent_type object represents an agent type. Every agent (see
+the FS::agent manpage) has an agent type. Agent types define which packages (see
+the FS::part_pkg manpage) may be purchased by customers (see the FS::cust_main manpage), via
+FS::type_pkgs records (see the FS::type_pkgs manpage). FS::agent_type inherits from
+FS::Record. The following fields are currently supported:
+
+ $Id: agent_type.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+
+ the FS::Record manpage, the FS::agent manpage, the FS::type_pkgs manpage, the FS::cust_main manpage,
+the FS::part_pkg manpage, schema.html from the base documentation.
+ FS::cust_bill - Object methods for cust_bill records
+
+ An FS::cust_bill object represents an invoice; a declaration that a customer
+owes you money. The specific charges are itemized as cust_bill_pkg records
+(see the FS::cust_bill_pkg manpage). FS::cust_bill inherits from FS::Record. The
+following fields are currently supported:
+ Only printed may be changed. printed is normally updated by calling the
+collect method of a customer object (see the FS::cust_main manpage). TIME an optional value used to control the printing of overdue messages. The
+default is now. It isn't the date of the invoice; that's the `_date' field.
+It is specified as a UNIX timestamp; see perlfunc/``time''. Also see
+the Time::Local manpage and the Date::Parse manpage for conversion functions.
+ $Id: cust_bill.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ The delete method. print_text formatting (and some logic :/) is in source, but needs to be
+slurped in from a file. Also number of lines ($=). missing print_ps for a nice postscript copy (maybe HylaFAX-cover-page-style
+or something similar so the look can be completely customized?)
+ the FS::Record manpage, the FS::cust_main manpage, the FS::cust_pay manpage, the FS::cust_bill_pkg manpage,
+the FS::cust_credit manpage, schema.html from the base documentation.
+ FS::cust_bill_pkg - Object methods for cust_bill_pkg records
+
+ An FS::cust_bill_pkg object represents an invoice line item.
+FS::cust_bill_pkg inherits from FS::Record. The following fields are currently
+supported: sdate and edate are specified as UNIX timestamps; see perlfunc/``time''. Also
+see the Time::Local manpage and the Date::Parse manpage for conversion functions.
+
+ $Id: cust_bill_pkg.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+
+ the FS::Record manpage, the FS::cust_bill manpage, the FS::cust_pkg manpage, the FS::cust_main manpage, schema.html
+from the base documentation.
+ FS::cust_credit - Object methods for cust_credit records
+
+ An FS::cust_credit object represents a credit; the equivalent of a negative
+cust_bill record (see the FS::cust_bill manpage). FS::cust_credit inherits from
+FS::Record. The following fields are currently supported:
+
+ $Id: cust_credit.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ The delete method.
+ the FS::Record manpage, the FS::cust_refund manpage, the FS::cust_bill manpage, schema.html from the base
+documentation.
+ FS::cust_main - Object methods for cust_main records
+
+ An FS::cust_main object represents a customer. FS::cust_main inherits from
+FS::Record. The following fields are currently supported:
+ 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. There is a special insert mode in which you pass a data structure to the insert
+method containing FS::cust_pkg and FS::svc_tablename objects. When
+running under a transactional database, all records are inserted atomicly, or
+the transaction is rolled back. There should be a better explanation of this,
+but until then, here's an example: This will completely remove all traces of the customer record. This is not
+what you want when a customer cancels service; for that, cancel all of the
+customer's packages (see cancel in the FS::cust_pkg manpage). If the customer has any packages, you need to pass a new (valid) customer
+number for those packages to be transferred to. You can't delete a customer with invoices (see the FS::cust_bill manpage),
+or credits (see the FS::cust_credit manpage). The only currently available option is `time', which bills the customer as if
+it were that time. It is specified as a UNIX timestamp; see
+perlfunc/``time''). Also see the Time::Local manpage and the Date::Parse manpage for conversion
+functions. If there is an error, returns the error, otherwise returns false. Depending on the value of `payby', this may print an invoice (`BILL'), charge
+a credit card (`CARD'), or just add any necessary (pseudo-)payment (`COMP'). If there is an error, returns the error, otherwise returns false. Currently available options are: invoice_time - Use this time when deciding when to print invoices and
+late notices on those invoices. The default is now. It is specified as a UNIX timestamp; see perlfunc/``time''). Also see the Time::Local manpage and the Date::Parse manpage
+for conversion functions. batch_card - Set this true to batch cards (see the cust_pay_batch manpage). By
+default, cards are processed immediately, which will generate an error if
+CyberCash is not installed. report_badcard - Set this true if you want bad card transactions to
+return an error. By default, they don't. Returns a list of email addresses (with svcnum entries expanded). Note: You can clear the invoicing list by passing an empty ARRAYREF. You can
+check it without disturbing anything by passing nothing. This interface may change in the future.
+ $Id: cust_main.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ The delete method. The delete method should possibly take an FS::cust_main object reference
+instead of a scalar customer number. Bill and collect options should probably be passed as references instead of a
+list. CyberCash v2 forces us to define some variables in package main. There should probably be a configuration file with a list of allowed credit
+card types. CyberCash is the only processor. No multiple currency support (probably a larger project than just this module).
+ the FS::Record manpage, the FS::cust_pkg manpage, the FS::cust_bill manpage, the FS::cust_credit manpage
+the FS::cust_pay_batch manpage, the FS::agent manpage, the FS::part_referral manpage,
+the FS::cust_main_county manpage, the FS::cust_main_invoice manpage,
+the FS::UID manpage, schema.html from the base documentation.
+ FS::cust_main_county - Object methods for cust_main_county objects
+
+ An FS::cust_main_county object represents a tax rate, defined by locale.
+FS::cust_main_county inherits from FS::Record. The following fields are
+currently supported:
+
+ $Id: cust_main_county.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+
+ the FS::Record manpage, the FS::cust_main manpage, the FS::cust_bill manpage, schema.html from the base
+documentation.
+ FS::cust_main_invoice - Object methods for cust_main_invoice records
+
+ An FS::cust_main_invoice object represents an invoice destination. FS::cust_main_invoice inherits from
+FS::Record. The following fields are currently supported:
+ 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.
+ $Id: cust_main_invoice.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+
+ the FS::Record manpage, the FS::cust_main manpage
+ FS::cust_pay - Object methods for cust_pay objects
+
+ An FS::cust_pay object represents a payment; the transfer of money from a
+customer. FS::cust_pay inherits from FS::Record. The following fields are
+currently supported:
+
+ $Id: cust_pay.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ Delete and replace methods.
+ the FS::Record manpage, the FS::cust_bill manpage, schema.html from the base documentation.
+ FS::cust_pay_batch - Object methods for batch cards
+
+ An FS::cust_pay_batch object represents a credit card transaction ready to be
+batched (sent to a processor). FS::cust_pay_batch inherits from FS::Record.
+Typically called by the collect method of an FS::cust_main object. The
+following fields are currently supported:
+ 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.
+ $Id: cust_pay_batch.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ There should probably be a configuration file with a list of allowed credit
+card types.
+ the FS::cust_main manpage, the FS::Record manpage
+ FS::cust_pkg - Object methods for cust_pkg objects
+
+ An FS::cust_pkg object represents a customer billing item. FS::cust_pkg
+inherits from FS::Record. The following fields are currently supported: Note: setup, bill, susp, expire and cancel are specified as UNIX timestamps;
+see perlfunc/``time''. Also see the Time::Local manpage and the Date::Parse manpage for
+conversion functions.
+ sub insert {
+ my $self = shift; } Currently, custnum, setup, bill, susp, expire, and cancel may be changed. Changing pkgpart may have disasterous effects. See the order subroutine. setup and bill are normally updated by calling the bill method of a customer
+object (see the FS::cust_main manpage). suspend is normally updated by the suspend and unsuspend methods. cancel is normally updated by the cancel method (and also the order subroutine
+in some cases). If there is an error, returns the error, otherwise returns false. If there is an error, returns the error, otherwise returns false. If there is an error, returns the error, otherwise returns false.
+ PKGPARTS is a list of pkgparts specifying the the billing item definitions (see
+the FS::part_pkg manpage) to order for this customer. Duplicates are of course
+permitted. REMOVE_PKGNUMS is an optional list of pkgnums specifying the billing items to
+remove for this customer. The services (see the FS::cust_svc manpage) are moved to the
+new billing items. An error is returned if this is not possible (see
+the FS::pkg_svc manpage).
+ $Id: cust_pkg.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ sub order is not OO. Perhaps it should be moved to FS::cust_main and made so? In sub order, the @pkgparts array (passed by reference) is clobbered. Also in sub order, no money is adjusted. Once FS::part_pkg defines a standard
+method to pass dates to the recur_prog expression, it should do so. FS::svc_acct, FS::svc_acct_sm, and FS::svc_domain are loaded via 'use' at
+compile time, rather than via 'require' in sub { setup, suspend, unsuspend,
+cancel } because they use %FS::UID::callback to load configuration values.
+Probably need a subroutine which decides what to do based on whether or not
+we've fetched the user yet, rather than a hash. See FS::UID and the TODO.
+ the FS::Record manpage, the FS::cust_main manpage, the FS::part_pkg manpage, the FS::cust_svc manpage
+, the FS::pkg_svc manpage, schema.html from the base documentation
+ FS::cust_refund - Object method for cust_refund objects
+
+ An FS::cust_refund represents a refund: the transfer of money to a customer;
+equivalent to a negative payment (see the FS::cust_pay manpage). FS::cust_refund
+inherits from FS::Record. The following fields are currently supported:
+
+ $Id: cust_refund.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ Delete and replace methods.
+ the FS::Record manpage, the FS::cust_credit manpage, schema.html from the base documentation.
+ FS::cust_svc - Object method for cust_svc objects
+
+ An FS::cust_svc represents a service. FS::cust_svc inherits from FS::Record.
+The following fields are currently supported:
+ Called by the cancel method of the package (see the FS::cust_pkg manpage).
+ $Id: cust_svc.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ 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.
+ the FS::Record manpage, the FS::cust_pkg manpage, the FS::part_svc manpage, the FS::pkg_svc manpage,
+schema.html from the base documentation
+ FS::domain_record - Object methods for domain_record records
+
+ An FS::domain_record object represents an entry in a DNS zone.
+FS::domain_record inherits from FS::Record. The following fields are currently
+supported:
+ 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.
+ $Id: domain_record.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ The data validation doesn't check everything it could. In particular,
+there is no protection against bad data that passes the regex, duplicate
+SOA records, forgetting the trailing `.', impossible IP addersses, etc. Of
+course, it's still better than editing the zone files directly. :)
+ the FS::Record manpage, schema.html from the base documentation.
+ $Log: domain_record.html,v $
+ Revision 1.1 2001-07-30 07:36:03 ivan
+ templates!!!
+
+Revision 1.2 2001/05/18 14:08:55 ivan
+tyop Revision 1.1 2000/02/03 05:16:52 ivan
+beginning of DNS and Apache support
+ FS::nas - Object methods for nas records
+
+ An FS::nas object represents an Network Access Server on your network, such as
+a terminal server or equivalent. FS::nas inherits from FS::Record. The
+following fields are currently supported:
+ 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.
+ $Id: nas.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+
+ the FS::Record manpage, schema.html from the base documentation.
+ FS::part_pkg - Object methods for part_pkg objects
+
+ An FS::part_pkg object represents a billing item definition. FS::part_pkg
+inherits from FS::Record. The following fields are currently supported: setup and recur are evaluated as Safe perl expressions. You can use numbers
+just as you would normally. More advanced semantics are not yet defined.
+
+ $Id: part_pkg.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ The delete method is unimplemented. setup and recur semantics are not yet defined (and are implemented in
+FS::cust_bill. hmm.).
+ the FS::Record manpage, the FS::cust_pkg manpage, the FS::type_pkgs manpage, the FS::pkg_svc manpage, Safe.
+schema.html from the base documentation.
+ FS::part_referral - Object methods for part_referral objects
+
+ An FS::part_referral represents a referral - where a customer heard of your
+services. This can be used to track the effectiveness of a particular piece of
+advertising, for example. FS::part_referral inherits from FS::Record. The
+following fields are currently supported:
+
+ $Id: part_referral.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+ The delete method is unimplemented.
+ the FS::Record manpage, the FS::cust_main manpage, schema.html from the base documentation.
+ FS::part_svc - Object methods for part_svc objects
+
+ An FS::part_svc represents a service definition. FS::part_svc inherits from
+FS::Record. The following fields are currently supported:
+
+ $Id: part_svc.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ Delete is unimplemented. The list of svc_* tables is hardcoded. When svc_acct_pop is renamed, this
+should be fixed.
+ the FS::Record manpage, the FS::part_pkg manpage, the FS::pkg_svc manpage, the FS::cust_svc manpage,
+the FS::svc_acct manpage, the FS::svc_acct_sm manpage, the FS::svc_domain manpage, schema.html from the
+base documentation.
+ FS::pkg_svc - Object methods for pkg_svc records
+
+ An FS::pkg_svc record links a billing item definition (see the FS::part_pkg manpage) to
+a service definition (see the FS::part_svc manpage). FS::pkg_svc inherits from
+FS::Record. The following fields are currently supported:
+
+ $Id: pkg_svc.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+
+ the FS::Record manpage, the FS::part_pkg manpage, the FS::part_svc manpage, schema.html from the base
+documentation.
+ FS::port - Object methods for port records
+
+ An FS::port object represents an individual port on a NAS. FS::port inherits
+from FS::Record. The following fields are currently supported:
+ 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.
+ $Id: port.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+ The author forgot to customize this manpage. The session method won't deal well if you have multiple open sessions on a
+port, for example if your RADIUS server drops stop records. Suggestions for
+how to deal with this sort of lossage welcome; should we close the session
+when we get a new session on that port? Tag it as invalid somehow? Close it
+one second after it was opened? *sigh* Maybe FS::session shouldn't let you
+create overlapping sessions, at least folks will find out their logging is
+dropping records. If you think the above refers multiple user logins you need to read the
+manpages again.
+ the FS::Record manpage, schema.html from the base documentation.
+ FS::prepay_credit - Object methods for prepay_credit records
+
+ An FS::table_name object represents an pre--paid credit, such as a pre-paid
+``calling card''. FS::prepay_credit inherits from FS::Record. The following
+fields are currently supported:
+ 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.
+ $Id: prepay_credit.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+
+ the FS::Record manpage, schema.html from the base documentation.
+ $Log: prepay_credit.html,v $
+ Revision 1.1 2001-07-30 07:36:03 ivan
+ templates!!!
+
+Revision 1.2 2000/02/02 20:22:18 ivan
+bugfix prepayment in signup server Revision 1.1 2000/01/31 05:22:23 ivan
+prepaid ``internet cards''
+ FS::session - Object methods for session records
+
+ An FS::session object represents an user login session. FS::session inherits
+from FS::Record. The following fields are currently supported:
+ 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.
+ $Id: session.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+ Maybe you shouldn't be able to insert a session if there's currently an open
+session on that port. Or maybe the open session on that port should be flagged
+as problematic? autoclosed? *sigh* Hmm, sessions refer to current svc_acct records... probably need to constrain
+deletions to svc_acct records such that no svc_acct records are deleted which
+have a session (even if long-closed).
+ the FS::Record manpage, schema.html from the base documentation.
+ FS::svc_Common - Object method for all svc_ records
+ use FS::svc_Common; @ISA = qw( FS::svc_Common );
+ FS::svc_Common is intended as a base class for table-specific classes to
+inherit from, i.e. FS::svc_acct. FS::svc_Common inherits from FS::Record.
+ The additional fields pkgnum and svcpart (see the FS::cust_svc manpage) should be
+defined. An FS::cust_svc record will be created and inserted. The corresponding FS::cust_svc record will be deleted as well.
+ $Id: svc_Common.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ The setfixed method return value. The new method should set defaults from part_svc (like the check method
+sets fixed values)?
+ the FS::Record manpage, the FS::cust_svc manpage, the FS::part_svc manpage, the FS::cust_pkg manpage, schema.html
+from the base documentation.
+ FS::svc_acct - Object methods for svc_acct records
+
+ An FS::svc_acct object represents an account. FS::svc_acct inherits from
+FS::svc_Common. The following fields are currently supported:
+ The additional fields pkgnum and svcpart (see the FS::cust_svc manpage) should be
+defined. An FS::cust_svc record will be created and inserted. If the configuration value (see the FS::Conf manpage) shellmachine exists, and the
+username, uid, and dir fields are defined, the is the default. If the shellmachine-useradd configuration file exists but
+it empty, is the default instead. Otherwise the contents of the file are treated as
+a double-quoted perl string, with the following variables available:
+$username, $uid, $gid, $dir, and $shell. The corresponding FS::cust_svc record will be deleted as well. If the configuration value (see the FS::Conf manpage) shellmachine exists, the
+ is the default. If the shellmachine-userdel configuration file exists but
+is empty, is the default instead. Otherwise the contents of the file are treated as a
+double-quoted perl string, with the following variables available:
+$username and $dir. If the configuration value (see the FS::Conf manpage) shellmachine exists, and the
+dir field has changed, the is executed on shellmachine via ssh. This behaviour can be surpressed by
+setting $FS::svc_acct::nossh_hack true. Called by the suspend method of FS::cust_pkg (see the FS::cust_pkg manpage). Called by the unsuspend method of FS::cust_pkg (see the FS::cust_pkg manpage). Called by the cancel method of FS::cust_pkg (see the FS::cust_pkg manpage). Sets any fixed values; see the FS::part_svc manpage. Note that this is now the preferred method for reading RADIUS attributes -
+accessing the columns directly is discouraged, as the column names are
+expected to change in the future. Accessing RADIUS attributes directly is not supported and will break in the
+future.
+ $Id: svc_acct.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ The bits which ssh should fork before doing so (or maybe queue jobs for a
+daemon). The $recref stuff in sub check should be cleaned up. The suspend, unsuspend and cancel methods update the database, but not the
+current object. This is probably a bug as it's unexpected and
+counterintuitive.
+ the FS::svc_Common manpage, the FS::Record manpage, the FS::Conf manpage, the FS::cust_svc manpage,
+the FS::part_svc manpage, the FS::cust_pkg manpage, the Net::SSH manpage, ssh, the FS::svc_acct_pop manpage,
+schema.html from the base documentation.
+ FS::svc_acct_pop - Object methods for svc_acct_pop records
+
+ An FS::svc_acct object represents an point of presence. FS::svc_acct_pop
+inherits from FS::Record. The following fields are currently supported:
+
+ $Id: svc_acct_pop.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ It should be renamed to part_pop.
+ the FS::Record manpage, the svc_acct manpage, schema.html from the base documentation.
+ FS::svc_acct_sm - Object methods for svc_acct_sm records
+
+ An FS::svc_acct object represents a virtual mail alias. FS::svc_acct inherits
+from FS::Record. The following fields are currently supported:
+ The additional fields pkgnum and svcpart (see the FS::cust_svc manpage) should be
+defined. An FS::cust_svc record will be created and inserted. If the configuration values (see the FS::Conf manpage) shellmachine and qmailmachines
+exist, and domuser is `*' (meaning a catch-all mailbox), the command: is executed on shellmachine via ssh (see dot-qmail/``EXTENSION ADDRESSES'').
+This behaviour can be surpressed by setting $FS::svc_acct_sm::nossh_hack true. The corresponding FS::cust_svc record will be deleted as well. Called by the suspend method of FS::cust_pkg (see the FS::cust_pkg manpage). Called by the unsuspend method of FS::cust_pkg (see the FS::cust_pkg manpage). Called by the cancel method of FS::cust_pkg (see the FS::cust_pkg manpage). Sets any fixed values; see the FS::part_svc manpage.
+ $Id: svc_acct_sm.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ The remote commands should be configurable. The $recref stuff in sub check should be cleaned up.
+ the FS::Record manpage, the FS::Conf manpage, the FS::cust_svc manpage, the FS::part_svc manpage, the FS::cust_pkg manpage,
+the FS::svc_acct manpage, the FS::svc_domain manpage, the Net::SSH manpage, ssh, dot-qmail,
+schema.html from the base documentation.
+ FS::svc_domain - Object methods for svc_domain records
+
+ An FS::svc_domain object represents a domain. FS::svc_domain inherits from
+FS::svc_Common. The following fields are currently supported:
+ The additional fields pkgnum and svcpart (see the FS::cust_svc manpage) should be
+defined. An FS::cust_svc record will be created and inserted. The additional field action should be set to N for new domains or M
+for transfers. A registration or transfer email will be submitted unless
+$FS::svc_domain::whois_hack is true. The additional field email can be used to manually set the admin contact
+email address on this email. Otherwise, the svc_acct records for this package
+(see the FS::cust_pkg manpage) are searched. If there is exactly one svc_acct record
+in the same package, it is automatically used. Otherwise an error is returned. If any soamachine configuration file exists, an SOA record is added to
+the domain_record table (see <FS::domain_record>). If any machines are defined in the nsmachines configuration file, NS
+records are added to the domain_record table (see the FS::domain_record manpage). If any machines are defined in the mxmachines configuration file, MX
+records are added to the domain_record table (see the FS::domain_record manpage). Any problems adding FS::domain_record records will emit warnings, but will
+not return errors from this method. If your configuration files are correct
+you shouln't have any problems. The corresponding FS::cust_svc record will be deleted as well. Called by the suspend method of FS::cust_pkg (see the FS::cust_pkg manpage). Called by the unsuspend method of FS::cust_pkg (see the FS::cust_pkg manpage). Called by the cancel method of FS::cust_pkg (see the FS::cust_pkg manpage). Sets any fixed values; see the FS::part_svc manpage. (If $FS::svc_domain::whois_hack is true, returns that in all cases instead.)
+ $Id: svc_domain.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+ All BIND/DNS fields should be included (and exported). Delete doesn't send a registration template. All registries should be supported. Should change action to a real field. The $recref stuff in sub check should be cleaned up.
+ the FS::svc_Common manpage, the FS::Record manpage, the FS::Conf manpage, the FS::cust_svc manpage,
+the FS::part_svc manpage, the FS::cust_pkg manpage, the Net::Whois manpage, ssh,
+dot-qmail, schema.html from the base documentation, config.html from the
+base documentation.
+ FS::svc_www - Object methods for svc_www records
+
+ An FS::svc_www object represents an web virtual host. FS::svc_www inherits
+from FS::svc_Common. The following fields are currently supported:
+ 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. The additional fields pkgnum and svcpart (see the FS::cust_svc manpage) should be
+defined. An FS::cust_svc record will be created and inserted. If the configuration values (see the FS::Conf manpage) apachemachine, and
+apacheroot exist, the command: $zone is the DNS A record pointed to by recnum
+$username is the username pointed to by usersvc
+$homedir is that user's home directory is executed on apachemachine via ssh. This behaviour can be surpressed by
+setting $FS::svc_www::nossh_hack true.
+ $Id: svc_www.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+
+ the FS::svc_Common manpage, the FS::Record manpage, the FS::domain_record manpage, the FS::cust_svc manpage,
+the FS::part_svc manpage, the FS::cust_pkg manpage, schema.html from the base documentation.
+ $Log: svc_www.html,v $
+ Revision 1.1 2001-07-30 07:36:03 ivan
+ templates!!!
+
+Revision 1.4 2001/04/22 01:56:15 ivan
+get rid of FS::SSH.pm (became Net::SSH and Net::SCP on CPAN) Revision 1.3 2000/11/22 23:30:51 ivan
+tyop Revision 1.2 2000/03/01 08:13:59 ivan
+compilation bugfixes Revision 1.1 2000/02/03 05:16:52 ivan
+beginning of DNS and Apache support
+ FS::type_pkgs - Object methods for type_pkgs records
+
+ An FS::type_pkgs record links an agent type (see the FS::agent_type manpage) to a
+billing item definition (see the FS::part_pkg manpage). FS::type_pkgs inherits from
+FS::Record. The following fields are currently supported:
+
+ $Id: type_pkgs.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
+
+ the FS::Record manpage, the FS::agent_type manpage, the FS::part_pkgs manpage, schema.html from the base
+documentation.
Not OO. Not complete. small_custview sooooo doesn't belong here. i should just switch to Mason.
FS::Conf - Read access to Freeside configuration values FS::Conf - Freeside configuration values
Read access to Freeside configuration values. Keys currently map to filenames,
+ Read and write Freeside configuration values. Keys currently map to filenames,
but this may change in the future.
Write access (with locking) should be implemented. Write access (touch, set, delete) should be documented. If this was more than just crud that will never be useful outside Freeside I'd
+worry that config_items is freeside-specific and icky.
config.html from the base documentation contains a list of configuration files. ``Configuration'' in the web interface (config/config.cgi). httemplate/docs/config.html
+NAME
+
+SYNOPSIS
+
+
+
+
+
+
+NAME
+
+SYNOPSIS
+
+ use FS::CGI qw(header menubar idiot eidiot popurl);
+
+ print header( 'Title', '' );
+ print header( 'Title', menubar('item', 'URL', ... ) );
+
+ idiot "error message";
+ eidiot "error message";
+
+ $url = popurl; #returns current url
+ $url = popurl(3); #three levels up
+
+DESCRIPTION
+
+SUBROUTINES
+
+
+
+
+
+
+
+
+
+
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::Conf;
+
+ $conf = new FS::Conf "/config/directory";
+
+ $FS::Conf::default_dir = "/config/directory";
+ $conf = new FS::Conf;
+
+ $dir = $conf->dir;
+
+ $value = $conf->config('key');
+ @list = $conf->config('key');
+ $bool = $conf->exists('key');
+
+DESCRIPTION
+
+METHODS
+
+
+
+
+
+
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+
+
+
+
+
+NAME
+
+SYNOPSIS
+
+ use FS::Record;
+ use FS::Record qw(dbh fields qsearch qsearchs dbdef);
+
+ $record = new FS::Record 'table', \%hash;
+ $record = new FS::Record 'table', { 'column' => 'value', ... };
+
+ $record = qsearchs FS::Record 'table', \%hash;
+ $record = qsearchs FS::Record 'table', { 'column' => 'value', ... };
+ @records = qsearch FS::Record 'table', \%hash;
+ @records = qsearch FS::Record 'table', { 'column' => 'value', ... };
+
+ $table = $record->table;
+ $dbdef_table = $record->dbdef_table;
+
+ $value = $record->get('column');
+ $value = $record->getfield('column');
+ $value = $record->column;
+
+ $record->set( 'column' => 'value' );
+ $record->setfield( 'column' => 'value' );
+ $record->column('value');
+
+ %hash = $record->hash;
+
+ $hashref = $record->hashref;
+
+ $error = $record->insert;
+ #$error = $record->add; #depriciated
+
+ $error = $record->delete;
+ #$error = $record->del; #depriciated
+
+ $error = $new_record->replace($old_record);
+ #$error = $new_record->rep($old_record); #depriciated
+
+ $value = $record->unique('column');
+
+ $value = $record->ut_float('column');
+ $value = $record->ut_number('column');
+ $value = $record->ut_numbern('column');
+ $value = $record->ut_money('column');
+ $value = $record->ut_text('column');
+ $value = $record->ut_textn('column');
+ $value = $record->ut_alpha('column');
+ $value = $record->ut_alphan('column');
+ $value = $record->ut_phonen('column');
+ $value = $record->ut_anythingn('column');
+
+ $dbdef = reload_dbdef;
+ $dbdef = reload_dbdef "/non/standard/filename";
+ $dbdef = dbdef;
+
+ $quoted_value = _quote($value,'table','field');
+
+ #depriciated
+ $fields = hfields('table');
+ if ( $fields->{Field} ) { # etc.
+
+ @fields = fields 'table'; #as a subroutine
+ @fields = $record->fields; #as a method call
+
+DESCRIPTION
+
+CONSTRUCTORS
+
+
+
+
+SELECT * FROM table WHERE ...
. However, there is an experimental new
+#feature where you can specify SELECT - remember, the objects returned,
+#although blessed into the appropriate `FS::TABLE' package, will only have the
+#fields you specify. This might have unwanted results if you then go calling
+#regular FS::TABLE methods
+#on it.
+
+METHODS
+
+
+
+
+
+
+
+column('value')
is a synonym for $record->set('column','value');
+
+ $new = new FS::Record ( $old->table, { $old->hash } );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SUBROUTINES
+
+
+reload_dbdef([FILENAME])
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+
+
+
+
+
+NAME
+
+SYNOPSIS
+
+ use FS::SessionClient qw( login portnum logout );
+
+ $error = login ( {
+ 'username' => $username,
+ 'password' => $password,
+ 'login' => $timestamp,
+ 'portnum' => $portnum,
+ } );
+
+ $portnum = portnum( { 'ip' => $ip } ) or die "unknown ip!"
+ $portnum = portnum( { 'nasnum' => $nasnum, 'nasport' => $nasport } )
+ or die "unknown nasnum/nasport";
+
+ $error = logout ( {
+ 'username' => $username,
+ 'password' => $password,
+ 'logout' => $timestamp,
+ 'portnum' => $portnum,
+ } );
+
+DESCRIPTION
+
+SUBROUTINES
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+
+
+
+
+
+NAME
+
+SYNOPSIS
+ use FS::SignupClient qw( signup_info new_customer );
+
+ ( $locales, $packages, $pops ) = signup_info;
+
+ $error = new_customer ( {
+ 'first' => $first,
+ 'last' => $last,
+ 'ss' => $ss,
+ 'comapny' => $company,
+ 'address1' => $address1,
+ 'address2' => $address2,
+ 'city' => $city,
+ 'county' => $county,
+ 'state' => $state,
+ 'zip' => $zip,
+ 'country' => $country,
+ 'daytime' => $daytime,
+ 'night' => $night,
+ 'fax' => $fax,
+ 'payby' => $payby,
+ 'payinfo' => $payinfo,
+ 'paydate' => $paydate,
+ 'payname' => $payname,
+ 'invoicing_list' => $invoicing_list,
+ 'pkgpart' => $pkgpart,
+ 'username' => $username,
+ '_password' => $password,
+ 'popnum' => $popnum,
+ } );
+
+
+DESCRIPTION
+
+SUBROUTINES
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::UI::SomeInterface;
+ use FS::UI::some_table;
+
+ $interface = new FS::UI::some_table;
+
+ $error = $interface->browse;
+ $error = $interface->search;
+ $error = $interface->view;
+ $error = $interface->edit;
+ $error = $interface->process;
+
+DESCRIPTION
+
+ package FS::UI::table_name;
+ use vars qw ( @ISA );
+ use FS::UI::Base;
+ @ISA = qw( FS::UI::Base );
+ sub db_table { 'table_name'; }
+
+METHODS
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+HISTORY
+
+NAME
+
+SYNOPSIS
+
+ use FS::UI::CGI;
+ use FS::UI::some_table;
+
+ $interface = new FS::UI::some_table;
+
+ $error = $interface->browse;
+ $error = $interface->search;
+ $error = $interface->view;
+ $error = $interface->edit;
+ $error = $interface->process;
+
+DESCRIPTION
+
+METHODS
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+
+HISTORY
+
+NAME
+
+SYNOPSIS
+
+ use FS::UI::Gtk;
+ use FS::UI::some_table;
+
+ $interface = new FS::UI::some_table;
+
+ $error = $interface->browse;
+ $error = $interface->search;
+ $error = $interface->view;
+ $error = $interface->edit;
+ $error = $interface->process;
+
+DESCRIPTION
+
+METHODS
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+
+HISTORY
+
+
+
+
+
+
+NAME
+
+SYNOPSIS
+
+ use FS::UID qw(adminsuidsetup cgisuidsetup dbh datasrc getotaker
+ checkeuid checkruid swapuid);
+
+ adminsuidsetup $user;
+
+ $cgi = new CGI;
+ $dbh = cgisuidsetup($cgi);
+
+ $dbh = dbh;
+
+ $datasrc = datasrc;
+
+ $driver_name = driver_name;
+
+DESCRIPTION
+
+SUBROUTINES
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CALLBACKS
+
+ $coderef = sub { warn "Hi, I'm returning your call!" };
+ $FS::UID::callback{'Package::Name'};
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::agent;
+
+ $record = new FS::agent \%hash;
+ $record = new FS::agent { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $agent_type = $record->agent_type;
+
+ $hashref = $record->pkgpart_hashref;
+ #may purchase $pkgpart if $hashref->{$pkgpart};
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::agent_type;
+
+ $record = new FS::agent_type \%hash;
+ $record = new FS::agent_type { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $hashref = $record->pkgpart_hashref;
+ #may purchase $pkgpart if $hashref->{$pkgpart};
+
+ @type_pkgs = $record->type_pkgs;
+
+ @pkgparts = $record->pkgpart;
+
+DESCRIPTION
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::cust_bill;
+
+ $record = new FS::cust_bill \%hash;
+ $record = new FS::cust_bill { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ ( $total_previous_balance, @previous_cust_bill ) = $record->previous;
+
+ @cust_bill_pkg_objects = $cust_bill->cust_bill_pkg;
+
+ ( $total_previous_credits, @previous_cust_credit ) = $record->cust_credit;
+
+ @cust_pay_objects = $cust_bill->cust_pay;
+
+ @lines = $cust_bill->print_text;
+ @lines = $cust_bill->print_text $time;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::cust_bill_pkg;
+
+ $record = new FS::cust_bill_pkg \%hash;
+ $record = new FS::cust_bill_pkg { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::cust_credit;
+
+ $record = new FS::cust_credit \%hash;
+ $record = new FS::cust_credit { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::cust_main;
+
+ $record = new FS::cust_main \%hash;
+ $record = new FS::cust_main { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ @cust_pkg = $record->all_pkgs;
+
+ @cust_pkg = $record->ncancelled_pkgs;
+
+ $error = $record->bill;
+ $error = $record->bill %options;
+ $error = $record->bill 'time' => $time;
+
+ $error = $record->collect;
+ $error = $record->collect %options;
+ $error = $record->collect 'invoice_time' => $time,
+ 'batch_card' => 'yes',
+ 'report_badcard' => 'yes',
+ ;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+ use Tie::RefHash;
+ tie %hash, 'Tie::RefHash'; #this part is important
+ %hash = (
+ $cust_pkg => [ $svc_acct ],
+ ...
+ );
+ $cust_main->insert( \%hash );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::cust_main_county;
+
+ $record = new FS::cust_main_county \%hash;
+ $record = new FS::cust_main_county { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::cust_main_invoice;
+
+ $record = new FS::cust_main_invoice \%hash;
+ $record = new FS::cust_main_invoice { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $email_address = $record->address;
+
+DESCRIPTION
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::cust_pay;
+
+ $record = new FS::cust_pay \%hash;
+ $record = new FS::cust_pay { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::cust_pay_batch;
+
+ $record = new FS::cust_pay_batch \%hash;
+ $record = new FS::cust_pay_batch { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+
+
+
+
+
+NAME
+
+SYNOPSIS
+
+ use FS::cust_pkg;
+
+ $record = new FS::cust_pkg \%hash;
+ $record = new FS::cust_pkg { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $error = $record->cancel;
+
+ $error = $record->suspend;
+
+ $error = $record->unsuspend;
+
+ $part_pkg = $record->part_pkg;
+
+ @labels = $record->labels;
+
+ $error = FS::cust_pkg::order( $custnum, \@pkgparts );
+ $error = FS::cust_pkg::order( $custnum, \@pkgparts, \@remove_pkgnums ] );
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+ # custnum might not have have been defined in sub check (for one-shot new
+ # customers), so check it here instead
+
+ my $error = $self->ut_number('custnum');
+ return $error if $error
+
+ return "Unknown customer"
+ unless qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
+
+ $self->SUPER::insert;
+
+
+
+
+
+
+
+
+
+SUBROUTINES
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::cust_refund;
+
+ $record = new FS::cust_refund \%hash;
+ $record = new FS::cust_refund { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ 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;
+
+DESCRIPTION
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::domain_record;
+
+ $record = new FS::domain_record \%hash;
+ $record = new FS::domain_record { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+HISTORY
+
+NAME
+
+SYNOPSIS
+
+ use FS::nas;
+
+ $record = new FS::nas \%hash;
+ $record = new FS::nas {
+ 'nasnum' => 1,
+ 'nasip' => '10.4.20.23',
+ 'nasfqdn' => 'box1.brc.nv.us.example.net',
+ };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $error = $record->heartbeat($timestamp);
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::part_pkg;
+
+ $record = new FS::part_pkg \%hash
+ $record = new FS::part_pkg { 'column' => 'value' };
+
+ $custom_record = $template_record->clone;
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ @pkg_svc = $record->pkg_svc;
+
+ $svcnum = $record->svcpart;
+ $svcnum = $record->svcpart( 'svc_acct' );
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::part_referral;
+
+ $record = new FS::part_referral \%hash
+ $record = new FS::part_referral { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::part_svc;
+
+ $record = new FS::part_referral \%hash
+ $record = new FS::part_referral { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::pkg_svc;
+
+ $record = new FS::pkg_svc \%hash;
+ $record = new FS::pkg_svc { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $part_pkg = $record->part_pkg;
+
+ $part_svc = $record->part_svc;
+
+DESCRIPTION
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::port;
+
+ $record = new FS::port \%hash;
+ $record = new FS::port { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $session = $port->session;
+
+DESCRIPTION
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::prepay_credit;
+
+ $record = new FS::prepay_credit \%hash;
+ $record = new FS::prepay_credit {
+ 'identifier' => '4198123455512121'
+ 'amount' => '19.95',
+ };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+HISTORY
+
+NAME
+
+SYNOPSIS
+
+ use FS::session;
+
+ $record = new FS::session \%hash;
+ $record = new FS::session {
+ 'portnum' => 1,
+ 'svcnum' => 2,
+ 'login' => $timestamp,
+ 'logout' => $timestamp,
+ };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $error = $record->nas_heartbeat($timestamp);
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+DESCRIPTION
+
+METHODS
+
+
+
+
+
+ref()
+to test the return). Usually called by the check method.
+
+
+ref()
to test the return).
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::svc_acct;
+
+ $record = new FS::svc_acct \%hash;
+ $record = new FS::svc_acct { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $error = $record->suspend;
+
+ $error = $record->unsuspend;
+
+ $error = $record->cancel;
+
+ %hash = $record->radius;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+command(s)
specified in
+the shellmachine-useradd configuration are exectued on shellmachine via ssh.
+This behaviour can be surpressed by setting $FS::svc_acct::nossh_hack true.
+If the shellmachine-useradd configuration file does not exist,
+ useradd -d $dir -m -s $shell -u $uid $username
+
+ cp -pr /etc/skel $dir; chown -R $uid.$gid $dir
+
+command(s)
specified in the shellmachine-userdel configuration file are
+executed on shellmachine via ssh. This behavior can be surpressed by setting
+$FS::svc_acct::nossh_hack true. If the shellmachine-userdel configuration
+file does not exist,
+ userdel $username
+
+ rm -rf $dir
+
+command(s)
specified in the shellmachine-usermod
+configuraiton file are executed on shellmachine via ssh. This behavior can
+be surpressed by setting $FS::svc-acct::nossh_hack true. If the
+shellmachine-userdel configuration file does not exist or is empty, :
+ [ -d $old_dir ] && mv $old_dir $new_dir || (
+ chmod u+t $old_dir;
+ mkdir $new_dir;
+ cd $old_dir;
+ find . -depth -print | cpio -pdm $new_dir;
+ chmod u-t $new_dir;
+ chown -R $uid.$gid $new_dir;
+ rm -rf $old_dir
+ )
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::svc_acct_pop;
+
+ $record = new FS::svc_acct_pop \%hash;
+ $record = new FS::svc_acct_pop { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::svc_acct_sm;
+
+ $record = new FS::svc_acct_sm \%hash;
+ $record = new FS::svc_acct_sm { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $error = $record->suspend;
+
+ $error = $record->unsuspend;
+
+ $error = $record->cancel;
+
+DESCRIPTION
+
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+ [ -e $dir/.qmail-$qdomain-default ] || {
+ touch $dir/.qmail-$qdomain-default;
+ chown $uid:$gid $dir/.qmail-$qdomain-default;
+ }
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::svc_domain;
+
+ $record = new FS::svc_domain \%hash;
+ $record = new FS::svc_domain { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $error = $record->suspend;
+
+ $error = $record->unsuspend;
+
+ $error = $record->cancel;
+
+DESCRIPTION
+
+METHODS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+NAME
+
+SYNOPSIS
+
+ use FS::svc_www;
+
+ $record = new FS::svc_www \%hash;
+ $record = new FS::svc_www { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+ $error = $record->suspend;
+
+ $error = $record->unsuspend;
+
+ $error = $record->cancel;
+
+DESCRIPTION
+
+
+
+
+
+
+METHODS
+
+
+
+
+
+ mkdir $apacheroot/$zone;
+ chown $username $apacheroot/$zone;
+ ln -s $apacheroot/$zone $homedir/$zone
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+HISTORY
+
+NAME
+
+SYNOPSIS
+
+ use FS::type_pkgs;
+
+ $record = new FS::type_pkgs \%hash;
+ $record = new FS::type_pkgs { 'column' => 'value' };
+
+ $error = $record->insert;
+
+ $error = $new_record->replace($old_record);
+
+ $error = $record->delete;
+
+ $error = $record->check;
+
+DESCRIPTION
+
+
+
+
+
+METHODS
+
+
+
+
+
+
+
+
+VERSION
+
+BUGS
+
+SEE ALSO
+
+
BUGS
SEE ALSO
diff --git a/httemplate/docs/man/FS/Conf.html b/httemplate/docs/man/FS/Conf.html
index 7b1613efd..be49be31f 100644
--- a/httemplate/docs/man/FS/Conf.html
+++ b/httemplate/docs/man/FS/Conf.html
@@ -1,6 +1,6 @@
-
NAME
-
SYNOPSIS
@@ -40,10 +40,12 @@
$value = $conf->config('key');
@list = $conf->config('key');
$bool = $conf->exists('key');
+
+ @config_items = $conf->config_items;
DESCRIPTION
-
@@ -66,15 +68,29 @@ Returns the configuration value or values (depending on context) for key.
+
+
+
+
BUGS
-
SEE ALSO
-
$value = $record->unique('column');
- $value = $record->ut_float('column');
- $value = $record->ut_number('column');
- $value = $record->ut_numbern('column');
- $value = $record->ut_money('column');
- $value = $record->ut_text('column');
- $value = $record->ut_textn('column');
- $value = $record->ut_alpha('column');
- $value = $record->ut_alphan('column');
- $value = $record->ut_phonen('column');
- $value = $record->ut_anythingn('column');
+ $error = $record->ut_float('column');
+ $error = $record->ut_number('column');
+ $error = $record->ut_numbern('column');
+ $error = $record->ut_money('column');
+ $error = $record->ut_text('column');
+ $error = $record->ut_textn('column');
+ $error = $record->ut_alpha('column');
+ $error = $record->ut_alphan('column');
+ $error = $record->ut_phonen('column');
+ $error = $record->ut_anything('column');
+ $error = $record->ut_name('column');
$dbdef = reload_dbdef;
$dbdef = reload_dbdef "/non/standard/filename";
@@ -125,6 +125,14 @@ objects.
#regular FS::TABLE methods
#on it.
Arguments:
+May not be null.
+ +
$Id: Record.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
--
This module should probably be renamed, since much of the functionality is of general use. It is not completely unlike Adapter::DBI (see below).
@@ -323,7 +346,7 @@ true maps to the database (and WHERE clauses) would also help.A fallback check method should be provided which uses the dbdef.
The ut_money method assumes money has two decimal digits.
The Pg money kludge in the new method only strips `$'.
-The ut_phonen method assumes US-style phone numbers.
+The ut_phonen method only checks US-style phone numbers.
The _quote function should probably use ut_float instead of a regex.
All the subroutines probably should be methods, here or elsewhere.
Probably should borrow/use some dbdef methods where appropriate (like sub @@ -331,6 +354,7 @@ fields)
As of 1.14, DBI fetchall_hashref( {} ) doesn't set fetchrow_hashref NAME_lc, or allow it to be set. Working around it is ugly any way around - DBI should be fixed. (only affects RDBMS which return uppercase column names)
+ut_zip should take an optional country like ut_phone.
$Id: SessionClient.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+$Id: SessionClient.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
-
-FS::SignupClient - Freeside signup client API - +
FS::SignupClient - Freeside signup client API
-
use FS::SignupClient qw( signup_info new_customer ); --
-
( $locales, $packages, $pops ) = signup_info; --
-
$error = new_customer ( { - 'first' => $first, - 'last' => $last, - 'ss' => $ss, - 'comapny' => $company, - 'address1' => $address1, - 'address2' => $address2, - 'city' => $city, - 'county' => $county, - 'state' => $state, - 'zip' => $zip, - 'country' => $country, - 'daytime' => $daytime, - 'night' => $night, - 'fax' => $fax, - 'payby' => $payby, - 'payinfo' => $payinfo, - 'paydate' => $paydate, - 'payname' => $payname, - 'invoicing_list' => $invoicing_list, - 'pkgpart' => $pkgpart, - 'username' => $username, - '_password' => $password, - 'popnum' => $popnum, - } ); -+
+ use FS::SignupClient qw( signup_info new_customer );+
+ ( $locales, $packages, $pops ) = signup_info;+
+ $error = new_customer ( { + 'first' => $first, + 'last' => $last, + 'ss' => $ss, + 'comapny' => $company, + 'address1' => $address1, + 'address2' => $address2, + 'city' => $city, + 'county' => $county, + 'state' => $state, + 'zip' => $zip, + 'country' => $country, + 'daytime' => $daytime, + 'night' => $night, + 'fax' => $fax, + 'payby' => $payby, + 'payinfo' => $payinfo, + 'paydate' => $paydate, + 'payname' => $payname, + 'invoicing_list' => $invoicing_list, + 'referral_custnum' => $referral_custnum, + 'pkgpart' => $pkgpart, + 'username' => $username, + '_password' => $password, + 'popnum' => $popnum, + } );
-This module provides an API for a remote signup server. - -
-It needs to be run as the freeside user. Because of this, the program which -calls these subroutines should be written very carefully. - +
This module provides an API for a remote signup server.
+It needs to be run as the freeside user. Because of this, the program which +calls these subroutines should be written very carefully.
+
-The first set of hash references is of allowable locales. Each hash -reference has the following keys: taxnum state county country - -
-The second set of hash references is of allowable packages. Each hash -reference has the following keys: pkgpart pkg - -
-The third set of hash references is of allowable POPs (Points Of Presence). -Each hash reference has the following keys: popnum city state ac exch - -
-Adds a customer to the remote Freeside system. Requires a hash reference as -a paramater with the following keys: first last ss comapny address1 -address2 city county state zip country daytime night fax payby payinfo -paydate payname invoicing_list pkgpart username _password popnum - -
-Returns a scalar error message, or the empty string for success. - -
The first set of hash references is of allowable locales. Each hash reference +has the following keys: + taxnum + state + county + country
+The second set of hash references is of allowable packages. Each hash +reference has the following keys: + pkgpart + pkg
+The third set of hash references is of allowable POPs (Points Of Presence). +Each hash reference has the following keys: + popnum + city + state + ac + exch
+ +Returns a scalar error message, or the empty string for success.
+
-$Id: SignupClient.html,v 1.1 2001-07-30 07:36:03 ivan Exp $ - -
-
-fs_signupd, FS::SignupServer, FS::cust_main - - +
fs_signupd, the FS::SignupServer manpage, the FS::cust_main manpage
diff --git a/httemplate/docs/man/FS/UID.html b/httemplate/docs/man/FS/UID.html index 9f4947765..3c28eebfd 100644 --- a/httemplate/docs/man/FS/UID.html +++ b/httemplate/docs/man/FS/UID.html @@ -31,7 +31,7 @@use FS::UID qw(adminsuidsetup cgisuidsetup dbh datasrc getotaker - checkeuid checkruid swapuid);+ checkeuid checkruid);
adminsuidsetup $user;
@@ -100,10 +100,6 @@ Returns true if effective UID is that of the freeside user.
$Id: UID.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+$Id: UID.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
@cust_pay_objects = $cust_bill->cust_pay;+
+ $tax_amount = $record->tax;
@lines = $cust_bill->print_text; @lines = $cust_bill->print_text $time;@@ -72,6 +74,8 @@ following fields are currently supported:
+ #Returns a list consisting of the total previous credited (see + #L<FS::cust_credit>) and unapplied for this customer, followed by the previous + #outstanding credits (FS::cust_credit objects).
#Returns all payments (see the FS::cust_pay manpage) for this invoice.
+ +
$Id: cust_bill.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+$Id: cust_bill.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
the FS::Record manpage, the FS::cust_main manpage, the FS::cust_pay manpage, the FS::cust_bill_pkg manpage, -the FS::cust_credit manpage, schema.html from the base documentation.
+the FS::Record manpage, the FS::cust_main manpage, the FS::cust_bill_pay manpage, FS:;cust_pay, +the FS::cust_bill_pkg manpage, the FS::cust_bill_credit manpage, schema.html from the base +documentation.
diff --git a/httemplate/docs/man/FS/cust_credit.html b/httemplate/docs/man/FS/cust_credit.html index 16caca60d..f30241371 100644 --- a/httemplate/docs/man/FS/cust_credit.html +++ b/httemplate/docs/man/FS/cust_credit.html @@ -61,6 +61,8 @@ FS::Record. The following fields are currently supported:
#Returns all refunds (see the FS::cust_refund manpage) for this credit.
+ +
$Id: cust_credit.html,v 1.1 2001-07-30 07:36:03 ivan Exp $
+$Id: cust_credit.html,v 1.3 2002-01-29 17:42:46 ivan Exp $
the FS::Record manpage, the FS::cust_refund manpage, the FS::cust_bill manpage, schema.html from the base +
the FS::Record manpage, the FS::cust_credit_refund manpage, the FS::cust_refund manpage, +the FS::cust_credit_bill manpage the FS::cust_bill manpage, schema.html from the base documentation.