From 51984ac3d3da3006809c6866fdecd4ad83610731 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 30 Jul 2001 07:36:04 +0000 Subject: templates!!! --- httemplate/docs/man/FS.html | 138 +++++++++++ httemplate/docs/man/FS/Bill.html | 32 +++ httemplate/docs/man/FS/CGI.html | 95 +++++++ httemplate/docs/man/FS/CGIwrapper.html | 16 ++ httemplate/docs/man/FS/Conf.html | 81 ++++++ httemplate/docs/man/FS/Invoice.html | 32 +++ httemplate/docs/man/FS/Record.html | 342 ++++++++++++++++++++++++++ httemplate/docs/man/FS/SessionClient.html | 97 ++++++++ httemplate/docs/man/FS/SignupClient.html | 125 ++++++++++ httemplate/docs/man/FS/UI/Base.html | 100 ++++++++ httemplate/docs/man/FS/UI/CGI.html | 94 +++++++ httemplate/docs/man/FS/UI/Gtk.html | 91 +++++++ httemplate/docs/man/FS/UI/agent.html | 16 ++ httemplate/docs/man/FS/UID.html | 142 +++++++++++ httemplate/docs/man/FS/agent.html | 121 +++++++++ httemplate/docs/man/FS/agent_type.html | 126 ++++++++++ httemplate/docs/man/FS/cust_bill.html | 161 ++++++++++++ httemplate/docs/man/FS/cust_bill_pkg.html | 112 +++++++++ httemplate/docs/man/FS/cust_credit.html | 118 +++++++++ httemplate/docs/man/FS/cust_main.html | 279 +++++++++++++++++++++ httemplate/docs/man/FS/cust_main_county.html | 106 ++++++++ httemplate/docs/man/FS/cust_main_invoice.html | 114 +++++++++ httemplate/docs/man/FS/cust_pay.html | 108 ++++++++ httemplate/docs/man/FS/cust_pay_batch.html | 132 ++++++++++ httemplate/docs/man/FS/cust_pkg.html | 205 +++++++++++++++ httemplate/docs/man/FS/cust_refund.html | 108 ++++++++ httemplate/docs/man/FS/cust_svc.html | 118 +++++++++ httemplate/docs/man/FS/domain_record.html | 124 ++++++++++ httemplate/docs/man/FS/nas.html | 117 +++++++++ httemplate/docs/man/FS/part_pkg.html | 138 +++++++++++ httemplate/docs/man/FS/part_referral.html | 100 ++++++++ httemplate/docs/man/FS/part_svc.html | 110 +++++++++ httemplate/docs/man/FS/pkg_svc.html | 115 +++++++++ httemplate/docs/man/FS/port.html | 120 +++++++++ httemplate/docs/man/FS/prepay_credit.html | 118 +++++++++ httemplate/docs/man/FS/session.html | 129 ++++++++++ httemplate/docs/man/FS/svc_Common.html | 94 +++++++ httemplate/docs/man/FS/svc_acct.html | 219 +++++++++++++++++ httemplate/docs/man/FS/svc_acct_pop.html | 107 ++++++++ httemplate/docs/man/FS/svc_acct_sm.html | 141 +++++++++++ httemplate/docs/man/FS/svc_domain.html | 162 ++++++++++++ httemplate/docs/man/FS/svc_www.html | 150 +++++++++++ httemplate/docs/man/FS/type_pkgs.html | 100 ++++++++ 43 files changed, 5253 insertions(+) create mode 100644 httemplate/docs/man/FS.html create mode 100644 httemplate/docs/man/FS/Bill.html create mode 100644 httemplate/docs/man/FS/CGI.html create mode 100644 httemplate/docs/man/FS/CGIwrapper.html create mode 100644 httemplate/docs/man/FS/Conf.html create mode 100644 httemplate/docs/man/FS/Invoice.html create mode 100644 httemplate/docs/man/FS/Record.html create mode 100644 httemplate/docs/man/FS/SessionClient.html create mode 100644 httemplate/docs/man/FS/SignupClient.html create mode 100644 httemplate/docs/man/FS/UI/Base.html create mode 100644 httemplate/docs/man/FS/UI/CGI.html create mode 100644 httemplate/docs/man/FS/UI/Gtk.html create mode 100644 httemplate/docs/man/FS/UI/agent.html create mode 100644 httemplate/docs/man/FS/UID.html create mode 100644 httemplate/docs/man/FS/agent.html create mode 100644 httemplate/docs/man/FS/agent_type.html create mode 100644 httemplate/docs/man/FS/cust_bill.html create mode 100644 httemplate/docs/man/FS/cust_bill_pkg.html create mode 100644 httemplate/docs/man/FS/cust_credit.html create mode 100644 httemplate/docs/man/FS/cust_main.html create mode 100644 httemplate/docs/man/FS/cust_main_county.html create mode 100644 httemplate/docs/man/FS/cust_main_invoice.html create mode 100644 httemplate/docs/man/FS/cust_pay.html create mode 100644 httemplate/docs/man/FS/cust_pay_batch.html create mode 100644 httemplate/docs/man/FS/cust_pkg.html create mode 100644 httemplate/docs/man/FS/cust_refund.html create mode 100644 httemplate/docs/man/FS/cust_svc.html create mode 100644 httemplate/docs/man/FS/domain_record.html create mode 100644 httemplate/docs/man/FS/nas.html create mode 100644 httemplate/docs/man/FS/part_pkg.html create mode 100644 httemplate/docs/man/FS/part_referral.html create mode 100644 httemplate/docs/man/FS/part_svc.html create mode 100644 httemplate/docs/man/FS/pkg_svc.html create mode 100644 httemplate/docs/man/FS/port.html create mode 100644 httemplate/docs/man/FS/prepay_credit.html create mode 100644 httemplate/docs/man/FS/session.html create mode 100644 httemplate/docs/man/FS/svc_Common.html create mode 100644 httemplate/docs/man/FS/svc_acct.html create mode 100644 httemplate/docs/man/FS/svc_acct_pop.html create mode 100644 httemplate/docs/man/FS/svc_acct_sm.html create mode 100644 httemplate/docs/man/FS/svc_domain.html create mode 100644 httemplate/docs/man/FS/svc_www.html create mode 100644 httemplate/docs/man/FS/type_pkgs.html (limited to 'httemplate/docs/man') diff --git a/httemplate/docs/man/FS.html b/httemplate/docs/man/FS.html new file mode 100644 index 000000000..23e8ca42f --- /dev/null +++ b/httemplate/docs/man/FS.html @@ -0,0 +1,138 @@ + + +FS - Freeside Perl modules + + + + + + + + + + + +
+

+

NAME

+

FS - Freeside Perl modules

+

+


+

SYNOPSIS

+

FS is the unofficial (i.e. non-CPAN) prefix for the Perl module portion of the +Freeside ISP billing software. This includes:

+

+

Utility classes

+

the FS::Conf manpage - Freeside configuration values

+

the FS::UID manpage - User class (not yet OO)

+

the FS::CGI manpage - Non OO-subroutines for the web interface. This is +depriciated. Future development will be focused on the FS::UI user-interface +classes (see below).

+

+

Database record classes

+

the FS::Record manpage - Database record base class

+

the FS::svc_acct_pop manpage - POP (Point of Presence, not Post +Office Protocol) class

+

the FS::part_referral manpage - Referral class

+

the FS::cust_main_county manpage - Locale (tax rate) class

+

the FS::svc_Common manpage - Service base class

+

the FS::svc_acct manpage - Account (shell, RADIUS, POP3) class

+

the FS::svc_domain manpage - Domain class

+

the FS::domain_record manpage - DNS zone entries

+

the FS::svc_acct_sm manpage - Vitual mail alias class

+

the FS::svc_www manpage - Web virtual host class.

+

the FS::part_svc manpage - Service definition class

+

the FS::part_pkg manpage - Package (billing item) definition class

+

the FS::pkg_svc manpage - Class linking package (billing item) +definitions (see the FS::part_pkg manpage) with service definitions +(see the FS::part_svc manpage)

+

the FS::agent manpage - Agent (reseller) class

+

the FS::agent_type manpage - Agent type class

+

the FS::type_pkgs manpage - Class linking agent types (see +the FS::agent_type manpage) with package (billing item) definitions +(see the FS::part_pkg manpage)

+

the FS::cust_svc manpage - Service class

+

the FS::cust_pkg manpage - Package (billing item) class

+

the FS::cust_main manpage - Customer class

+

the FS::cust_main_invoice manpage - Invoice destination +class

+

the FS::cust_bill manpage - Invoice class

+

the FS::cust_bill_pkg manpage - Invoice line item class

+

the FS::cust_pay manpage - Payment class

+

the FS::cust_credit manpage - Credit class

+

the FS::cust_refund manpage - Refund class

+

the FS::cust_pay_batch manpage - Credit card transaction queue class

+

the FS::prepay_credit manpage - Prepaid ``calling card'' credit class.

+

the FS::nas manpage - Network Access Server class

+

the FS::port manpage - NAS port class

+

the FS::session manpage - User login session class

+

+

User Interface classes (under development; not yet usable)

+

the FS::UI::Base manpage - User-interface base class

+

the FS::UI::Gtk manpage - Gtk user-interface class

+

the FS::UI::CGI manpage - CGI (HTML) user-interface class

+

the FS::UI::agent manpage - agent table user-interface class

+

+

Notes

+

To quote perl(1), ``If you're intending to read these straight through for the +first time, the suggested order will tend to reduce the number of forward +references.''

+

+


+

DESCRIPTION

+

Freeside is a billing and administration package for Internet Service +Providers.

+

The Freeside home page is at <http://www.sisd.com/freeside>.

