Handle hostnames with upper-case letters
[webmin.git] / bacula-backup / list_grestore.cgi
1 #!/usr/local/bin/perl
2 # Show a form for restoring an old node group backup job
3
4 require './bacula-backup-lib.pl';
5 &ui_print_header(undef,  $text{'grestore_title'}, "", "grestore");
6
7 print &ui_form_start("grestore.cgi", "post");
8 print &ui_table_start($text{'grestore_header'}, undef, 2);
9
10 # Old job to restore
11 $dbh = &connect_to_database();
12 $cmd = $dbh->prepare("select JobId,Name,SchedTime from Job where Name not like 'Restore%' order by SchedTime desc") ||
13                 &error("prepare failed : ",$dbh->errstr);
14 $cmd->execute();
15 while(my ($id, $name, $when) = $cmd->fetchrow()) {
16         if ($oc = &is_oc_object($name)) {
17                 push(@opts, [ $id, "$oc ($id) ($when)" ]);
18                 }
19         }
20 $cmd->finish();
21 print &ui_table_row($text{'restore_job'},
22                     &ui_select("job", undef, \@opts));
23
24 # Files to restore
25 print &ui_table_row($text{'restore_files'},
26                     &ui_textarea("files", undef, 8, 50)."\n".
27                     &bacula_file_button("files", "job"));
28
29 # Destination client
30 @clients = sort { lc($a->{'name'}) cmp lc($b->{'name'}) }
31                 grep { &is_oc_object($_, 1) } &get_bacula_clients();
32 print &ui_table_row($text{'restore_client'},
33         &ui_select("client", undef,
34          [ map { [ $_->{'name'},
35                    &text('clientstatus_on', $_->{'name'}, $_->{'address'}) ] }
36            @clients ]));
37
38 # Storage device
39 @storages = sort { lc($a->{'name'}) cmp lc($b->{'name'}) }
40                 &get_bacula_storages();
41 print &ui_table_row($text{'restore_storage'},
42         &ui_select("storage", undef,
43          [ map { [ $_->{'name'},
44                    &text('storagestatus_on', $_->{'name'}, $_->{'address'}) ] }
45            @storages ]));
46
47 print &ui_table_end();
48 print &ui_form_end([ [ "restore", $text{'restore_ok'} ] ]);
49
50 &ui_print_footer("", $text{'index_return'});
51