Files
netdisco/lib/App/Netdisco/Backend/Job.pm
2017-08-05 22:01:49 +01:00

69 lines
1.1 KiB
Perl
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package App::Netdisco::Backend::Job;
use App::Netdisco::Util::Device 'get_device';
use Moo;
use namespace::clean;
foreach my $slot (qw/
job
entered
started
finished
device
port
action
subaction
status
username
userip
log
debug
/) {
has $slot => (
is => 'rw',
);
}
# $job->device is always a DBIC row
around BUILDARGS => sub {
my ( $orig, $class, @args ) = @_;
my $params = $args[0] or return $class->$orig(@args);
if ((ref {} eq ref $params) and ref $params->{device}) {
$params->{device} = get_device( $params->{device} );
}
return $class->$orig(@args);
};
=head1 METHODS
=head2 summary
An attempt to make a meaningful statement about the job.
=cut
sub summary {
my $job = shift;
return join ' ',
$job->action,
($job->device || ''),
($job->port || '');
# ($job->subaction ? (q{'}. $job->subaction .q{'}) : '');
}
=head1 ADDITIONAL COLUMNS
=head2 extra
Alias for the C<subaction> column.
=cut
sub extra { (shift)->subaction }
1;