+

The main documentation is in htdocs/docs.

+

+


+

VERSION

+

$Id: FS.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

SUPPORT

+

A mailing list for users and developers is available. Send a blank message to +<ivan-freeside-subscribe@sisd.com> to subscribe.

+

Commercial support is available; see +<http://www.sisd.com/freeside/commercial.html>.

+

+


+

AUTHOR

+

Primarily Ivan Kohler <ivan@sisd.com>, with help from many kind folks.

+

See the CREDITS file in the Freeside distribution for a (hopefully) complete +list and the individal files for details.

+

+


+

SEE ALSO

+

perl(1), main Freeside documentation in htdocs/docs/

+

+


+

BUGS

+

The version number of the FS Perl extension differs from the version of the +Freeside distribution, which are both different from the CVS version tag for +each file, which appears under the VERSION heading.

+

Those modules which would be useful separately should be pulled out, +renamed appropriately and uploaded to CPAN. So far: DBIx::DBSchema, Net::SSH +and Net::SCP...

+ + + + diff --git a/httemplate/docs/man/FS/Bill.html b/httemplate/docs/man/FS/Bill.html new file mode 100644 index 000000000..cf996ae80 --- /dev/null +++ b/httemplate/docs/man/FS/Bill.html @@ -0,0 +1,32 @@ + + +FS::Bill - Legacy stub + + + + + + + + + + +
+

+

NAME

+

+FS::Bill - Legacy stub + +

+


+

SYNOPSIS

+

+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 + + + + + + + + +

+ + +
+

+

NAME

+

FS::CGI - Subroutines for the web interface

+

+


+

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

+

Provides a few common subroutines for the web interface.

+

+


+

SUBROUTINES

+
+
header TITLE, MENUBAR
+
+Returns an HTML header. +

+
menubar ITEM, URL, ...
+
+Returns an HTML menubar. +

+
idiot ERROR
+
+This is depriciated. Don't use it. +

Sends headers and an HTML error message.

+

+
eidiot ERROR
+
+This is depriciated. Don't use it. +

Sends headers and an HTML error message, then exits.

+

+
popurl LEVEL
+
+Returns current URL with LEVEL levels of path removed from the end (default 0). +

+
table
+
+Returns HTML tag for beginning a table. +

+
itable
+
+Returns HTML tag for beginning an (invisible) table. +

+
ntable
+
+This is getting silly. +

+

+


+

BUGS

+

Not OO.

+

Not complete.

+

+


+

SEE ALSO

+

the CGI manpage, the CGI::Base manpage

+ + + + diff --git a/httemplate/docs/man/FS/CGIwrapper.html b/httemplate/docs/man/FS/CGIwrapper.html new file mode 100644 index 000000000..bab5e7f37 --- /dev/null +++ b/httemplate/docs/man/FS/CGIwrapper.html @@ -0,0 +1,16 @@ + + +./FS/FS/CGIwrapper.pm + + + + + + + + + + + + + diff --git a/httemplate/docs/man/FS/Conf.html b/httemplate/docs/man/FS/Conf.html new file mode 100644 index 000000000..7b1613efd --- /dev/null +++ b/httemplate/docs/man/FS/Conf.html @@ -0,0 +1,81 @@ + + +FS::Conf - Read access to Freeside configuration values + + + + + + + + + + + +
+

+

NAME

+

FS::Conf - Read access to Freeside configuration values

+

+


+

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

+

Read access to Freeside configuration values. Keys currently map to filenames, +but this may change in the future.

+

+


+

METHODS

+
+
new [ DIRECTORY ]
+
+Create a new configuration object. A directory arguement is required if +$FS::Conf::default_dir has not been set. +

+
dir
+
+Returns the directory. +

+
config
+
+Returns the configuration value or values (depending on context) for key. +

+
exists
+
+Returns true if the specified key exists, even if the corresponding value +is undefined. +

+

+


+

BUGS

+

Write access (with locking) should be implemented.

+

+


+

SEE ALSO

+

config.html from the base documentation contains a list of configuration files.

+ + + + diff --git a/httemplate/docs/man/FS/Invoice.html b/httemplate/docs/man/FS/Invoice.html new file mode 100644 index 000000000..cc837be2e --- /dev/null +++ b/httemplate/docs/man/FS/Invoice.html @@ -0,0 +1,32 @@ + + +FS::Invoice - Legacy stub + + + + + + + + + + +
+

+

NAME

+

+FS::Invoice - Legacy stub + +

+


+

SYNOPSIS

+

+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 + + + + + + + + +

+ + +
+

+

NAME

+

FS::Record - Database record objects

+

+


+

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

+

(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.

+

+


+

CONSTRUCTORS

+
+
new [ TABLE, ] HASHREF
+
+Creates a new record. It doesn't store it in the database, though. See +insert for that. +

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.

+

+
qsearch TABLE, HASHREF, SELECT, EXTRA_SQL
+
+Searches the database for all records matching (at least) the key/value pairs +in HASHREF. Returns all the records found as `FS::TABLE' objects if that +module is loaded (i.e. via `use FS::cust_main;'), otherwise returns FS::Record +objects. +

###oops, argh, FS::Record::new only lets us create database fields. +#Normal behaviour if SELECT is not specified is `*', as in +#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.

+

+
qsearchs TABLE, HASHREF
+
+Same as qsearch, except that if more than one record matches, it carps but +returns the first. If this happens, you either made a logic error in asking +for a single item, or your data is corrupted. +

+

+


+

METHODS

+
+
table
+
+Returns the table name. +

+
dbdef_table
+
+Returns the FS::dbdef_table object for the table. +

+
get, getfield COLUMN
+
+Returns the value of the column/field/key COLUMN. +

+
set, setfield COLUMN, VALUE
+
+Sets the value of the column/field/key COLUMN to VALUE. Returns VALUE. +

+
AUTLOADED METHODS
+
+$record->column is a synonym for $record->get('column'); +

$record->column('value') is a synonym for $record->set('column','value');

+

+
hash
+
+Returns a list of the column/value pairs, usually for assigning to a new hash. +

To make a distinct duplicate of an FS::Record object, you can do:

+
+    $new = new FS::Record ( $old->table, { $old->hash } );
+

+
hashref
+
+Returns a reference to the column/value hash. +

+
insert
+
+Inserts this record to the database. If there is an error, returns the error, +otherwise returns false. +

+
add
+
+Depriciated (use insert instead). +

+
delete
+
+Delete this record from the database. If there is an error, returns the error, +otherwise returns false. +

+
del
+
+Depriciated (use delete instead). +

+
replace OLD_RECORD
+
+Replace the OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. +

+
rep
+
+Depriciated (use replace instead). +

+
check
+
+Not yet implemented, croaks. Derived classes should provide a check method. +

+
unique COLUMN
+
+Replaces COLUMN in record with a unique number. Called by the add method +on primary keys and single-field unique columns (see the DBIx::DBSchema::Table manpage). +Returns the new value. +

+
ut_float COLUMN
+
+Check/untaint floating point numeric data: 1.1, 1, 1.1e10, 1e10. May not be +null. If there is an error, returns the error, otherwise returns false. +

+
ut_number COLUMN
+
+Check/untaint simple numeric data (whole numbers). May not be null. If there +is an error, returns the error, otherwise returns false. +

+
ut_numbern COLUMN
+
+Check/untaint simple numeric data (whole numbers). May be null. If there is +an error, returns the error, otherwise returns false. +

+
ut_money COLUMN
+
+Check/untaint monetary numbers. May be negative. Set to 0 if null. If there +is an error, returns the error, otherwise returns false. +

+
ut_text COLUMN
+
+Check/untaint text. Alphanumerics, spaces, and the following punctuation +symbols are currently permitted: ! @ # $ % & ( ) - + ; : ' `` , . ? / +May not be null. If there is an error, returns the error, otherwise returns +false. +

+
ut_textn COLUMN
+
+Check/untaint text. Alphanumerics, spaces, and the following punctuation +symbols are currently permitted: ! @ # $ % & ( ) - + ; : ' `` , . ? / +May be null. If there is an error, returns the error, otherwise returns false. +

+
ut_alpha COLUMN
+
+Check/untaint alphanumeric strings (no spaces). May not be null. If there is +an error, returns the error, otherwise returns false. +

+
ut_alpha COLUMN
+
+Check/untaint alphanumeric strings (no spaces). May be null. If there is an +error, returns the error, otherwise returns false. +

+
ut_phonen COLUMN [ COUNTRY ]
+
+Check/untaint phone numbers. May be null. If there is an error, returns +the error, otherwise returns false. +

Takes an optional two-letter ISO country code; without it or with unsupported +countries, ut_phonen simply calls ut_alphan.

+

+
ut_ip COLUMN
+
+Check/untaint ip addresses. IPv4 only for now. +

+
ut_ipn COLUMN
+
+Check/untaint ip addresses. IPv4 only for now. May be null. +

+
ut_domain COLUMN
+
+Check/untaint host and domain names. +

+
ut_anything COLUMN
+
+Untaints arbitrary data. Be careful. +

+
fields [ TABLE ]
+
+This can be used as both a subroutine and a method call. It returns a list +of the columns in this record's table, or an explicitly specified table. +(See the DBIx::DBSchema::Table manpage). +

+

+


+

SUBROUTINES

+
+
reload_dbdef([FILENAME])
+
+Load a database definition (see the DBIx::DBSchema manpage), optionally from a +non-default filename. This command is executed at startup unless +$FS::Record::setup_hack is true. Returns a DBIx::DBSchema object. +

+
dbdef
+
+Returns the current database definition. See the FS::dbdef manpage. +

+
_quote VALUE, TABLE, COLUMN
+
+This is an internal function used to construct SQL statements. It returns +VALUE DBI-quoted (see DBI/``quote'') unless VALUE is a number and the column +type (see the FS::dbdef_column manpage) does not end in `char' or `binary'. +

+
hfields TABLE
+
+This is depriciated. Don't use it. +

It returns a hash-type list with the fields of this record's table set true.

+

+

+


+

VERSION

+

$Id: Record.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

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)

