use FS::queue_arg;
use FS::queue_depend;
use FS::cust_svc;
-use FS::CGI qw (rooturl);
+use FS::CGI qw(rooturl);
@ISA = qw(FS::Record);
@EXPORT_OK = qw( joblisting );
Freeform text status message
+=cut
+
+sub statustext {
+ my $self = shift;
+ if ( defined ( $_[0] ) ) {
+ $self->SUPER::statustext(@_);
+ } else {
+ my $value = $self->SUPER::statustext();
+ my $rooturl = rooturl();
+ $value =~ s/%%%ROOTURL%%%/$rooturl/g;
+ $value;
+ }
+}
+
=item _date
UNIX timestamp
Secure flag, 'Y' indicates that when using encryption, the job needs to be
run on a machine with the private key.
+=item usernum
+
+For access_user that created the job
+
=cut
=back
$self->custnum( $args{'custnum'} ) if $args{'custnum'};
+ $self->usernum($FS::CurrentUser::CurrentUser->usernum) unless $self->usernum;
+
my $error = $self->SUPER::insert;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
|| $self->ut_enum('status',['', qw( new locked failed done )])
|| $self->ut_anything('statustext')
|| $self->ut_numbern('svcnum')
+ || $self->ut_foreign_keyn('usernum', 'access_user', 'usernum')
;
return $error if $error;
use vars qw($_update_statustext_dbh);
sub update_statustext {
my( $self, $statustext ) = @_;
- return '' if $statustext eq $self->statustext;
+ return '' if $statustext eq $self->get('statustext'); #avoid rooturl expansion
warn "updating statustext for $self to $statustext" if $DEBUG;
$_update_statustext_dbh ||= myconnect;
$sth->execute($statustext, $self->jobnum) or return $sth->errstr;
$_update_statustext_dbh->commit or die $_update_statustext_dbh->errstr;
- $self->statustext($statustext);
+ $self->set('statustext', $statustext); #avoid rooturl expansion
'';
#my $new = new FS::queue { $self->hash };
#'';
}
+=item access_user
+
+Returns FS::access_user object (if any) associated with this user.
+
+Returns nothing if not found.
+
+=cut
+
+sub access_user {
+ my $self = shift;
+ my $usernum = $self->usernum || return ();
+ return qsearchs('access_user',{ 'usernum' => $usernum }) || ();
+}
+
=back
=head1 SUBROUTINES