6423f4a25bd9472fdc1b2e35b320ee494e332b15
[freeside.git] / httemplate / browse / hardware_class.html
1 <% include( 'elements/browse.html',
2                  'title'       => 'Hardware Classes and Types',
3                  'name'        => 'hardware classes',
4                  'menubar'     => $menubar,
5                  'query'       => { 'table' => 'hardware_class' },
6                  'count_query' => 'SELECT COUNT(*) FROM hardware_class',
7                  'header'      => [ '#', 'Hardware class', '', 'Device types' ],
8                  'fields'      => [ 'classnum',
9                                     'classname',
10                                     '',
11                                     $types_sub,
12                                   ],
13                  'links'       => [ $class_link,
14                                     $class_link,
15                                     '',
16                                     '',
17                                   ],
18              )
19 %>
20 <%init>
21
22 my $curuser = $FS::CurrentUser::CurrentUser;
23
24 die "access denied"
25   unless $curuser->access_right('Edit hardware classes and types');
26
27 my $menubar = 
28   [ 'Hardware statuses'    => $p.'browse/hardware_status.html',
29     'Add a hardware class' => $p.'edit/hardware_class.html',
30     'Add a device type',   => $p.'edit/hardware_type.html', ];
31
32 my $types_sub = sub {
33   my $hardware_class = shift;
34   my @rows = map { 
35       my $type_link = $p.'edit/hardware_type.html?'.$_->typenum;
36       my $num_svcs = FS::svc_hardware->count("typenum = ".$_->typenum);
37       $num_svcs = $num_svcs > 0 ? 
38         mt('<B>[_1]</B> [numerate,_1,service]',$num_svcs) : '';
39       my $search_link = $p.'search/svc_hardware.cgi?typenum='.$_->typenum;
40
41       [ 
42         { 'data' => $_->model, 'link' => $type_link },
43         { 'data' => $_->revision, 'link' => $type_link },
44         { 'data' => $num_svcs, 'link' => $search_link, 'size' => -1 }
45       ]
46
47     } $hardware_class->hardware_type;
48
49   \@rows;
50 };
51
52 my $class_link = [ "${p}edit/hardware_class.html?", 'classnum' ];
53
54 </%init>