+

+


+

SEE ALSO

+

the DBIx::DBSchema manpage, the FS::UID manpage, DBI

+

Adapter::DBI from Ch. 11 of Advanced Perl Programming by Sriram Srinivasan.

+ + + + diff --git a/httemplate/docs/man/FS/SessionClient.html b/httemplate/docs/man/FS/SessionClient.html new file mode 100644 index 000000000..615f35e0e --- /dev/null +++ b/httemplate/docs/man/FS/SessionClient.html @@ -0,0 +1,97 @@ + + +FS::SessionClient - Freeside session client API + + + + + + + + + + + +
+

+

NAME

+

FS::SessionClient - Freeside session client API

+

+


+

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

+

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.

+

+


+

SUBROUTINES

+
+
login HASHREF
+
+HASHREF should have the following keys: username, password, login and portnum. +login is a UNIX timestamp; if not specified, will default to the current time. +Starts a new session for the specified user and portnum. The password is +optional, but must be correct if specified. +

Returns a scalar error message, or the empty string for success.

+

+
portnum
+
+HASHREF should contain a single key: ip, or the two keys: nasnum and nasport. +Returns a portnum suitable for the login and logout subroutines, or false +on error. +

+
logout HASHREF
+
+HASHREF should have the following keys: usrename, password, logout and portnum. +logout is a UNIX timestamp; if not specified, will default to the current time. +Starts a new session for the specified user and portnum. The password is +optional, but must be correct if specified. +

Returns a scalar error message, or the empty string for success.

+

+

+


+

VERSION

+

$Id: SessionClient.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

fs_sessiond

+ + + + diff --git a/httemplate/docs/man/FS/SignupClient.html b/httemplate/docs/man/FS/SignupClient.html new file mode 100644 index 000000000..844f64f33 --- /dev/null +++ b/httemplate/docs/man/FS/SignupClient.html @@ -0,0 +1,125 @@ + + +FS::SignupClient - Freeside signup client API + + + + + + + + + + +
+

+

NAME

+

+FS::SignupClient - Freeside signup client API + +

+


+

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

+

+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. + +

+


+

SUBROUTINES

+
+
signup_info
+

+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 + +

new_customer HASHREF
+

+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. + +

+

+


+

VERSION

+

+$Id: SignupClient.html,v 1.1 2001-07-30 07:36:03 ivan Exp $ + +

+


+

BUGS

+

+


+

SEE ALSO

+

+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 + + + + + + + + +

+ + +
+

+

NAME

+

FS::UI::Base - Base class for all user-interface objects

+

+


+

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

+

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:

+
+  package FS::UI::table_name;
+  use vars qw ( @ISA );
+  use FS::UI::Base;
+  @ISA = qw( FS::UI::Base );
+  sub db_table { 'table_name'; }
+

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.

+

+


+

METHODS

+
+
new
+
+
browse
+
+
title
+
+
addwidget
+
+
+

+


+

VERSION

+

$Id: Base.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

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.

+

+


+

SEE ALSO

+

the FS::UI::Gtk manpage, the FS::UI::CGI manpage

+

+


+

HISTORY

+

$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.

+ + + + diff --git a/httemplate/docs/man/FS/UI/CGI.html b/httemplate/docs/man/FS/UI/CGI.html new file mode 100644 index 000000000..22b6c76b8 --- /dev/null +++ b/httemplate/docs/man/FS/UI/CGI.html @@ -0,0 +1,94 @@ + + +FS::UI::CGI - Base class for CGI user-interface objects + + + + + + + + + + + +
+

+

NAME

+

FS::UI::CGI - Base class for CGI user-interface objects

+

+


+

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

+

An FS::UI::CGI object represents a CGI interface object.

+

+


+

METHODS

+
+
new
+
+
_header
+
+
_footer
+
+
interface
+
+Returns the string `CGI'. Useful for the author of a table-specific UI class +to conditionally specify certain behaviour. +

+

+


+

VERSION

+

$Id: CGI.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

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.

+

+


+

SEE ALSO

+

the FS::UI::Base manpage

+

+


+

HISTORY

+

$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.

+ + + + diff --git a/httemplate/docs/man/FS/UI/Gtk.html b/httemplate/docs/man/FS/UI/Gtk.html new file mode 100644 index 000000000..6f203c7bb --- /dev/null +++ b/httemplate/docs/man/FS/UI/Gtk.html @@ -0,0 +1,91 @@ + + +FS::UI::Gtk - Base class for Gtk user-interface objects + + + + + + + + + + + +
+

+

NAME

+

FS::UI::Gtk - Base class for Gtk user-interface objects

+

+


+

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

+

An FS::UI::Gtk object represents a Gtk user interface object.

+

+


+

METHODS

+
+
new
+
+
interface
+
+Returns the string `Gtk'. Useful for the author of a table-specific UI class +to conditionally specify certain behaviour. +

+

+


+

VERSION

+

$Id: Gtk.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

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.

+

+


+

SEE ALSO

+

the FS::UI::Base manpage

+

+


+

HISTORY

+

$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.

+ + + + diff --git a/httemplate/docs/man/FS/UI/agent.html b/httemplate/docs/man/FS/UI/agent.html new file mode 100644 index 000000000..8608e4ef4 --- /dev/null +++ b/httemplate/docs/man/FS/UI/agent.html @@ -0,0 +1,16 @@ + + +./FS/FS/UI/agent.pm + + + + + + + + + + + + + diff --git a/httemplate/docs/man/FS/UID.html b/httemplate/docs/man/FS/UID.html new file mode 100644 index 000000000..9f4947765 --- /dev/null +++ b/httemplate/docs/man/FS/UID.html @@ -0,0 +1,142 @@ + + +FS::UID - Subroutines for database login and assorted other stuff + + + + + + + + + + + +
+

+

NAME

+

FS::UID - Subroutines for database login and assorted other stuff

+

+


+

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

+

Provides a hodgepodge of subroutines.

+

+


+

SUBROUTINES

