package FS::part_event;
+use base qw( FS::m2name_Common FS::option_Common );
use strict;
-use base qw( FS::m2name_Common FS::option_Common );
use vars qw( $DEBUG );
use Carp qw(confess);
use FS::Record qw( dbh qsearch qsearchs );
use FS::part_event_option;
use FS::part_event_condition;
use FS::cust_event;
-use FS::agent;
$DEBUG = 0;
Returns the conditions associated with this event, as FS::part_event_condition
objects (see L<FS::part_event_condition>)
-=cut
-
-sub part_event_condition {
- my $self = shift;
- qsearch( 'part_event_condition', { 'eventpart' => $self->eventpart } );
-}
-
=item new_cust_event OBJECT, [ OPTION => VALUE ]
Creates a new customer event (see L<FS::cust_event>) for the provided object.
Returns the associated agent for this event, if any, as an FS::agent object.
-=cut
-
-sub agent {
- my $self = shift;
- qsearchs('agent', { 'agentnum' => $self->agentnum } );
-}
-
=item templatename
Returns the alternate invoice template name, if any, or false if there is
}
}
-=item targets
+=item targets OPTIONS
Returns all objects (of type C<FS::eventtable>, for this object's
C<eventtable>) eligible for processing under this event, as of right now.
sub targets {
my $self = shift;
- my $time = time; # $opt{'time'}?
+ my %opt = @_;
+ my $time = $opt{'time'} || time;
my $eventpart = $self->eventpart;
$eventpart =~ /^\d+$/ or die "bad eventpart $eventpart";
}
# this is the 'event' side
- my $join = FS::part_event_condition->join_conditions_sql( $eventtable );
+ my $join = FS::part_event_condition->join_conditions_sql( $eventtable,
+ 'time' => $time
+ );
my $where = FS::part_event_condition->where_conditions_sql( $eventtable,
'time' => $time
);
'cust_pkg' => 'Package',
'cust_bill' => 'Invoice',
'cust_main' => 'Customer',
+ 'cust_pay' => 'Payment',
'cust_pay_batch' => 'Batch payment',
'cust_statement' => 'Statement', #too general a name here? "Invoice group"?
'svc_acct' => 'Login service',
'cust_main' => 'custnum',
'cust_bill' => 'invnum',
'cust_pkg' => 'pkgnum',
+ 'cust_pay' => 'paynum',
'cust_pay_batch' => 'paybatchnum',
'cust_statement' => 'statementnum',
'svc_acct' => 'svcnum',
(
map { $_ => $actions{$_} }
sort { $actions{$a}->{'default_weight'}<=>$actions{$b}->{'default_weight'} }
+ # || $actions{$a}->{'description'} cmp $actions{$b}->{'description'} }
$class->all_actions( $eventtable )
);