# seeing the card number
my $gatewaynum =
$conf->config('selfservice-payment_gateway', $self->agentnum);
- my $gateway = FS::payment_gateway->by_key($gatewaynum)
- if $gatewaynum;
+ my $gateway;
+ $gateway = FS::payment_gateway->by_key($gatewaynum) if $gatewaynum;
+ return $gateway if $gateway;
+
+ # a little less kludgey than the above, and allows PayPal to coexist
+ # with credit card gateways
+ my $is_paypal = { op => '!=', value => 'PayPal' };
+ if ( uc($options{method}) eq 'PAYPAL' ) {
+ $is_paypal = 'PayPal';
+ }
+
+ $gateway = qsearchs({
+ table => 'payment_gateway',
+ addl_from => ' JOIN agent_payment_gateway USING (gatewaynum) ',
+ hashref => {
+ gateway_namespace => 'Business::OnlineThirdPartyPayment',
+ gateway_module => $is_paypal,
+ disabled => '',
+ },
+ extra_sql => ' AND agentnum = '.$self->agentnum,
+ });
if ( $gateway ) {
return $gateway;
shift->num_pkg_sql(FS::cust_pkg->cancel_sql);
}
+=item num_on_hold_cust_pkg
+
+Returns the number of inactive customer packages (one-time packages otherwise
+unsuspended/uncancelled) for this agent.
+
+=cut
+
+sub num_on_hold_cust_pkg {
+ shift->num_pkg_sql(FS::cust_pkg->on_hold_sql);
+}
+
+=item num_not_yet_billed_cust_pkg
+
+Returns the number of inactive customer packages (one-time packages otherwise
+unsuspended/uncancelled) for this agent.
+
+=cut
+
+sub num_not_yet_billed_cust_pkg {
+ shift->num_pkg_sql(FS::cust_pkg->not_yet_billed_sql);
+}
+
=item generate_reg_codes NUM PKGPART_ARRAYREF
Generates the specified number of registration codes, allowing purchase of the
$sth->fetchrow_arrayref->[0];
}
+sub commission_where {
+ my $self = shift;
+ 'cust_credit.commission_agentnum = ' . $self->agentnum;
+}
+
+sub sales_where {
+ my $self = shift;
+ 'cust_main.agentnum = ' . $self->agentnum;
+}
+
=back
=head1 BUGS