=item otaker - order taker (assigned automatically if null, see L<FS::UID>)
+=item manual_flag - If this field is set to 1, disables the automatic
+unsuspensiond of this package when using the B<unsuspendauto> config file.
+
=back
Note: setup, bill, susp, expire and cancel are specified as UNIX timestamps;
# custnum might not have have been defined in sub check (for one-shot new
# customers), so check it here instead
+ # (is this still necessary with transactions?)
my $error = $self->ut_number('custnum');
- return $error if $error
+ return $error if $error;
- return "Unknown customer"
- unless qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
+ return "Unknown customer ". $self->custnum unless $self->cust_main;
$self->SUPER::insert;
return $error if $error;
if ( $self->custnum ) {
- return "Unknown customer"
- unless qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
+ return "Unknown customer ". $self->custnum unless $self->cust_main;
}
return "Unknown pkgpart"
$self->otaker =~ /^(\w{0,16})$/ or return "Illegal otaker";
$self->otaker($1);
+ if ( $self->dbdef_table->column('manual_flag') ) {
+ $self->manual_flag =~ /^([01]?)$/ or return "Illegal manual_flag";
+ $self->manual_flag($1);
+ }
+
''; #no error
}
map { [ $_->label ] } qsearch ( 'cust_svc', { 'pkgnum' => $self->pkgnum } );
}
+=item cust_main
+
+Returns the parent customer object (see L<FS::cust_main>).
+
+=cut
+
+sub cust_main {
+ my $self = shift;
+ qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
+}
+
=back
=head1 SUBROUTINES
=head1 VERSION
-$Id: cust_pkg.pm,v 1.7 2001-10-01 10:31:08 ivan Exp $
+$Id: cust_pkg.pm,v 1.10 2001-10-15 12:16:42 ivan Exp $
=head1 BUGS
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.
+Now that things are transactional should the check in the insert method be
+moved to check ?
+
=head1 SEE ALSO
-L<FS::Record>, L<FS::cust_main>, L<FS::part_pkg>, L<FS::cust_svc>
-, L<FS::pkg_svc>, schema.html from the base documentation
+L<FS::Record>, L<FS::cust_main>, L<FS::part_pkg>, L<FS::cust_svc>,
+L<FS::pkg_svc>, schema.html from the base documentation
=cut