& edit.html,
'labels' => {
'devicenum' => 'Device',
'devicepart' => 'Device type',
'mac_addr' => 'MAC address',
},
'fields' => [ { 'field' => 'devicepart',
'type' => 'select-table',
'table' => 'part_device',
'name_col' => 'devicename',
'onchange' => 'devicepart_changed',
'empty_label' =>'Select device type',
#'hashref' =>{ disabled => '' },
},
{ field => 'mac_addr',
type => 'select-mac',
},
{ 'field' => 'svcnum',
'type' => 'hidden',
},
],
'menubar' => [], #disable viewall
#'viewall_dir' => 'browse',
'new_callback' => sub {
my( $cgi, $object ) = @_;
$object->svcnum( $cgi->param('svcnum') );
},
'html_foot' => $html_foot,
%opt,
&>
<%init>
my %opt = @_;
my @deviceparts_with_inventory =
map $_->devicepart,
qsearch({ 'table' => 'part_device',
'extra_sql' => 'WHERE inventory_classnum IS NOT NULL',
});
my $html_foot = sub {
my $js = "
";
$js;
};
# :/ needs agent-virt so you can't futz with arbitrary devices
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific?
%init>