summaryrefslogtreecommitdiff
path: root/FS/FS/prepay_credit.pm
diff options
context:
space:
mode:
Diffstat (limited to 'FS/FS/prepay_credit.pm')
-rw-r--r--FS/FS/prepay_credit.pm74
1 files changed, 5 insertions, 69 deletions
diff --git a/FS/FS/prepay_credit.pm b/FS/FS/prepay_credit.pm
index 92f2a30..a9d26d1 100644
--- a/FS/FS/prepay_credit.pm
+++ b/FS/FS/prepay_credit.pm
@@ -2,8 +2,8 @@ package FS::prepay_credit;
use strict;
use vars qw( @ISA );
-use FS::Record qw(qsearchs dbh);
-use FS::agent;
+#use FS::Record qw( qsearch qsearchs );
+use FS::Record qw();
@ISA = qw(FS::Record);
@@ -37,8 +37,8 @@ FS::prepay_credit - Object methods for prepay_credit records
=head1 DESCRIPTION
-An FS::prepay_credit object represents a pre-paid card. FS::prepay_credit
-inherits from FS::Record. The following
+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:
=over 4
@@ -51,8 +51,6 @@ fields are currently supported:
=item seconds - time amount of credit (see L<FS::svc_acct/seconds>)
-=item agentnum - optional agent (see L<FS::agent>) for this prepaid card
-
=back
=head1 METHODS
@@ -109,76 +107,14 @@ sub check {
$self->ut_numbern('prepaynum')
|| $self->ut_alpha('identifier')
|| $self->ut_money('amount')
- || $self->ut_numbern('seconds')
- || $self->ut_foreign_keyn('agentnum', 'agent', 'agentnum')
+ || $self->utnumbern('seconds')
|| $self->SUPER::check
;
}
-=item agent
-
-Returns the agent (see L<FS::agent>) for this prepaid card, if any.
-
-=cut
-
-sub agent {
- my $self = shift;
- qsearchs('agent', { 'agentnum' => $self->agentnum } );
-}
-
=back
-=head1 SUBROUTINES
-
-=over 4
-
-=item generate NUM TYPE HASHREF
-
-Generates the specified number of prepaid cards. Returns an array reference of
-the newly generated card identifiers, or a scalar error message.
-
-=cut
-
-#false laziness w/agent::generate_reg_codes
-sub generate {
- my( $num, $type, $hashref ) = @_;
-
- my @codeset = ();
- push @codeset, ( 'A'..'Z' ) if $type =~ /alpha/;
- push @codeset, ( '1'..'9' ) if $type =~ /numeric/;
-
- local $SIG{HUP} = 'IGNORE';
- local $SIG{INT} = 'IGNORE';
- local $SIG{QUIT} = 'IGNORE';
- local $SIG{TERM} = 'IGNORE';
- local $SIG{TSTP} = 'IGNORE';
- local $SIG{PIPE} = 'IGNORE';
-
- my $oldAutoCommit = $FS::UID::AutoCommit;
- local $FS::UID::AutoCommit = 0;
- my $dbh = dbh;
-
- my @cards = ();
- for ( 1 ... $num ) {
- my $prepay_credit = new FS::prepay_credit {
- 'identifier' => join('', map($codeset[int(rand $#codeset)], (0..7) ) ),
- %$hashref,
- };
- my $error = $prepay_credit->check || $prepay_credit->insert;
- if ( $error ) {
- $dbh->rollback if $oldAutoCommit;
- return "(inserting prepay_credit) $error";
- }
- push @cards, $prepay_credit->identifier;
- }
-
- $dbh->commit or die $dbh->errstr if $oldAutoCommit;
-
- \@cards;
-
-}
-
=head1 BUGS
=head1 SEE ALSO