From 2c816f314a8f3cc46e72e31f34ed97b4e11d0449 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 4 Aug 1999 12:13:27 +0000 Subject: new HTML manpages --- htdocs/docs/man/FS/cust_pkg.html | 254 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 254 insertions(+) create mode 100644 htdocs/docs/man/FS/cust_pkg.html (limited to '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 new file mode 100644 index 000000000..e105a30df --- /dev/null +++ b/htdocs/docs/man/FS/cust_pkg.html @@ -0,0 +1,254 @@ + + +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 FS::cust_main)
+
pkgpart - Billing item definition (see FS::part_pkg)
+
setup - date
+
bill - date
+
susp - date
+
expire - date
+
cancel - date
+
otaker - order taker (assigned automatically if null, see FS::UID)
+
+

+Note: setup, bill, susp, expire and cancel are specified as UNIX +timestamps; see perlfunc. Also see Time::Local and Date::Parse 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 FS::cust_main). + +

+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 FS::cust_svc and FS::part_svc) 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 FS::cust_svc and FS::part_svc) 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 FS::cust_svc and FS::part_svc) 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 +FS::part_pkg). + +

labels
+

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

+

+


+

SUBROUTINES

+
+
order CUSTNUM, PKGPARTS_ARYREF, [ REMOVE_PKGNUMS_ARYREF ]
+

+CUSTNUM is a customer (see FS::cust_main) + +

+PKGPARTS is a list of pkgparts specifying the the billing item definitions +(see +FS::part_pkg) 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 FS::cust_svc) are moved to the new billing items. An error is returned if this is not +possible (see +FS::pkg_svc). + +

+

+


+

VERSION

+

+$Id: cust_pkg.html,v 1.1 1999-08-04 12:13:27 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

+

+FS::Record, FS::cust_main, FS::part_pkg, FS::cust_svc +, FS::pkg_svc, schema.html from the base documentation + + + + -- cgit v1.2.1