optimize CDR rating after timed rate perf regression, RT#15739
[freeside.git] / httemplate / edit / part_device.html
1 <% include( 'elements/edit.html',
2                  'name'   => 'Phone device type',
3                  'table'  => 'part_device',
4                  'labels' => { 
5                                'devicepart' => 'Part number',
6                                'devicename' => 'Device name',
7                                'inventory_classnum' => 'Inventory class',
8                              },
9                  'fields' => \@fields,
10                  'viewall_dir' => 'browse',
11                  'html_bottom' => $html_bottom_sub,
12            )
13 %>
14 <%init>
15
16 die "access denied"
17   unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
18
19 my $extra_sql =
20   join( ' OR ', map { "exporttype = '$_'" }
21                 keys %{FS::part_export::export_info('part_device')}
22       );
23 $extra_sql = $extra_sql ? " WHERE ( $extra_sql ) " : " WHERE 0 = 1 ";
24
25 my @inventory_classnums;
26 push @inventory_classnums, '';
27 my %inventory_classnum_labels;
28 $inventory_classnum_labels{''} = '';
29 my @inventory_classes = qsearch('inventory_class', {} );
30 foreach my $inventory_class ( @inventory_classes ) {
31     push @inventory_classnums, $inventory_class->classnum;
32     $inventory_classnum_labels{$inventory_class->classnum} = $inventory_class->classname;
33 }
34                         
35 my @fields;
36 push @fields, 'devicename',
37               { field => 'inventory_classnum', 
38                 type => 'select',
39                 options => \@inventory_classnums,
40                 labels => \%inventory_classnum_labels,
41               };
42
43 my $html_bottom_sub = sub {
44   my $part_device = shift;
45
46   '<BR>'.
47   '<FONT SIZE="+1">Exports</FONT><BR>'.
48
49   '<TABLE BGCOLOR="#cccccc" WIDTH=100%>'.
50   '<TR><TD>'.
51   include( '/elements/checkboxes-table.html',
52              'source_obj'    => $part_device,
53              'link_table'    => 'export_device',
54              'target_table'  => 'part_export',
55              'extra_sql'     => $extra_sql,
56              'name_callback' => sub { my $o = shift;
57                                       $o->exporttype. ' to '. $o->machine;
58                                     },
59          ).
60   '</TD></TR></TABLE>';
61
62 };
63
64 </%init>
65