Handle hostnames with upper-case letters
[webmin.git] / bacula-backup / storagestatus_form.cgi
1 #!/usr/local/bin/perl
2 # Show a form for displaying the status of one storage daemon
3
4 require './bacula-backup-lib.pl';
5 &ui_print_header(undef,  $text{'storagestatus_title'}, "", "storagestatus");
6 &ReadParse();
7
8 # Storage selector
9 @storages = sort { lc($a->{'name'}) cmp lc($b->{'name'}) }
10                  &get_bacula_storages();
11 if (@storages == 1) {
12         $in{'storage'} ||= $storages[0]->{'name'};
13         }
14 print &ui_form_start("storagestatus_form.cgi");
15 print "<b>$text{'storagestatus_show'}</b>\n";
16 print &ui_select("storage", $in{'storage'},
17          [ map { [ $_->{'name'},
18                    &text('storagestatus_on', $_->{'name'}, $_->{'address'}) ] }
19            @storages ]);
20 print &ui_submit($text{'storagestatus_ok'}),"<br>\n";
21 print &ui_form_end();
22
23 if ($in{'storage'}) {
24         # Show this storage
25         ($msg, $ok, $run, $done) = &get_storage_status($in{'storage'});
26
27         if ($ok) {
28                 print &text('storagestatus_msg', $in{'storage'}, $msg),"<p>\n";
29
30                 # Running jobs
31                 print &ui_subheading($text{'dirstatus_run'});
32                 if (@$run) {
33                         print &ui_form_start("cancel_jobs.cgi", "post");
34                         print &ui_hidden("storage", $in{'storage'}),"\n";
35                         @links = ( &select_all_link("d", 1),
36                                    &select_invert_link("d", 1) );
37                         print &ui_links_row(\@links);
38                         @tds = ( "width=5" );
39                         print &ui_columns_start([ "", $text{'dirstatus_name'},
40                                                   $text{'dirstatus_id'},
41                                                   $text{'dirstatus_level'},
42                                                   $text{'dirstatus_status'} ],
43                                                 "100%", 0, \@tds);
44                         foreach $j (@$run) {
45                                 print &ui_checked_columns_row([
46                                         &joblink($j->{'name'}),
47                                         $j->{'id'},
48                                         $j->{'level'},
49                                         $j->{'status'} ], \@tds,
50                                         "d", $j->{'id'});
51                                 }
52                         print &ui_columns_end();
53                         print &ui_links_row(\@links);
54                         print &ui_form_end([ [ "cancel", $text{'dirstatus_cancel'} ] ]);
55                         }
56                 else {
57                         print "<b>$text{'dirstatus_runnone'}</b><p>\n";
58                         }
59
60                 # Completed jobs
61                 print &ui_subheading($text{'dirstatus_done'});
62                 if (@$done) {
63                         print &ui_columns_start([ $text{'dirstatus_name'},
64                                                   $text{'dirstatus_id'},
65                                                   $text{'dirstatus_level'},
66                                                   $text{'dirstatus_date'},
67                                                   $text{'dirstatus_bytes'},
68                                                   $text{'dirstatus_files'},
69                                                   $text{'dirstatus_status2'} ],
70                                                 "100%");
71                         foreach $j (@$done) {
72                                 print &ui_columns_row([
73                                         &joblink($j->{'name'}),
74                                         $j->{'id'},
75                                         $j->{'level'},
76                                         $j->{'date'},
77                                         &nice_size($j->{'bytes'}),
78                                         $j->{'files'},
79                                         $j->{'status'} ]);
80                                 }
81                         print &ui_columns_end();
82                         }
83                 else {
84                         print "<b>$text{'dirstatus_donenone'}</b><p>\n";
85                         }
86                 }
87         else {
88                 # Couldn't connect!
89                 print "<b>",&text('storagestatus_err', $in{'storage'}, $msg),
90                       "</b><p>\n";
91                 }
92         }
93
94 &ui_print_footer("", $text{'index_return'});
95
96