Handle hostnames with upper-case letters
[webmin.git] / bacula-backup / edit_schedule.cgi
1 #!/usr/local/bin/perl
2 # Show the details of one schedule
3
4 require './bacula-backup-lib.pl';
5 &ReadParse();
6 $conf = &get_director_config();
7 @schedules = &find("Schedule", $conf);
8 if ($in{'new'}) {
9         &ui_print_header(undef, $text{'schedule_title1'}, "");
10         $mems = [ ];
11         $schedule = { };
12         }
13 else {
14         &ui_print_header(undef, $text{'schedule_title2'}, "");
15         $schedule = &find_by("Name", $in{'name'}, \@schedules);
16         $schedule || &error($text{'schedule_egone'});
17         $mems = $schedule->{'members'};
18         }
19
20 # Show details
21 print &ui_form_start("save_schedule.cgi", "post");
22 print &ui_hidden("new", $in{'new'}),"\n";
23 print &ui_hidden("old", $in{'name'}),"\n";
24 print &ui_table_start($text{'schedule_header'}, "width=100%", 4);
25
26 # Schedule
27 print &ui_table_row($text{'schedule_name'},
28             &ui_textbox("name", $name=&find_value("Name", $mems), 40), 3);
29
30 # Run files
31 @runs = &find_value("Run", $schedule->{'members'});
32 @pools = &find("Pool", $conf);
33 &sort_by_name(\@pools);
34 $rtable = &ui_columns_start([ $text{'schedule_level'},
35                               $text{'schedule_pool'},
36                               $text{'schedule_times'} ], "width=100%");
37 $i = 0;
38 foreach $r (@runs, undef, undef, undef) {
39         # Parse out the level and pool
40         $tags = { };
41         if ($r) {
42                 ($tags, $r) = &extract_schedule($r);
43                 }
44         $sched = &parse_schedule($r);
45         $rtable .= &ui_columns_row([
46                 &ui_select("level_$i", $tags->{'Level'},
47                            [ [ "", " " ], [ "Full" ],
48                              [ "Incremental" ], [ "Differential" ] ],
49                            1, 0, 1),
50                 &ui_select("pool_$i", $tags->{'Pool'},
51                            [ [ "", "<$text{'default'}>" ],
52                              map { my $pn = &find_value("Name",
53                                         $_->{'members'}); [ $pn ] } @pools ],
54                            1, 0, 1),
55                 &ui_textbox("times_$i", $r, 50, 0, undef,
56                             $sched || !$r ? "readonly" : "")." ".
57                 &schedule_chooser_button("times_$i") ]);
58         $i++;
59         }
60 $rtable .= &ui_columns_end();
61 print &ui_table_row($text{'schedule_runs'}, $rtable);
62
63 # All done
64 print &ui_table_end();
65 if ($in{'new'}) {
66         print &ui_form_end([ [ "create", $text{'create'} ] ]);
67         }
68 else {
69         print &ui_form_end([ [ "save", $text{'save'} ],
70                              [ "delete", $text{'delete'} ] ]);
71         }
72 &ui_print_footer("list_schedules.cgi", $text{'schedules_return'});
73