+
+
adminsuidsetup USER
+
+Sets the user to USER (see config.html from the base documentation). +Cleans the environment. +Make sure the script is running as freeside, or setuid freeside. +Opens a connection to the database. +Swaps real and effective UIDs. +Runs any defined callbacks (see below). +Returns the DBI database handle (usually you don't need this). +

+
cgisuidsetup CGI_object
+
+Takes a single argument, which is a CGI (see the CGI manpage) or Apache (see Apache) +object (CGI::Base is depriciated). Runs cgisetotaker and then adminsuidsetup. +

+
cgi
+
+Returns the CGI (see the CGI manpage) object. +

+
dbh
+
+Returns the DBI database handle. +

+
datasrc
+
+Returns the DBI data source. +

+
driver_name
+
+Returns just the driver name portion of the DBI data source. +

+
getotaker
+
+Returns the current Freeside user. +

+
cgisetotaker
+
+Sets and returns the CGI REMOTE_USER. $cgi should be defined as a CGI.pm +object (see the CGI manpage) or an Apache object (see Apache). Support for CGI::Base +and derived classes is depriciated. +

+
checkeuid
+
+Returns true if effective UID is that of the freeside user. +

+
checkruid
+
+Returns true if the real UID is that of the freeside user. +

+
swapuid
+
+Swaps real and effective UIDs. +

+
getsecrets [ USER ]
+
+Sets the user to USER, if supplied. +Sets and returns the DBI datasource, username and password for this user from +the `/usr/local/etc/freeside/mapsecrets' file. +

+

+


+

CALLBACKS

+

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 :

+
+    $coderef = sub { warn "Hi, I'm returning your call!" };
+    $FS::UID::callback{'Package::Name'};
+

+


+

VERSION

+

$Id: UID.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

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.

+

+


+

SEE ALSO

+

the FS::Record manpage, the CGI manpage, DBI, config.html from the base documentation.

+ + + + diff --git a/httemplate/docs/man/FS/agent.html b/httemplate/docs/man/FS/agent.html new file mode 100644 index 000000000..a660ed427 --- /dev/null +++ b/httemplate/docs/man/FS/agent.html @@ -0,0 +1,121 @@ + + +FS::agent - Object methods for agent records + + + + + + + + + + + +
+

+

NAME

+

FS::agent - Object methods for agent records

+

+


+

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

+

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:

+
+
agemtnum - primary key (assigned automatically for new agents)
+
+
agent - Text name of this agent
+
+
typenum - Agent type. See the FS::agent_type manpage
+
+
prog - For future use.
+
+
freq - For future use.
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new agent. To add the agent to the database, see insert. +

+
insert
+
+Adds this agent to the database. If there is an error, returns the error, +otherwise returns false. +

+
delete
+
+Deletes this agent from the database. Only agents with no customers can be +deleted. If there is an error, returns the error, otherwise returns false. +

+
replace OLD_RECORD
+
+Replaces 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 agent. If there is an error, +returns the error, otherwise returns false. Called by the insert and replace +methods. +

+
agent_type
+
+Returns the FS::agent_type object (see the FS::agent_type manpage) for this agent. +

+
pkgpart_hashref
+
+Returns a hash reference. The keys of the hash are pkgparts. The value is +true if this agent may purchase the specified package definition. See +the FS::part_pkg manpage. +

+

+


+

VERSION

+

$Id: agent.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/agent_type.html b/httemplate/docs/man/FS/agent_type.html new file mode 100644 index 000000000..40552d6d3 --- /dev/null +++ b/httemplate/docs/man/FS/agent_type.html @@ -0,0 +1,126 @@ + + +FS::agent_type - Object methods for agent_type records + + + + + + + + + + + +
+

+

NAME

+

FS::agent_type - Object methods for agent_type records

+

+


+

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

+

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:

+
+
typenum - primary key (assigned automatically for new agent types)
+
+
atype - Text name of this agent type
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new agent type. To add the agent type to the database, see +insert. +

+
insert
+
+Adds this agent type to the database. If there is an error, returns the error, +otherwise returns false. +

+
delete
+
+Deletes this agent type from the database. Only agent types with no agents +can be deleted. If there is an error, returns the error, otherwise returns +false. +

+
replace OLD_RECORD
+
+Replaces 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 agent type. If there is an +error, returns the error, otherwise returns false. Called by the insert and +replace methods. +

+
pkgpart_hashref
+
+Returns a hash reference. The keys of the hash are pkgparts. The value is +true iff this agent may purchase the specified package definition. See +the FS::part_pkg manpage. +

+
type_pkgs
+
+Returns all FS::type_pkgs objects (see the FS::type_pkgs manpage) for this agent type. +

+
pkgpart
+
+Returns the pkgpart of all package definitions (see the FS::part_pkg manpage) for this +agent type. +

+

+


+

VERSION

+

$Id: agent_type.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/cust_bill.html b/httemplate/docs/man/FS/cust_bill.html new file mode 100644 index 000000000..2e2ad37fe --- /dev/null +++ b/httemplate/docs/man/FS/cust_bill.html @@ -0,0 +1,161 @@ + + +FS::cust_bill - Object methods for cust_bill records + + + + + + + + + + + +
+

+

NAME

+

FS::cust_bill - Object methods for cust_bill records

+

+


+

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

+

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:

+
+
invnum - primary key (assigned automatically for new invoices)
+
+
custnum - customer (see the FS::cust_main manpage)
+
+
_date - specified as a UNIX timestamp; see perlfunc/``time''. Also see +the Time::Local manpage and the Date::Parse manpage for conversion functions.
+
+
charged - amount of this invoice
+
+
printed - how many times this invoice has been printed automatically +(see collect in the FS::cust_main manpage).
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new invoice. To add the invoice to the database, see insert. +Invoices are normally created by calling the bill method of a customer object +(see the FS::cust_main manpage). +

+
insert
+
+Adds this invoice to the database (``Posts'' the invoice). If there is an error, +returns the error, otherwise returns false. +

+
delete
+
+Currently unimplemented. I don't remove invoices because there would then be +no record you ever posted this invoice (which is bad, no?) +

+
replace OLD_RECORD
+
+Replaces the OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. +

Only printed may be changed. printed is normally updated by calling the +collect method of a customer object (see the FS::cust_main manpage).

+

+
check
+
+Checks all fields to make sure this is a valid invoice. If there is an error, +returns the error, otherwise returns false. Called by the insert and replace +methods. +

+
previous
+
+Returns a list consisting of the total previous balance for this customer, +followed by the previous outstanding invoices (as FS::cust_bill objects also). +

+
cust_bill_pkg
+
+Returns the line items (see the FS::cust_bill_pkg manpage) for this invoice. +

+
cust_credit
+
+Returns a list consisting of the total previous credited (see +the FS::cust_credit manpage) for this customer, followed by the previous outstanding +credits (FS::cust_credit objects). +

+
cust_pay
+
+Returns all payments (see the FS::cust_pay manpage) for this invoice. +

+
owed
+
+Returns the amount owed (still outstanding) on this invoice, which is charged +minus all payments (see the FS::cust_pay manpage). +

+
print_text [TIME];
+
+Returns an text invoice, as a list of lines. +

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.

+

+

+


+

VERSION

+

$Id: cust_bill.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

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?)

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/cust_bill_pkg.html b/httemplate/docs/man/FS/cust_bill_pkg.html new file mode 100644 index 000000000..0557b4aee --- /dev/null +++ b/httemplate/docs/man/FS/cust_bill_pkg.html @@ -0,0 +1,112 @@ + + +FS::cust_bill_pkg - Object methods for cust_bill_pkg records + + + + + + + + + + + +
+

+

NAME

+

FS::cust_bill_pkg - Object methods for cust_bill_pkg records

+

+


+

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

+

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:

+
+
invnum - invoice (see the FS::cust_bill manpage)
+
+
pkgnum - package (see the FS::cust_pkg manpage) or 0 for the special virtual sales tax package
+
+
setup - setup fee
+
+
recur - recurring fee
+
+
sdate - starting date of recurring fee
+
+
edate - ending date of recurring fee
+
+
+

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.

+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new line item. To add the line item to the database, see +insert. Line items are normally created by calling the bill method of a +customer object (see the FS::cust_main manpage). +

+
insert
+
+Adds this line item to the database. If there is an error, returns the error, +otherwise returns false. +

+
delete
+
+Currently unimplemented. I don't remove line items because there would then be +no record the items ever existed (which is bad, no?) +

+
replace OLD_RECORD
+
+Currently unimplemented. This would be even more of an accounting nightmare +than deleteing the items. Just don't do it. +

+
check
+
+Checks all fields to make sure this is a valid line item. If there is an +error, returns the error, otherwise returns false. Called by the insert +method. +

+

+


+

VERSION

+

$Id: cust_bill_pkg.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/cust_credit.html b/httemplate/docs/man/FS/cust_credit.html new file mode 100644 index 000000000..16caca60d --- /dev/null +++ b/httemplate/docs/man/FS/cust_credit.html @@ -0,0 +1,118 @@ + + +FS::cust_credit - Object methods for cust_credit records + + + + + + + + + + + +
+

+

NAME

+

FS::cust_credit - Object methods for cust_credit records

+

+


+

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

+

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:

+
+
crednum - primary key (assigned automatically for new credits)
+
+
custnum - customer (see the FS::cust_main manpage)
+
+
amount - amount of the credit
+
+
_date - specified as a UNIX timestamp; see perlfunc/``time''. Also see +the Time::Local manpage and the Date::Parse manpage for conversion functions.
+
+
otaker - order taker (assigned automatically, see the FS::UID manpage)
+
+
reason - text
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new credit. To add the credit to the database, see insert. +

+
insert
+
+Adds this credit to the database (``Posts'' the credit). If there is an error, +returns the error, otherwise returns false. +

+
delete
+
+Currently unimplemented. +

+
replace OLD_RECORD
+
+Credits may not be modified; there would then be no record the credit was ever +posted. +

+
check
+
+Checks all fields to make sure this is a valid credit. If there is an error, +returns the error, otherwise returns false. Called by the insert and replace +methods. +

+
cust_refund
+
+Returns all refunds (see the FS::cust_refund manpage) for this credit. +

+
credited
+
+Returns the amount of this credit that is still outstanding; which is +amount minus all refunds (see the FS::cust_refund manpage). +

+

+


+

VERSION

+

$Id: cust_credit.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

The delete method.

+

+


+

SEE ALSO

+

the FS::Record manpage, the FS::cust_refund manpage, the FS::cust_bill manpage, schema.html from the base +documentation.

+ + + + diff --git a/httemplate/docs/man/FS/cust_main.html b/httemplate/docs/man/FS/cust_main.html new file mode 100644 index 000000000..f8e9a8cfb --- /dev/null +++ b/httemplate/docs/man/FS/cust_main.html @@ -0,0 +1,279 @@ + + +FS::cust_main - Object methods for cust_main records + + + + + + + + + + + +
+

+

NAME

+

FS::cust_main - Object methods for cust_main records

+

+


+

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

+

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

+
+
custnum - primary key (assigned automatically for new customers)
+
+
agentnum - agent (see the FS::agent manpage)
+
+
refnum - referral (see the FS::part_referral manpage)
+
+
first - name
+
+
last - name
+
+
ss - social security number (optional)
+
+
company - (optional)
+
+
address1
+
+
address2 - (optional)
+
+
city
+
+
county - (optional, see the FS::cust_main_county manpage)
+
+
state - (see the FS::cust_main_county manpage)
+
+
zip
+
+
country - (see the FS::cust_main_county manpage)
+
+
daytime - phone (optional)
+
+
night - phone (optional)
+
+
fax - phone (optional)
+
+
ship_first - name
+
+
ship_last - name
+
+
ship_company - (optional)
+
+
ship_address1
+
+
ship_address2 - (optional)
+
+
ship_city
+
+
ship_county - (optional, see the FS::cust_main_county manpage)
+
+
ship_state - (see the FS::cust_main_county manpage)
+
+
ship_zip
+
+
ship_country - (see the FS::cust_main_county manpage)
+
+
ship_daytime - phone (optional)
+
+
ship_night - phone (optional)
+
+
ship_fax - phone (optional)
+
+
payby - `CARD' (credit cards), `BILL' (billing), `COMP' (free), or `PREPAY' (special billing type: applies a credit - see the FS::prepay_credit manpage and sets billing type to BILL)
+
+
payinfo - card number, P.O., comp issuer (4-8 lowercase alphanumerics; think username) or prepayment identifier (see the FS::prepay_credit manpage)
+
+
paydate - expiration date, mm/yyyy, m/yyyy, mm/yy or m/yy
+
+
payname - name on card or billing name
+
+
tax - tax exempt, empty or `Y'
+
+
otaker - order taker (assigned automatically, see the FS::UID manpage)
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new customer. To add the customer 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 customer to the database. If there is an error, returns the error, +otherwise returns false. +

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:

+
+  use Tie::RefHash;
+  tie %hash, 'Tie::RefHash'; #this part is important
+  %hash = (
+    $cust_pkg => [ $svc_acct ],
+    ...
+  );
+  $cust_main->insert( \%hash );
+

+
delete NEW_CUSTNUM
+
+This deletes the customer. If there is an error, returns the error, otherwise +returns false. +

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).

+

+
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 customer record. If there is +an error, returns the error, otherwise returns false. Called by the insert +and repalce methods. +

+
all_pkgs
+
+Returns all packages (see the FS::cust_pkg manpage) for this customer. +

+
ncancelled_pkgs
+
+Returns all non-cancelled packages (see the FS::cust_pkg manpage) for this customer. +

+
bill OPTIONS
+
+Generates invoices (see the FS::cust_bill manpage) for this customer. Usually used in +conjunction with the collect method. +

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.

+

+
collect OPTIONS
+
+(Attempt to) collect money for this customer's outstanding invoices (see +the FS::cust_bill manpage). Usually used after the bill method. +

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.

+

+
total_owed
+
+Returns the total owed for this customer on all invoices +(see the FS::cust_bill manpage). +

+
total_credited
+
+Returns the total credits (see the FS::cust_credit manpage) for this customer. +

+
balance
+
+Returns the balance for this customer (total owed minus total credited). +

+
invoicing_list [ ARRAYREF ]
+
+If an arguement is given, sets these email addresses as invoice recipients +(see the FS::cust_main_invoice manpage). Errors are not fatal and are not reported +(except as warnings), so use check_invoicing_list first. +

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.

+

+
check_invoicing_list ARRAYREF
+
+Checks these arguements as valid input for the invoicing_list method. If there +is an error, returns the error, otherwise returns false. +

+

+


+

VERSION

+

$Id: cust_main.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

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).

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/cust_main_county.html b/httemplate/docs/man/FS/cust_main_county.html new file mode 100644 index 000000000..2c5dcd3fc --- /dev/null +++ b/httemplate/docs/man/FS/cust_main_county.html @@ -0,0 +1,106 @@ + + +FS::cust_main_county - Object methods for cust_main_county objects + + + + + + + + + + + +
+

+

NAME

+

FS::cust_main_county - Object methods for cust_main_county objects

+

+


+

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

+

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:

+
+
taxnum - primary key (assigned automatically for new tax rates)
+
+
state
+
+
county
+
+
country
+
+
tax - percentage
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new tax rate. To add the tax rate to the database, see insert. +

+
insert
+
+Adds this tax rate to the database. If there is an error, returns the error, +otherwise returns false. +

+
delete
+
+Deletes this tax rate from the database. If there is an error, returns the +error, otherwise returns false. +

+
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 tax rate. If there is an error, +returns the error, otherwise returns false. Called by the insert and replace +methods. +

+

+


+

VERSION

+

$Id: cust_main_county.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

the FS::Record manpage, the FS::cust_main manpage, the FS::cust_bill manpage, schema.html from the base +documentation.

+ + + + diff --git a/httemplate/docs/man/FS/cust_main_invoice.html b/httemplate/docs/man/FS/cust_main_invoice.html new file mode 100644 index 000000000..6ab7fa289 --- /dev/null +++ b/httemplate/docs/man/FS/cust_main_invoice.html @@ -0,0 +1,114 @@ + + +FS::cust_main_invoice - Object methods for cust_main_invoice records + + + + + + + + + + + +
+

+

NAME

+

FS::cust_main_invoice - Object methods for cust_main_invoice records

+

+


+

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

+

An FS::cust_main_invoice object represents an invoice destination. FS::cust_main_invoice inherits from +FS::Record. The following fields are currently supported:

+
+
destnum - primary key
+
+
custnum - customer (see the FS::cust_main manpage)
+
+
dest - Invoice destination: If numeric, a svcnum (see the FS::svc_acct manpage), if string, a literal email address, or `POST' to enable mailing (the default if no cust_main_invoice records exist)
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new invoice destination. To add the invoice destination 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 invoice destination. If there is +an error, returns the error, otherwise returns false. Called by the insert +and repalce methods. +

+
checkdest
+
+Checks the dest field only. If it finds that the account ends in the +same domain configured as the domain configuration file, it will change the +invoice destination from an email address to a service number (see +the FS::svc_acct manpage). +

+
address
+
+Returns the literal email address for this record (or `POST'). +

+

+


+

VERSION

+

$Id: cust_main_invoice.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

the FS::Record manpage, the FS::cust_main manpage

+ + + + diff --git a/httemplate/docs/man/FS/cust_pay.html b/httemplate/docs/man/FS/cust_pay.html new file mode 100644 index 000000000..803376260 --- /dev/null +++ b/httemplate/docs/man/FS/cust_pay.html @@ -0,0 +1,108 @@ + + +FS::cust_pay - Object methods for cust_pay objects + + + + + + + + + + + +
+

+

NAME

+

FS::cust_pay - Object methods for cust_pay objects

+

+


+

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

+

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:

+
+
paynum - primary key (assigned automatically for new payments)
+
+
invnum - Invoice (see the FS::cust_bill manpage)
+
+
paid - Amount of this payment
+
+
_date - specified as a UNIX timestamp; see perlfunc/``time''. Also see +the Time::Local manpage and the Date::Parse manpage for conversion functions.
+
+
payby - `CARD' (credit cards), `BILL' (billing), or `COMP' (free)
+
+
payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username)
+
+
paybatch - text field for tracking card processing
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new payment. To add the payment to the databse, see insert. +

+
insert
+
+Adds this payment to the databse, and updates the invoice (see +the FS::cust_bill manpage). +

+
delete
+
+Currently unimplemented (accounting reasons). +

+
replace OLD_RECORD
+
+Currently unimplemented (accounting reasons). +

+
check
+
+Checks all fields to make sure this is a valid payment. If there is an error, +returns the error, otherwise returns false. Called by the insert method. +

+

+


+

VERSION

+

$Id: cust_pay.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

Delete and replace methods.

+

+


+

SEE ALSO

+

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

+ + + + diff --git a/httemplate/docs/man/FS/cust_pay_batch.html b/httemplate/docs/man/FS/cust_pay_batch.html new file mode 100644 index 000000000..c1c73c301 --- /dev/null +++ b/httemplate/docs/man/FS/cust_pay_batch.html @@ -0,0 +1,132 @@ + + +FS::cust_pay_batch - Object methods for batch cards + + + + + + + + + + + +
+

+

NAME

+

FS::cust_pay_batch - Object methods for batch cards

+

+


+

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

+

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:

+
+
trancode - 77 for charges
+
+
cardnum
+
+
exp - card expiration
+
+
amount
+
+
invnum - invoice
+
+
custnum - customer
+
+
payname - name on card
+
+
first - name
+
+
last - name
+
+
address1
+
+
address2
+
+
city
+
+
state
+
+
zip
+
+
country
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new record. To add the record 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. If there is an error, returns the error, +otherwise returns false. +

+
replace OLD_RECORD
+
+#inactive +# +#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 transaction. If there is +an error, returns the error, otherwise returns false. Called by the insert +and repalce methods. +

+

+


+

VERSION

+

$Id: cust_pay_batch.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

There should probably be a configuration file with a list of allowed credit +card types.

+

+


+

SEE ALSO

+

the FS::cust_main manpage, the FS::Record manpage

+ + + + diff --git a/httemplate/docs/man/FS/cust_pkg.html b/httemplate/docs/man/FS/cust_pkg.html new file mode 100644 index 000000000..459d1297c --- /dev/null +++ b/httemplate/docs/man/FS/cust_pkg.html @@ -0,0 +1,205 @@ + + +FS::cust_pkg - Object methods for cust_pkg objects + + + + + + + + + + + +
+

+

NAME

+

FS::cust_pkg - Object methods for cust_pkg objects

+

+


+

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

+

An FS::cust_pkg object represents a customer billing item. FS::cust_pkg +inherits from FS::Record. The following fields are currently supported:

+
+
pkgnum - primary key (assigned automatically for new billing items)
+
+
custnum - Customer (see the FS::cust_main manpage)
+
+
pkgpart - Billing item definition (see the FS::part_pkg manpage)
+
+
setup - date
+
+
bill - date
+
+
susp - date
+
+
expire - date
+
+
cancel - date
+
+
otaker - order taker (assigned automatically if null, see the FS::UID manpage)
+
+
+

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.

+

+


+

METHODS

+
+
new HASHREF
+
+Create a new billing item. To add the item to the database, see insert. +

+
insert
+
+Adds this billing item to the database (``Orders'' the item). If there is an +error, returns the error, otherwise returns false. +

sub insert { + my $self = shift;

+
+  # 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;
+

}

+

+
delete
+
+Currently unimplemented. You don't want to delete billing items, because there +would then be no record the customer ever purchased the item. Instead, see +the cancel method. +

+
replace OLD_RECORD
+
+Replaces the OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. +

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).

+

+
check
+
+Checks all fields to make sure this is a valid billing item. If there is an +error, returns the error, otherwise returns false. Called by the insert and +replace methods. +

+
cancel
+
+Cancels and removes all services (see the FS::cust_svc manpage and the FS::part_svc manpage) +in this package, then cancels the package itself (sets the cancel field to +now). +

If there is an error, returns the error, otherwise returns false.

+

+
suspend
+
+Suspends all services (see the FS::cust_svc manpage and the FS::part_svc manpage) in this +package, then suspends the package itself (sets the susp field to now). +

If there is an error, returns the error, otherwise returns false.

+

+
unsuspend
+
+Unsuspends all services (see the FS::cust_svc manpage and the FS::part_svc manpage) in this +package, then unsuspends the package itself (clears the susp field). +

If there is an error, returns the error, otherwise returns false.

+

+
part_pkg
+
+Returns the definition for this billing item, as an FS::part_pkg object (see +the FS::part_pkg manpage). +

+
labels
+
+Returns a list of lists, calling the label method for all services +(see the FS::cust_svc manpage) of this billing item. +

+

+


+

SUBROUTINES

+
+
order CUSTNUM, PKGPARTS_ARYREF, [ REMOVE_PKGNUMS_ARYREF ]
+
+CUSTNUM is a customer (see the FS::cust_main manpage) +

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).

+

+

+


+

VERSION

+

$Id: cust_pkg.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

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.

+

+


+

SEE ALSO

+

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

+ + + + diff --git a/httemplate/docs/man/FS/cust_refund.html b/httemplate/docs/man/FS/cust_refund.html new file mode 100644 index 000000000..39ed14de4 --- /dev/null +++ b/httemplate/docs/man/FS/cust_refund.html @@ -0,0 +1,108 @@ + + +FS::cust_refund - Object method for cust_refund objects + + + + + + + + + + + +
+

+

NAME

+

FS::cust_refund - Object method for cust_refund objects

+

+


+

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

+

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:

+
+
refundnum - primary key (assigned automatically for new refunds)
+
+
crednum - Credit (see the FS::cust_credit manpage)
+
+
refund - Amount of the refund
+
+
_date - specified as a UNIX timestamp; see perlfunc/``time''. Also see +the Time::Local manpage and the Date::Parse manpage for conversion functions.
+
+
payby - `CARD' (credit cards), `BILL' (billing), or `COMP' (free)
+
+
payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username)
+
+
otaker - order taker (assigned automatically, see the FS::UID manpage)
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new refund. To add the refund to the database, see insert. +

+
insert
+
+Adds this refund to the database, and updates the credit (see +the FS::cust_credit manpage). +

+
delete
+
+Currently unimplemented (accounting reasons). +

+
replace OLD_RECORD
+
+Currently unimplemented (accounting reasons). +

+
check
+
+Checks all fields to make sure this is a valid refund. If there is an error, +returns the error, otherwise returns false. Called by the insert method. +

+

+


+

VERSION

+

$Id: cust_refund.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

Delete and replace methods.

+

+


+

SEE ALSO

+

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

+ + + + diff --git a/httemplate/docs/man/FS/cust_svc.html b/httemplate/docs/man/FS/cust_svc.html new file mode 100644 index 000000000..c1ca2d700 --- /dev/null +++ b/httemplate/docs/man/FS/cust_svc.html @@ -0,0 +1,118 @@ + + +FS::cust_svc - Object method for cust_svc objects + + + + + + + + + + + +
+

+

NAME

+

FS::cust_svc - Object method for cust_svc objects

+

+


+

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

+

An FS::cust_svc represents a service. FS::cust_svc inherits from FS::Record. +The following fields are currently supported:

+
+
svcnum - primary key (assigned automatically for new services)
+
+
pkgnum - Package (see the FS::cust_pkg manpage)
+
+
svcpart - Service definition (see the FS::part_svc manpage)
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new service. To add the refund to the database, see insert. +Services are normally created by creating FS::svc_ objects (see +the FS::svc_acct manpage, the FS::svc_domain manpage, and the FS::svc_acct_sm manpage, among others). +

+
insert
+
+Adds this service to the database. If there is an error, returns the error, +otherwise returns false. +

+
delete
+
+Deletes this service from the database. If there is an error, returns the +error, otherwise returns false. +

Called by the cancel method of the package (see the FS::cust_pkg manpage).

+

+
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 service. If there is an error, +returns the error, otehrwise returns false. Called by the insert and +replace methods. +

+
label
+
+Returns a list consisting of: +- The name of this service (from part_svc) +- A meaningful identifier (username, domain, or mail alias) +- The table name (i.e. svc_domain) for this service +

+

+


+

VERSION

+

$Id: cust_svc.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

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.

+

+


+

SEE ALSO

+

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

+ + + + diff --git a/httemplate/docs/man/FS/domain_record.html b/httemplate/docs/man/FS/domain_record.html new file mode 100644 index 000000000..7a1bf3e32 --- /dev/null +++ b/httemplate/docs/man/FS/domain_record.html @@ -0,0 +1,124 @@ + + +FS::domain_record - Object methods for domain_record records + + + + + + + + + + + +
+

+

NAME

+

FS::domain_record - Object methods for domain_record records

+

+


+

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

+

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:

+
+
recnum - primary key
+
+
svcnum - Domain (see the FS::svc_domain manpage) of this entry
+
+
reczone - partial (or full) zone for this entry
+
+
recaf - address family for this entry, currently only `IN' is recognized.
+
+
rectype - record type for this entry (A, MX, etc.)
+
+
recdata - data for this entry
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new entry. To add the example 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 example. If there is +an error, returns the error, otherwise returns false. Called by the insert +and replace methods. +

+

+


+

VERSION

+

$Id: domain_record.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

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. :)

+

+


+

SEE ALSO

+

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

+

+


+

HISTORY

+

$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

+ + + + diff --git a/httemplate/docs/man/FS/nas.html b/httemplate/docs/man/FS/nas.html new file mode 100644 index 000000000..5a55964e1 --- /dev/null +++ b/httemplate/docs/man/FS/nas.html @@ -0,0 +1,117 @@ + + +FS::nas - Object methods for nas records + + + + + + + + + + + +
+

+

NAME

+

FS::nas - Object methods for nas records

+

+


+

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

+

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:

+
+
nasnum - primary key
+
+
nas - NAS name
+
+
nasip - NAS ip address
+
+
nasfqdn - NAS fully-qualified domain name
+
+
last - timestamp indicating the last instant the NAS was in a known + state (used by the session monitoring).
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new NAS. To add the NAS 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 example. If there is +an error, returns the error, otherwise returns false. Called by the insert +and replace methods. +

+
heartbeat TIMESTAMP
+
+Updates the timestamp for this nas +

+

+


+

VERSION

+

$Id: nas.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

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

+ + + + diff --git a/httemplate/docs/man/FS/part_pkg.html b/httemplate/docs/man/FS/part_pkg.html new file mode 100644 index 000000000..9aeaa3d3d --- /dev/null +++ b/httemplate/docs/man/FS/part_pkg.html @@ -0,0 +1,138 @@ + + +FS::part_pkg - Object methods for part_pkg objects + + + + + + + + + + + +
+

+

NAME

+

FS::part_pkg - Object methods for part_pkg objects

+

+


+

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

+

An FS::part_pkg object represents a billing item definition. FS::part_pkg +inherits from FS::Record. The following fields are currently supported:

+
+
pkgpart - primary key (assigned automatically for new billing item definitions)
+
+
pkg - Text name of this billing item definition (customer-viewable)
+
+
comment - Text name of this billing item definition (non-customer-viewable)
+
+
setup - Setup fee
+
+
freq - Frequency of recurring fee
+
+
recur - Recurring fee
+
+
+

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.

+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new billing item definition. To add the billing item definition to +the database, see insert. +

+
clone
+
+An alternate constructor. Creates a new billing item definition by duplicating +an existing definition. A new pkgpart is assigned and `(CUSTOM) ' is prepended +to the comment field. To add the billing item definition to the database, see +insert. +

+
insert
+
+Adds this billing item definition to the database. If there is an error, +returns the error, otherwise returns false. +

+
delete
+
+Currently unimplemented. +

+
replace OLD_RECORD
+
+Replaces 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 billing item definition. If +there is an error, returns the error, otherwise returns false. Called by the +insert and replace methods. +

+
pkg_svc
+
+Returns all FS::pkg_svc objects (see the FS::pkg_svc manpage) for this package +definition (with non-zero quantity). +

+
svcpart [ SVCDB ]
+
+Returns the svcpart of a single service definition (see the FS::part_svc manpage) +associated with this billing item definition (see the FS::pkg_svc manpage). Returns +false if there not exactly one service definition with quantity 1, or if +SVCDB is specified and does not match the svcdb of the service definition, +

+

+


+

VERSION

+

$Id: part_pkg.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

The delete method is unimplemented.

+

setup and recur semantics are not yet defined (and are implemented in +FS::cust_bill. hmm.).

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/part_referral.html b/httemplate/docs/man/FS/part_referral.html new file mode 100644 index 000000000..815b15cf1 --- /dev/null +++ b/httemplate/docs/man/FS/part_referral.html @@ -0,0 +1,100 @@ + + +FS::part_referral - Object methods for part_referral objects + + + + + + + + + + + +
+

+

NAME

+

FS::part_referral - Object methods for part_referral objects

+

+


+

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

+

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:

+
+
refnum - primary key (assigned automatically for new referrals)
+
+
referral - Text name of this referral
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new referral. To add the referral to the database, see insert. +

+
insert
+
+Adds this referral to the database. If there is an error, returns the error, +otherwise returns false. +

+
delete
+
+Currently unimplemented. +

+
replace OLD_RECORD
+
+Replaces 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 referral. If there is an error, +returns the error, otherwise returns false. Called by the insert and replace +methods. +

+

+


+

VERSION

+

$Id: part_referral.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

The delete method is unimplemented.

+

+


+

SEE ALSO

+

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

+ + + + diff --git a/httemplate/docs/man/FS/part_svc.html b/httemplate/docs/man/FS/part_svc.html new file mode 100644 index 000000000..ca0a5dc71 --- /dev/null +++ b/httemplate/docs/man/FS/part_svc.html @@ -0,0 +1,110 @@ + + +FS::part_svc - Object methods for part_svc objects + + + + + + + + + + + +
+

+

NAME

+

FS::part_svc - Object methods for part_svc objects

+

+


+

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

+

An FS::part_svc represents a service definition. FS::part_svc inherits from +FS::Record. The following fields are currently supported:

+
+
svcpart - primary key (assigned automatically for new service definitions)
+
+
svc - text name of this service definition
+
+
svcdb - table used for this service. See the FS::svc_acct manpage, +the FS::svc_domain manpage, and the FS::svc_acct_sm manpage, among others.
+
+
svcdb__field - Default or fixed value for field in svcdb.
+
+
svcdb__field_flag - defines svcdb__field action: null, `D' for default, or `F' for fixed
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new service definition. To add the service definition to the +database, see insert. +

+
insert
+
+Adds this service definition to the database. If there is an error, returns +the error, otherwise returns false. +

+
delete
+
+Currently unimplemented. +

+
replace OLD_RECORD
+
+Replaces 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 service definition. If there is +an error, returns the error, otherwise returns false. Called by the insert +and replace methods. +

+

+


+

VERSION

+

$Id: part_svc.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

Delete is unimplemented.

+

The list of svc_* tables is hardcoded. When svc_acct_pop is renamed, this +should be fixed.

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/pkg_svc.html b/httemplate/docs/man/FS/pkg_svc.html new file mode 100644 index 000000000..44db9d5ff --- /dev/null +++ b/httemplate/docs/man/FS/pkg_svc.html @@ -0,0 +1,115 @@ + + +FS::pkg_svc - Object methods for pkg_svc records + + + + + + + + + + + +
+

+

NAME

+

FS::pkg_svc - Object methods for pkg_svc records

+

+


+

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

+

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:

+
+
pkgpart - Billing item definition (see the FS::part_pkg manpage)
+
+
svcpart - Service definition (see the FS::part_svc manpage)
+
+
quantity - Quantity of this service definition that this billing item +definition includes
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Create a new record. To add the record to the database, see insert. +

+
insert
+
+Adds this record to the database. If there is an error, returns the error, +otherwise returns false. +

+
delete
+
+Deletes this record from the database. If there is an error, returns the +error, otherwise returns false. +

+
replace OLD_RECORD
+
+Replaces 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 record. If there is an error, +returns the error, otherwise returns false. Called by the insert and replace +methods. +

+
part_pkg
+
+Returns the FS::part_pkg object (see the FS::part_pkg manpage). +

+
part_svc
+
+Returns the FS::part_svc object (see the FS::part_svc manpage). +

+

+


+

VERSION

+

$Id: pkg_svc.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

the FS::Record manpage, the FS::part_pkg manpage, the FS::part_svc manpage, schema.html from the base +documentation.

+ + + + diff --git a/httemplate/docs/man/FS/port.html b/httemplate/docs/man/FS/port.html new file mode 100644 index 000000000..3851390c8 --- /dev/null +++ b/httemplate/docs/man/FS/port.html @@ -0,0 +1,120 @@ + + +FS::port - Object methods for port records + + + + + + + + + + + +
+

+

NAME

+

FS::port - Object methods for port records

+

+


+

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

+

An FS::port object represents an individual port on a NAS. FS::port inherits +from FS::Record. The following fields are currently supported:

+
+
portnum - primary key
+
+
ip - IP address of this port
+
+
nasport - port number on the NAS
+
+
nasnum - NAS this port is on - see the FS::nas manpage
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new port. To add the example 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 example. If there is +an error, returns the error, otherwise returns false. Called by the insert +and replace methods. +

+
session
+
+Returns the currently open session on this port, or if no session is currently +open, the most recent session. See the FS::session manpage. +

+

+


+

VERSION

+

$Id: port.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

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.

+

+


+

SEE ALSO

+

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

+ + + + diff --git a/httemplate/docs/man/FS/prepay_credit.html b/httemplate/docs/man/FS/prepay_credit.html new file mode 100644 index 000000000..4e77897a3 --- /dev/null +++ b/httemplate/docs/man/FS/prepay_credit.html @@ -0,0 +1,118 @@ + + +FS::prepay_credit - Object methods for prepay_credit records + + + + + + + + + + + +
+

+

NAME

+

FS::prepay_credit - Object methods for prepay_credit records

+

+


+

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

+

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:

+
+
field - description
+
+
identifier - identifier entered by the user to receive the credit
+
+
amount - amount of the credit
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new pre-paid credit. To add the example 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 pre-paid credit. If there is +an error, returns the error, otherwise returns false. Called by the insert +and replace methods. +

+

+


+

VERSION

+

$Id: prepay_credit.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

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

+

+


+

HISTORY

+

$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''

+ + + + diff --git a/httemplate/docs/man/FS/session.html b/httemplate/docs/man/FS/session.html new file mode 100644 index 000000000..571c2d44d --- /dev/null +++ b/httemplate/docs/man/FS/session.html @@ -0,0 +1,129 @@ + + +FS::session - Object methods for session records + + + + + + + + + + + +
+

+

NAME

+

FS::session - Object methods for session records

+

+


+

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

+

An FS::session object represents an user login session. FS::session inherits +from FS::Record. The following fields are currently supported:

+
+
sessionnum - primary key
+
+
portnum - NAS port for this session - see the FS::port manpage
+
+
svcnum - User for this session - see the FS::svc_acct manpage
+
+
login - timestamp indicating the beginning of this user session.
+
+
logout - timestamp indicating the end of this user session. May be null, + which indicates a currently open session.
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new session. To add the session 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. If the `login' field is empty, it is replaced with +the current time. +

+
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. If the `logout' field is empty, +it is replaced with the current time. +

+
check
+
+Checks all fields to make sure this is a valid session. If there is +an error, returns the error, otherwise returns false. Called by the insert +and replace methods. +

+
nas_heartbeat
+
+Heartbeats the nas associated with this session (see the FS::nas manpage). +

+
svc_acct
+
+Returns the svc_acct record associated with this session (see the FS::svc_acct manpage). +

+

+


+

VERSION

+

$Id: session.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

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).

