Handle hostnames with upper-case letters
[webmin.git] / bacula-backup / edit_pool.cgi
1 #!/usr/local/bin/perl
2 # Show the details of one file pool daemon
3
4 require './bacula-backup-lib.pl';
5 &ReadParse();
6 $conf = &get_director_config();
7 @pools = &find("Pool", $conf);
8
9 if ($in{'new'}) {
10         &ui_print_header(undef, $text{'pool_title1'}, "");
11         $mems = [ { 'name' => 'Pool Type',
12                     'value' => 'Backup' },
13                   { 'name' => 'Recycle',
14                     'value' => 'yes' },
15                   { 'name' => 'AutoPrune',
16                     'value' => 'yes' },
17                   { 'name' => 'Volume Retention',
18                     'value' => '365 days' },
19                 ];
20         if (&get_bacula_version_cached() < 2) {
21                 push(@$mems,
22                   { 'name' => 'Accept Any Volume',
23                     'value' => 'yes' });
24                 }
25         $pool = { 'members' => $mems };
26         }
27 else {
28         &ui_print_header(undef, $text{'pool_title2'}, "");
29         $pool = &find_by("Name", $in{'name'}, \@pools);
30         $pool || &error($text{'pool_egone'});
31         $mems = $pool->{'members'};
32         }
33
34 # Show details
35 print &ui_form_start("save_pool.cgi", "post");
36 print &ui_hidden("new", $in{'new'}),"\n";
37 print &ui_hidden("old", $in{'name'}),"\n";
38 print &ui_table_start($text{'pool_header'}, "width=100%", 4);
39
40 # Pool name
41 print &ui_table_row($text{'pool_name'},
42         &ui_textbox("name", $name=&find_value("Name", $mems), 40), 3);
43
44 # Pool type
45 print &ui_table_row($text{'pool_type'},
46         &ui_select("type", $type=&find_value("Pool Type", $mems),
47                    [ map { [ $_, $_ =~ /^\*(.*)$/ ? $1 : $_ ] }
48                          @pool_types ], 1, 0, 1));
49
50 # Maximum Volume Jobs
51 $max = &find_value("Maximum Volume Jobs", $mems);
52 print &ui_table_row($text{'pool_max'},
53             &ui_radio("maxmode", $max == 0 ? 0 : 1,
54                       [ [ 0, $text{'pool_unlimited'} ],
55                         [ 1, &ui_textbox('max', $max == 0 ? "" : $max, 6) ] ]));
56
57 # Retention period
58 $reten = &find_value("Volume Retention", $mems);
59 print &ui_table_row($text{'pool_reten'},
60                     &show_period_input("reten", $reten));
61
62 # Various yes/no options
63 print &ui_table_row($text{'pool_recycle'},
64                     &bacula_yesno("recycle", "Recycle", $mems));
65 print &ui_table_row($text{'pool_auto'},
66                     &bacula_yesno("auto", "AutoPrune", $mems));
67 if (&get_bacula_version_cached() < 2) {
68         print &ui_table_row($text{'pool_any'},
69                             &bacula_yesno("any", "Accept Any Volume", $mems));
70         }
71 print &ui_table_row($text{'pool_autolabel'},
72         &ui_textbox("autolabel", $name=&find_value("LabelFormat", $mems), 20), 3);
73 print &ui_table_row($text{'pool_maxvolsize'},
74         &ui_textbox("maxvolsize", $name=&find_value("Maximum Volume Bytes", $mems), 10), 3);
75
76
77 # All done
78 print &ui_table_end();
79 if ($in{'new'}) {
80         print &ui_form_end([ [ "create", $text{'create'} ] ]);
81         }
82 else {
83         print &ui_form_end([ [ "save", $text{'save'} ],
84                              [ "status", $text{'pool_status'} ],
85                              [ "delete", $text{'delete'} ] ]);
86         }
87 &ui_print_footer("list_pools.cgi", $text{'pools_return'});
88