removing
[freeside.git] / htdocs / docs / man / FS / cust_pkg.html
diff --git a/htdocs/docs/man/FS/cust_pkg.html b/htdocs/docs/man/FS/cust_pkg.html
deleted file mode 100644 (file)
index 19c8ff8..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>FS::cust_pkg - Object methods for cust_pkg objects</TITLE>
-<LINK REV="made" HREF="mailto:perl@packages.debian.org">
-</HEAD>
-
-<BODY>
-
-<A NAME="__index__"></A>
-<!-- INDEX BEGIN -->
-
-<UL>
-
-       <LI><A HREF="#name">NAME</A></LI>
-       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
-       <LI><A HREF="#description">DESCRIPTION</A></LI>
-       <LI><A HREF="#methods">METHODS</A></LI>
-       <LI><A HREF="#subroutines">SUBROUTINES</A></LI>
-       <LI><A HREF="#version">VERSION</A></LI>
-       <LI><A HREF="#bugs">BUGS</A></LI>
-       <LI><A HREF="#see also">SEE ALSO</A></LI>
-</UL>
-<!-- INDEX END -->
-
-<HR>
-<P>
-<H1><A NAME="name">NAME</A></H1>
-<P>FS::cust_pkg - Object methods for cust_pkg objects</P>
-<P>
-<HR>
-<H1><A NAME="synopsis">SYNOPSIS</A></H1>
-<PRE>
-  use FS::cust_pkg;</PRE>
-<PRE>
-  $record = new FS::cust_pkg \%hash;
-  $record = new FS::cust_pkg { 'column' =&gt; 'value' };</PRE>
-<PRE>
-  $error = $record-&gt;insert;</PRE>
-<PRE>
-  $error = $new_record-&gt;replace($old_record);</PRE>
-<PRE>
-  $error = $record-&gt;delete;</PRE>
-<PRE>
-  $error = $record-&gt;check;</PRE>
-<PRE>
-  $error = $record-&gt;cancel;</PRE>
-<PRE>
-  $error = $record-&gt;suspend;</PRE>
-<PRE>
-  $error = $record-&gt;unsuspend;</PRE>
-<PRE>
-  $part_pkg = $record-&gt;part_pkg;</PRE>
-<PRE>
-  @labels = $record-&gt;labels;</PRE>
-<PRE>
-  $error = FS::cust_pkg::order( $custnum, \@pkgparts );
-  $error = FS::cust_pkg::order( $custnum, \@pkgparts, \@remove_pkgnums ] );</PRE>
-<P>
-<HR>
-<H1><A NAME="description">DESCRIPTION</A></H1>
-<P>An FS::cust_pkg object represents a customer billing item.  FS::cust_pkg
-inherits from FS::Record.  The following fields are currently supported:</P>
-<DL>
-<DT><STRONG><A NAME="item_key">pkgnum - primary key (assigned automatically for new billing items)</A></STRONG><BR>
-<DD>
-<DT><STRONG><A NAME="item_Customer">custnum - Customer (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>)</A></STRONG><BR>
-<DD>
-<DT><STRONG><A NAME="item_definition">pkgpart - Billing item definition (see <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>)</A></STRONG><BR>
-<DD>
-<DT><STRONG><A NAME="item_setup_%2D_date">setup - date</A></STRONG><BR>
-<DD>
-<DT><STRONG><A NAME="item_bill_%2D_date">bill - date</A></STRONG><BR>
-<DD>
-<DT><STRONG><A NAME="item_susp_%2D_date">susp - date</A></STRONG><BR>
-<DD>
-<DT><STRONG><A NAME="item_expire_%2D_date">expire - date</A></STRONG><BR>
-<DD>
-<DT><STRONG><A NAME="item_cancel_%2D_date">cancel - date</A></STRONG><BR>
-<DD>
-<DT><STRONG><A NAME="item_taker">otaker - order taker (assigned automatically if null, see <A HREF=".././FS/UID.html">the FS::UID manpage</A>)</A></STRONG><BR>
-<DD>
-</DL>
-<P>Note: setup, bill, susp, expire and cancel are specified as UNIX timestamps;
-see <EM>perlfunc/``time''</EM>.  Also see <A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for
-conversion functions.</P>
-<P>
-<HR>
-<H1><A NAME="methods">METHODS</A></H1>
-<DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
-<DD>
-Create a new billing item.  To add the item to the database, see <A HREF="#insert">insert</A>.
-<P></P>
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
-<DD>
-Adds this billing item to the database (``Orders'' the item).  If there is an
-error, returns the error, otherwise returns false.
-<P>sub insert {
-  my $self = shift;</P>
-<PRE>
-  # custnum might not have have been defined in sub check (for one-shot new
-  # customers), so check it here instead</PRE>
-<PRE>
-  my $error = $self-&gt;ut_number('custnum');
-  return $error if $error</PRE>
-<PRE>
-  return &quot;Unknown customer&quot;
-    unless qsearchs( 'cust_main', { 'custnum' =&gt; $self-&gt;custnum } );</PRE>
-<PRE>
-  $self-&gt;SUPER::insert;</PRE>
-<P>}</P>
-<P></P>
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
-<DD>
-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.
-<P></P>
-<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
-<DD>
-Replaces the OLD_RECORD with this one in the database.  If there is an error,
-returns the error, otherwise returns false.
-<P>Currently, custnum, setup, bill, susp, expire, and cancel may be changed.</P>
-<P>Changing pkgpart may have disasterous effects.  See the order subroutine.</P>
-<P>setup and bill are normally updated by calling the bill method of a customer
-object (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>).</P>
-<P>suspend is normally updated by the suspend and unsuspend methods.</P>
-<P>cancel is normally updated by the cancel method (and also the order subroutine
-in some cases).</P>
-<P></P>
-<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
-<DD>
-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.
-<P></P>
-<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><BR>
-<DD>
-Cancels and removes all services (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A> and <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>)
-in this package, then cancels the package itself (sets the cancel field to
-now).
-<P>If there is an error, returns the error, otherwise returns false.</P>
-<P></P>
-<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><BR>
-<DD>
-Suspends all services (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A> and <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>) in this
-package, then suspends the package itself (sets the susp field to now).
-<P>If there is an error, returns the error, otherwise returns false.</P>
-<P></P>
-<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><BR>
-<DD>
-Unsuspends all services (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A> and <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>) in this
-package, then unsuspends the package itself (clears the susp field).
-<P>If there is an error, returns the error, otherwise returns false.</P>
-<P></P>
-<DT><STRONG><A NAME="item_part_pkg">part_pkg</A></STRONG><BR>
-<DD>
-Returns the definition for this billing item, as an FS::part_pkg object (see
-<A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>).
-<P></P>
-<DT><STRONG><A NAME="item_labels">labels</A></STRONG><BR>
-<DD>
-Returns a list of lists, calling the label method for all services
-(see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>) of this billing item.
-<P></P></DL>
-<P>
-<HR>
-<H1><A NAME="subroutines">SUBROUTINES</A></H1>
-<DL>
-<DT><STRONG><A NAME="item_order_CUSTNUM%2C_PKGPARTS_ARYREF%2C_%5B_REMOVE_PKG">order CUSTNUM, PKGPARTS_ARYREF, [ REMOVE_PKGNUMS_ARYREF ]</A></STRONG><BR>
-<DD>
-CUSTNUM is a customer (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>)
-<P>PKGPARTS is a list of pkgparts specifying the the billing item definitions (see
-<A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>) to order for this customer.  Duplicates are of course
-permitted.</P>
-<P>REMOVE_PKGNUMS is an optional list of pkgnums specifying the billing items to
-remove for this customer.  The services (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>) are moved to the
-new billing items.  An error is returned if this is not possible (see
-<A HREF=".././FS/pkg_svc.html">the FS::pkg_svc manpage</A>).</P>
-<P></P></DL>
-<P>
-<HR>
-<H1><A NAME="version">VERSION</A></H1>
-<P>$Id: cust_pkg.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
-<P>
-<HR>
-<H1><A NAME="bugs">BUGS</A></H1>
-<P>sub order is not OO.  Perhaps it should be moved to FS::cust_main and made so?</P>
-<P>In sub order, the @pkgparts array (passed by reference) is clobbered.</P>
-<P>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.</P>
-<P>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.</P>
-<P>
-<HR>
-<H1><A NAME="see also">SEE ALSO</A></H1>
-<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>, <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>, <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>
-, <A HREF=".././FS/pkg_svc.html">the FS::pkg_svc manpage</A>, schema.html from the base documentation</P>
-
-</BODY>
-
-</HTML>