L<FS::Report::Table::Monthly> - Report data objects
-L<FS::XMLRPC> - Backend XML::RPC server
+L<FS::ClientAPI_XMLRPC> - Backend XML::RPC server
L<FS::Misc> - Miscellaneous subroutines
L<FS::rate_tier> - Rate tiers for call billing
-L<FS::rate_tier_details> - Rater tier details for call billing
+L<FS::rate_tier_detail> - Rater tier details for call billing
L<FS::usage_class> - Usage class class
L<freeside-adduser> - Command line interface to add (freeside) users.
-L<freeside-deluser> - Command line interface to delete (freeside) users.
-
L<freeside-dbdef-create> - Recreate database schema cache
L<freeside-setup> - Create new database
L<freeside-monthly> - Run monthly billing and invoice collection events.
-L<freeside-expiration-alerter> - Emails notifications of credit card expirations.
-
=head3 Cron (payment batches)
L<freeside-eftca-download> - Download EFT Canada batch results
=head3 Misc. Tools (taking actions)
-L<freeside-fetch> - Send a freeside page to a list of employees.
-
L<freeside-prune-applications> - Removes stray applications of credit, payment to bills, refunds, etc.
=head3 Services
L<freeside-queued> - Job queue daemon
-L<freeside-selvservice-server> - Self-service server
+L<freeside-selfservice-server> - Self-service server
L<freeside-selfservice-xmlrpcd> - Self-service XML-RPC server
%handler = ();
+=head1 NAME
+
+FS::ClientAPI
+
+=item load_clientapi_modules
+
+=cut
+
+=cut
+
sub load_clientapi_modules {
#find modules
}
+=item dispatch [ name ]
+
+=cut
+
sub dispatch {
my ( $self, $name ) = ( shift, shift );
$name =~ s(/)(::)g;
Retrieves the config value named CONFIG, parses it as a Text::Template,
extracts "to" and "subject" headers, and returns a hash that can be passed
-to L<FS::Misc::send_email>.
+to L<FS::Misc/send_email>.
PARAMS is a hashref to be passed to C<fill_in>. It must contain
'agentnum' to look up the per-agent config.
=item psearch ARGUMENTS
-A wrapper around L<FS::Record::qsearch>. Accepts all the same arguments
+A wrapper around L<FS::Record/qsearch>. Accepts all the same arguments
as qsearch, except for the arrayref union query mode, and returns an
FS::PagedSearch object to access the rows of the query one at a time.
If the query doesn't contain an ORDER BY clause already, it will be ordered
=back
-Returns an argument list to be passed to L<FS::Misc::send_email>.
+Returns an argument list to be passed to L<FS::Misc/send_email>.
=cut
=item join_cust_main [ TABLE[.CUSTNUM] ] [ LOCATION_TABLE[.LOCATIONNUM] ]
Returns an SQL join phrase for the FROM clause so that the fields listed
-in L<cust_sql_fields> will be available. Currently joins to cust_main
+in L</cust_sql_fields> will be available. Currently joins to cust_main
itself, as well as cust_location (under the aliases 'bill_location' and
-'ship_location') if address fields are needed. L<cust_header()> should have
+'ship_location') if address fields are needed. L</cust_header> should have
been called already.
All of these will be left joins; if you want to exclude rows with no linked
Returns the amount to be displayed as the "Balance Due" on this
invoice. Amount returned depends on conf flags for invoicing
-See L<FS::cust_bill::owed> for the true amount currently owed
+See L<FS::cust_bill/owed> for the true amount currently owed
=cut
=item spool_invoice [ TEMPLATENAME ]
-Spools this invoice data (see L<FS::spool_csv>)
+Spools this invoice data (see L<FS::cust_bill/spool_csv>)
TEMPLATENAME is unused?
=head1 SEE ALSO
L<FS::Record>, L<FS::cust_main>, L<FS::cust_bill_pay>, L<FS::cust_pay>,
-L<FS::cust_bill_pkg>, L<FS::cust_bill_credit>, schema.html from the base
+L<FS::cust_bill_pkg>, L<FS::cust_credit>, schema.html from the base
documentation.
=cut
=item reasonnum
-reason for voiding the payment (see L<FS::reson>)
+reason for voiding the payment (see L<FS::reason>)
=back
=item reasonnum
-reason for voiding the payment (see L<FS::reson>)
+reason for voiding the payment (see L<FS::reason>)
=item void_usernum
Class method which returns an SQL WHERE fragment to search for parameters
specified in HASHREF. Accepts the following parameters for
-L<FS::cust_bill::search_sql_where>: C<_date>, C<invnum_min>, C<invnum_max>,
+L<FS::cust_bill/search_sql_where>: C<_date>, C<invnum_min>, C<invnum_max>,
C<agentnum>, C<custnum>, C<cust_classnum>, C<refnum>. Also
accepts the following:
=item reason_type
-L<FS::reason_type|Reason> type for newly-inserted reason
+L<FS::reason_type> Reason type for newly-inserted reason
=item cust_credit_source_bill_pkg
An arrayref of
-L<FS::cust_credit_source_bill_pkg|FS::cust_credit_source_bilL_pkg> objects.
+L<FS::cust_credit_source_bill_pkg> objects.
They will have their crednum set and will be inserted along with this credit.
=back
=item creditbillpkgnum - primary key
-=item creditbillnum - Credit application to the overall invoice (see L<FS::cust_credit::bill>)
+=item creditbillnum - Credit application to the overall invoice (see L<FS::cust_credit_bill>)
=item billpkgnum - Line item to which credit is applied (see L<FS::cust_bill_pkg>)
=item dundate
-A suggestion to events (see L<FS::part_bill_event">) to delay until this unix timestamp
+A suggestion to events (see L<FS::part_bill_event>) to delay until this unix timestamp
=item squelch_cdr
=item quiet - can be set true to supress email cancellation notices.
-=item reason - can be set to a cancellation reason (see L<FS:reason>), either a
+=item reason - can be set to a cancellation reason (see L<FS::reason>), either a
reasonnum of an existing reason, or passing a hashref will create a new reason.
The hashref should have the following keys:
typenum - Reason type (see L<FS::reason_type>)
L<Date::Parse> for conversion functions. The empty string can be passed
to disable that time constraint completely.
-Accepts the same options as L<balance_date_sql>:
+Accepts the same options as L</balance_date_sql>:
=over 4
=item search
-Hashref of params to the L<search()> method. Required.
+Hashref of params to the L<FS::Record/search> method. Required.
=item msgnum
=item pay_batch
-Returns the payment batch this payment belongs to (L<FS::pay_batch).
+Returns the payment batch this payment belongs to (L<FS::pay_batch>).
=cut
=item unbatch_and_delete
May only be called on a record with an empty status and an associated
-L<pay_batch> with a status of 'O' (not yet in transit.) Deletes all associated
-records from L<cust_bill_pay_batch> and then deletes this record.
+L<FS::pay_batch> with a status of 'O' (not yet in transit.) Deletes all associated
+records from L<FS::cust_bill_pay_batch> and then deletes this record.
If there is an error, returns the error, otherwise returns false.
=cut
=item reason - a freeform string (deprecated)
-=item reasonnum - Reason for voiding the payment (see L<FS::reson>)
+=item reasonnum - Reason for voiding the payment (see L<FS::reason>)
=back
=item realtime_bop
-Runs a L<realtime_bop|FS::cust_main::Billing_Realtime::realtime_bop> transaction on this card
+Runs a L<FS::cust_main::Billing_Realtime/realtime_bop> transaction on this card
=cut
=item tokenize
-Runs a L<realtime_tokenize|FS::cust_main::Billing_Realtime::realtime_tokenize> transaction on this card
+Runs a L<FS::cust_main::Billing_Realtime/realtime_tokenize> transaction on this card
=cut
=item locationnum
-Optional link to package location (see L<FS::location>)
+Optional link to package location (see L<FS::cust_location>)
=item order_date
=item reason
-can be set to a cancellation reason (see L<FS:reason>), either a reasonnum of an existing reason, or passing a hashref will create a new reason. The hashref should have the following keys: typenum - Reason type (see L<FS::reason_type>, reason - Text of the new reason.
+can be set to a cancellation reason (see L<FS::reason>), either a reasonnum of an existing reason, or passing a hashref will create a new reason. The hashref should have the following keys: typenum - Reason type (see L<FS::reason_type>, reason - Text of the new reason.
=item reason_otaker
the date. You are PROBABLY looking to expire the account instead of using
this.
-=item reason - can be set to a cancellation reason (see L<FS:reason>),
+=item reason - can be set to a cancellation reason (see L<FS::reason>),
either a reasonnum of an existing reason, or passing a hashref will create
a new reason. The hashref should have the following keys: typenum - Reason
type (see L<FS::reason_type>, reason - Text of the new reason.
=over 4
-=item reason - can be set to a cancellation reason (see L<FS:reason>),
+=item reason - can be set to a cancellation reason (see L<FS::reason>),
either a reasonnum of an existing reason, or passing a hashref will create
a new reason. The hashref should have the following keys:
- typenum - Reason type (see L<FS::reason_type>
=item reason
-can be set to a cancellation reason (see L<FS:reason>), either a reasonnum of an existing reason, or passing a hashref will create a new reason. The hashref should have the following keys: typenum - Reason type (see L<FS::reason_type>, reason - Text of the new reason.
+can be set to a cancellation reason (see L<FS::reason>), either a reasonnum of an existing reason, or passing a hashref will create a new reason. The hashref should have the following keys: typenum - Reason type (see L<FS::reason_type>, reason - Text of the new reason.
=item reason_otaker
(cust_main.tax = 'Y').
=item exempt_cust_taxname - flag indicating that the customer is exempt
-from the tax with this name (see L<FS::cust_main_exemption).
+from the tax with this name (see L<FS::cust_main_exemption>).
=item exempt_setup, exempt_recur: flag indicating that the package's setup
or recurring fee is not taxable (part_pkg.setuptax and part_pkg.recurtax).
=head1 DESCRIPTION
An FS::hardware_type object represents a device type (a model name or
-number) assignable as a hardware service (L<FS::svc_hardware)>).
+number) assignable as a hardware service (L<FS::svc_hardware>).
FS::hardware_type inherits from FS::Record. The following fields are
currently supported:
=head1 SEE ALSO
-L<inventory_class>, L<cust_svc>, L<FS::Record>, schema.html from the base
+L<FS::inventory_class>, L<FS::cust_svc>, L<FS::Record>, schema.html from the base
documentation.
=cut
=item custnum
-Customer (see L<FS::cust_main)
+Customer (see L<FS::cust_main>)
=item _date
=item custnum
-Customer (see L<FS::cust_main)
+Customer (see L<FS::cust_main>)
=item history_action
=head1 SEE ALSO
L<FS::part_event_option>, L<FS::part_event_condition>, L<FS::cust_main>,
-L<FS::cust_pkg>, L<FS::svc_acct>, L<FS::cust_bill>, L<FS::cust_bill_event>,
+L<FS::cust_pkg>, L<FS::svc_acct>, L<FS::cust_bill>, L<FS::cust_event>,
L<FS::Record>,
schema.html from the base documentation.
This option is filled in by the method rather than controlling its operation.
It is an arrayref. Applicable discounts will be added to the arrayref, as
-L<FS::cust_bill_pkg_discount|FS::cust_bill_pkg_discount records>.
+L<FS::cust_bill_pkg_discount> records.
=item real_pkgpart
-For package add-ons, is the base L<FS::part_pkg|package definition>, otherwise
+For package add-ons, is the base L<FS::part_pkg> package definition, otherwise
no different than pkgpart.
=item precommit_hooks
=back
Note: Don't calculate prices when not actually billing the package. For that,
-see the L</base_setup|base_setup> and L</base_recur|base_recur> methods.
+see the L<FS::cust_pkg/base_setup> and L<FS::cust_pkg/base_recur> methods.
=cut
=item svcdb - table used for this service. See L<FS::svc_acct>,
L<FS::svc_domain>, and L<FS::svc_forward>, among others.
-=item classnum - Optional service class (see L<FS::svc_class>)
+=item classnum - Optional service class (see L<FS::part_svc_class>)
=item disabled - Disabled flag, empty or `Y'
=head1 SEE ALSO
-L<svc_acct>, L<FS::radius_group>, L<FS::Record>, schema.html from the base documentation.
+L<FS::svc_acct>, L<FS::radius_group>, L<FS::Record>, schema.html from the base documentation.
=cut
=item agentnum
-Agent (see L<FS::agent)
+Agent (see L<FS::agent>)
=item disabled
This class provides a check subroutine which takes care of checking the
parent_svcnum field. The svc_ class which uses it will call SUPER::check at
the end of its own checks, and this class will call NEXT::check to pass
-the check "up the chain" (see L<NEXT>).
+the check "up the chain" (see L<perlfunc/next>).
=cut
=item seconds_since TIMESTAMP
Returns the number of seconds this account has been online since TIMESTAMP,
-according to the session monitor (see L<FS::Session>).
+according to the session monitor (see L<FS::session>).
TIMESTAMP is specified as a UNIX timestamp; see L<perlfunc/"time">. Also see
L<Time::Local> and L<Date::Parse> for conversion functions.
=head1 SEE ALSO
-L<FS::Record>, L<FS::agent_type>, L<FS::part_pkgs>, schema.html from the base
+L<FS::Record>, L<FS::agent_type>, L<FS::part_pkg>, schema.html from the base
documentation.
=cut
Command line tool to download payment batch responses from the Chase Paymentech
gateway. These are XML files packaged in ZIP files. This script downloads them
-by SFTP, extracts the contents, and passes them to L<FS::pay_batch::import_result>.
+by SFTP, extracts the contents, and passes them to L<FS::pay_batch/import_results>.
-v: Be verbose.
Command line tool to upload a payment batch to the Chase Paymentech gateway.
The batch will be exported to the Paymentech XML format, packaged in a ZIP
-file, and transmitted via SFTP. Use L<paymentech-download> to retrieve the
+file, and transmitted via SFTP. Use L<freeside-paymentech-download> to retrieve the
response file.
-a: Send all open batches, instead of specifying a batchnum.
#!/usr/bin/perl -w
+=head1 NAME
+
+freeside-selfservice-server
+
+=cut
+
use strict;
use vars qw( $FREESIDE_LOG $FREESIDE_LOCK );
use vars qw( $Debug %kids $kids $max_kids $ssh_pid %old_ssh_pid $keepalives );
#!/usr/bin/perl
+=head1 NAME
+
+freeside-selfservice-xmlrpcd
+
+=cut
+
use FS::Daemon::Preforking qw( freeside_init1 freeside_init2 daemon_run );
use FS::XMLRPC_Lite; #XMLRPC::Lite for XMLRPC::Serializer
#!/usr/bin/perl -w
+=head1 NAME
+
+freeside-setup
+
+=cut
+
#to delay loading dbdef until we're ready
BEGIN { $FS::Schema::setup_hack = 1; }
#!/usr/bin/perl
+=head1 NAME
+
+freeside-xmlrpcd
+
+=cut
+
use FS::Daemon::Preforking qw( freeside_init1 freeside_init2 daemon_run );
use FS::XMLRPC_Lite; #XMLRPC::Lite for XMLRPC::Serializer
#!/usr/bin/perl -w
-#
-# freeside-selfservice-clientd
-#
-# This is run REMOTELY over ssh by freeside-selfservice-server
+
+=head1 NAME
+
+freeside-selfservice-clientd
+
+=head1 DESCRIPTION
+
+This is run REMOTELY over ssh by freeside-selfservice-server
+
+=cut
use strict;
use subs qw(spawn logmsg lock_write unlock_write);
#!/usr/bin/perl -w
-#
-# freeside-selfservice-soap-server
-#
+
+=head1 NAME
+
+freeside-selfservice-soap-server
+
+=cut
use strict;
use Fcntl qw(:flock);
#!/usr/bin/perl -w
-#
-# freeside-selfservice-xmlrpc-server
-#
+
+=head1 NAME
+
+freeside-selfservice-xmlrpc-server
+
+=cut
use strict;
use Fcntl qw(:flock);