+

+


+

SEE ALSO

+

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

+ + + + diff --git a/httemplate/docs/man/FS/svc_Common.html b/httemplate/docs/man/FS/svc_Common.html new file mode 100644 index 000000000..100aee880 --- /dev/null +++ b/httemplate/docs/man/FS/svc_Common.html @@ -0,0 +1,94 @@ + + +FS::svc_Common - Object method for all svc_ records + + + + + + + + + + + +
+

+

NAME

+

FS::svc_Common - Object method for all svc_ records

+

+


+

SYNOPSIS

+

use FS::svc_Common;

+

@ISA = qw( FS::svc_Common );

+

+


+

DESCRIPTION

+

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.

+

+


+

METHODS

+
+
insert
+
+Adds this record to the database. If there is an error, returns the error, +otherwise returns false. +

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.

+

+
delete
+
+Deletes this account from the database. If there is an error, returns the +error, otherwise returns false. +

The corresponding FS::cust_svc record will be deleted as well.

+

+
setfixed
+
+Sets any fixed fields for this service (see the FS::part_svc manpage). If there is an +error, returns the error, otherwise returns the FS::part_svc object (use ref() +to test the return). Usually called by the check method. +

+
setdefault
+
+Sets all fields to their defaults (see the FS::part_svc manpage), overriding their +current values. If there is an error, returns the error, otherwise returns +the FS::part_svc object (use ref() to test the return). +

+
suspend
+
+
unsuspend
+
+
cancel
+
+Stubs - return false (no error) so derived classes don't need to define these +methods. Called by the cancel method of FS::cust_pkg (see the FS::cust_pkg manpage). +

+

+


+

VERSION

+

$Id: svc_Common.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

The setfixed method return value.

+

The new method should set defaults from part_svc (like the check method +sets fixed values)?

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/svc_acct.html b/httemplate/docs/man/FS/svc_acct.html new file mode 100644 index 000000000..81bc118df --- /dev/null +++ b/httemplate/docs/man/FS/svc_acct.html @@ -0,0 +1,219 @@ + + +FS::svc_acct - Object methods for svc_acct records + + + + + + + + + + + +
+

+

NAME

+

FS::svc_acct - Object methods for svc_acct records

+

+


+

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

+

An FS::svc_acct object represents an account. FS::svc_acct inherits from +FS::svc_Common. The following fields are currently supported:

+
+
svcnum - primary key (assigned automatcially for new accounts)
+
+
username
+
+
_password - generated if blank
+
+
popnum - Point of presence (see the FS::svc_acct_pop manpage)
+
+
uid
+
+
gid
+
+
finger - GECOS
+
+
dir - set automatically if blank (and uid is not)
+
+
shell
+
+
quota - (unimplementd)
+
+
slipip - IP address
+
+
radius_Radius_Attribute - Radius-Attribute
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new account. To add the account to the database, see insert. +

+
insert
+
+Adds this account to the database. If there is an error, returns the error, +otherwise returns false. +

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 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
+

is the default. If the shellmachine-useradd configuration file exists but +it empty,

+
+  cp -pr /etc/skel $dir; chown -R $uid.$gid $dir
+

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.

+

+
delete
+
+Deletes this account from the database. If there is an error, returns the +error, otherwise returns false. +

The corresponding FS::cust_svc record will be deleted as well.

+

If the configuration value (see the FS::Conf manpage) shellmachine exists, the +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
+

is the default. If the shellmachine-userdel configuration file exists but +is empty,

+
+  rm -rf $dir
+

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.

+

+
replace OLD_RECORD
+
+Replaces OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. +

If the configuration value (see the FS::Conf manpage) shellmachine exists, and the +dir field has changed, the 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
+  )
+

is executed on shellmachine via ssh. This behaviour can be surpressed by +setting $FS::svc_acct::nossh_hack true.

+

+
suspend
+
+Suspends this account by prefixing *SUSPENDED* to the password. If there is an +error, returns the error, otherwise returns false. +

Called by the suspend method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
unsuspend
+
+Unsuspends this account by removing *SUSPENDED* from the password. If there is +an error, returns the error, otherwise returns false. +

Called by the unsuspend method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
cancel
+
+Just returns false (no error) for now. +

Called by the cancel method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
check
+
+Checks all fields to make sure this is a valid service. If there is an error, +returns the error, otherwise returns false. Called by the insert and replace +methods. +

Sets any fixed values; see the FS::part_svc manpage.

+

+
radius
+
+Depriciated, use radius_reply instead. +

+
radius_reply
+
+Returns key/value pairs, suitable for assigning to a hash, for any RADIUS +reply attributes of this record. +

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.

+

+
radius_check
+
+Returns key/value pairs, suitable for assigning to a hash, for any RADIUS +check attributes of this record. +

Accessing RADIUS attributes directly is not supported and will break in the +future.

+

+

+


+

VERSION

+

$Id: svc_acct.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

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.

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/svc_acct_pop.html b/httemplate/docs/man/FS/svc_acct_pop.html new file mode 100644 index 000000000..d65ca5778 --- /dev/null +++ b/httemplate/docs/man/FS/svc_acct_pop.html @@ -0,0 +1,107 @@ + + +FS::svc_acct_pop - Object methods for svc_acct_pop records + + + + + + + + + + + +
+

+

NAME

+

FS::svc_acct_pop - Object methods for svc_acct_pop records

+

+


+

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

+

An FS::svc_acct object represents an point of presence. FS::svc_acct_pop +inherits from FS::Record. The following fields are currently supported:

+
+
popnum - primary key (assigned automatically for new accounts)
+
+
city
+
+
state
+
+
ac - area code
+
+
exch - exchange
+
+
loc - rest of number
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new point of presence (if only it were that easy!). To add the +point of presence to the database, see insert. +

+
insert
+
+Adds this point of presence to the database. If there is an error, returns the +error, otherwise returns false. +

+
delete
+
+Removes this point of presence from the database. +

+
replace OLD_RECORD
+
+Replaces 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 point of presence. If there is +an error, returns the error, otherwise returns false. Called by the insert +and replace methods. +

+

+


+

VERSION

+

$Id: svc_acct_pop.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

It should be renamed to part_pop.

+

+


+

SEE ALSO

+

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

+ + + + diff --git a/httemplate/docs/man/FS/svc_acct_sm.html b/httemplate/docs/man/FS/svc_acct_sm.html new file mode 100644 index 000000000..ca50e7202 --- /dev/null +++ b/httemplate/docs/man/FS/svc_acct_sm.html @@ -0,0 +1,141 @@ + + +FS::svc_acct_sm - Object methods for svc_acct_sm records + + + + + + + + + + + +
+

+

NAME

+

FS::svc_acct_sm - Object methods for svc_acct_sm records

+

+


+

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

+

An FS::svc_acct object represents a virtual mail alias. FS::svc_acct inherits +from FS::Record. The following fields are currently supported:

+
+
svcnum - primary key (assigned automatcially for new accounts)
+
+
domsvc - svcnum of the virtual domain (see the FS::svc_domain manpage)
+
+
domuid - uid of the target account (see the FS::svc_acct manpage)
+
+
domuser - virtual username
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new virtual mail alias. To add the virtual mail alias to the +database, see insert. +

+
insert
+
+Adds this virtual mail alias to the database. If there is an error, returns +the error, otherwise returns false. +

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:

+
+  [ -e $dir/.qmail-$qdomain-default ] || {
+    touch $dir/.qmail-$qdomain-default;
+    chown $uid:$gid $dir/.qmail-$qdomain-default;
+  }
+

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.

+

+
delete
+
+Deletes this virtual mail alias from the database. If there is an error, +returns the error, otherwise returns false. +

The corresponding FS::cust_svc record will be deleted as well.

+

+
replace OLD_RECORD
+
+Replaces OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. +

+
suspend
+
+Just returns false (no error) for now. +

Called by the suspend method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
unsuspend
+
+Just returns false (no error) for now. +

Called by the unsuspend method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
cancel
+
+Just returns false (no error) for now. +

Called by the cancel method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
check
+
+Checks all fields to make sure this is a valid virtual mail alias. If there is +an error, returns the error, otherwise returns false. Called by the insert and +replace methods. +

Sets any fixed values; see the FS::part_svc manpage.

+

+

+


+

VERSION

+

$Id: svc_acct_sm.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

The remote commands should be configurable.

+

The $recref stuff in sub check should be cleaned up.

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/svc_domain.html b/httemplate/docs/man/FS/svc_domain.html new file mode 100644 index 000000000..ace3de154 --- /dev/null +++ b/httemplate/docs/man/FS/svc_domain.html @@ -0,0 +1,162 @@ + + +FS::svc_domain - Object methods for svc_domain records + + + + + + + + + + + +
+

+

NAME

+

FS::svc_domain - Object methods for svc_domain records

+

+


+

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

+

An FS::svc_domain object represents a domain. FS::svc_domain inherits from +FS::svc_Common. The following fields are currently supported:

+
+
svcnum - primary key (assigned automatically for new accounts)
+
+
domain
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new domain. To add the domain to the database, see insert. +

+
insert
+
+Adds this domain to the database. If there is an error, returns the error, +otherwise returns false. +

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.

+

+
delete
+
+Deletes this domain from the database. If there is an error, returns the +error, otherwise returns false. +

The corresponding FS::cust_svc record will be deleted as well.

+

+
replace OLD_RECORD
+
+Replaces OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. +

+
suspend
+
+Just returns false (no error) for now. +

Called by the suspend method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
unsuspend
+
+Just returns false (no error) for now. +

Called by the unsuspend method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
cancel
+
+Just returns false (no error) for now. +

Called by the cancel method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
check
+
+Checks all fields to make sure this is a valid domain. If there is an error, +returns the error, otherwise returns false. Called by the insert and replace +methods. +

Sets any fixed values; see the FS::part_svc manpage.

+

+
whois
+
+Returns the Net::Whois::Domain object (see the Net::Whois manpage) for this domain, or +undef if the domain is not found in whois. +

(If $FS::svc_domain::whois_hack is true, returns that in all cases instead.)

+

+
_whois
+
+Depriciated. +

+
submit_internic
+
+Submits a registration email for this domain. +

+

+


+

VERSION

+

$Id: svc_domain.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

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.

+

+


+

SEE ALSO

+

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.

+ + + + diff --git a/httemplate/docs/man/FS/svc_www.html b/httemplate/docs/man/FS/svc_www.html new file mode 100644 index 000000000..e72b219be --- /dev/null +++ b/httemplate/docs/man/FS/svc_www.html @@ -0,0 +1,150 @@ + + +FS::svc_www - Object methods for svc_www records + + + + + + + + + + + +
+

+

NAME

+

FS::svc_www - Object methods for svc_www records

+

+


+

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

+

An FS::svc_www object represents an web virtual host. FS::svc_www inherits +from FS::svc_Common. The following fields are currently supported:

+
+
svcnum - primary key
+
+
recnum - DNS `A' record corresponding to this web virtual host. (see the FS::domain_record manpage)
+
+
usersvc - account (see the FS::svc_acct manpage) corresponding to this web virtual host.
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new web virtual host. To add the record 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. +

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:

+
+  mkdir $apacheroot/$zone;
+  chown $username $apacheroot/$zone;
+  ln -s $apacheroot/$zone $homedir/$zone
+

$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.

+

+
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. +

+
suspend
+
+Called by the suspend method of FS::cust_pkg (see the FS::cust_pkg manpage). +

+
unsuspend
+
+Called by the unsuspend method of FS::cust_pkg (see the FS::cust_pkg manpage). +

+
cancel
+
+Called by the cancel method of FS::cust_pkg (see the FS::cust_pkg manpage). +

+
check
+
+Checks all fields to make sure this is a valid example. If there is +an error, returns the error, otherwise returns false. Called by the insert +and repalce methods. +

+

+


+

VERSION

+

$Id: svc_www.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

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.

+

+


+

HISTORY

+

$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

+ + + + diff --git a/httemplate/docs/man/FS/type_pkgs.html b/httemplate/docs/man/FS/type_pkgs.html new file mode 100644 index 000000000..ba258252f --- /dev/null +++ b/httemplate/docs/man/FS/type_pkgs.html @@ -0,0 +1,100 @@ + + +FS::type_pkgs - Object methods for type_pkgs records + + + + + + + + + + + +
+

+

NAME

+

FS::type_pkgs - Object methods for type_pkgs records

+

+


+

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

+

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:

+
+
typenum - Agent type, see the FS::agent_type manpage
+
+
pkgpart - Billing item definition, see the FS::part_pkg manpage
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Create a new record. To add the record to the database, see insert. +

+
insert
+
+Adds this record to the database. If there is an error, returns the error, +otherwise returns false. +

+
delete
+
+Deletes this record from the database. If there is an error, returns the +error, otherwise returns false. +

+
replace OLD_RECORD
+
+Replaces 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 record. If there is an error, +returns the error, otherwise returns false. Called by the insert and replace +methods. +

+

+


+

VERSION

+

$Id: type_pkgs.html,v 1.3 2002-01-29 17:42:46 ivan Exp $

+

+


+

BUGS

+

+


+

SEE ALSO

+

the FS::Record manpage, the FS::agent_type manpage, the FS::part_pkgs manpage, schema.html from the base +documentation.

+ + + + -- cgit v1.2.1