More work on templates
authorJamie Cameron <jcameron@webmin.com>
Thu, 6 Mar 2008 02:18:40 +0000 (02:18 +0000)
committerJamie Cameron <jcameron@webmin.com>
Thu, 6 Mar 2008 02:18:40 +0000 (02:18 +0000)
status/backup_config.pl
status/edit_mon.cgi
status/lang/en
status/save_mon.cgi

index 0721fb1..4fe3b06 100644 (file)
@@ -8,6 +8,7 @@ sub backup_config_files
 local @servs = &list_services();
 local @rv = map { $_->{'_file'} } @servs;
 push(@rv, $module_config_file);
+push(@rv, map { $_->{'_file'} } &list_templates());
 return @rv;
 }
 
index 513a486..a577fd5 100755 (executable)
@@ -93,30 +93,25 @@ if (!$in{'type'}) {
 @servs = grep { $_->{'user'} } &servers::list_servers_sorted();
 @servs = sort { $a->{'host'} cmp $b->{'host'} } @servs;
 if (@servs) {
-       # Show list of remote servers
-       print &ui_table_row($text{'mon_remotes'},
-             &ui_select("remotes", [ split(/\s+/, $serv->{'remote'}) ],
+       # Show list of remote servers, and maybe groups
+       $s = &ui_select("remotes", [ split(/\s+/, $serv->{'remote'}) ],
                         [ [ "*", "&lt;$text{'mon_local'}&gt;" ],
                           map { [ $_->{'host'}, $_->{'host'} ] } @servs ],
                         5, 1, 1),
-             undef, \@tds);
+       @groups = &servers::list_all_groups(\@servs);
+       @groups = sort { $a->{'name'} cmp $b->{'name'} } @groups;
+       if (@groups) {
+               $s .= &ui_select("groups", [ split(/\s+/, $serv->{'groups'}) ],
+                        [ map { [ $_->{'name'}, &group_desc($_) ] } @groups ],
+                        5, 1, 1),
+               }
+       print &ui_table_row($text{'mon_remotes2'}, $s, undef, \@tds);
        }
 else {
        # Only local is available
        print &ui_hidden("remotes", "*"),"\n";
        }
 
-# Show groups to run on
-@groups = &servers::list_all_groups(\@servs);
-@groups = sort { $a->{'name'} cmp $b->{'name'} } @groups;
-if (@groups) {
-       print &ui_table_row($text{'mon_groups'},
-             &ui_select("groups", [ split(/\s+/, $serv->{'groups'}) ],
-                        [ map { [ $_->{'name'}, &group_desc($_) ] } @groups ],
-                        5, 1, 1),
-             undef, \@tds);
-       }
-
 # Show emailing schedule
 print &ui_table_row($text{'mon_nosched'},
                    &ui_select("nosched", int($serv->{'nosched'}),
@@ -153,6 +148,15 @@ print &ui_table_row($text{'mon_email'},
                    &ui_textbox("email", $serv->{'email'}, 60),
                    undef, \@tds);
 
+# Show template to use
+@tmpls = &list_templates();
+if (@tmpls) {
+       print &ui_table_row($text{'mon_tmpl'},
+               &ui_select("tmpl", $serv->{'tmpl'},
+                          [ [ "", "&lt;$text{'mon_notmpl'}&gt;" ],
+                            map { [ $_->{'id'}, $_->{'desc'} ] } @tmpls ]));
+       }
+
 # Which clone module to use
 if (@clones) {
        local %minfo = &get_module_info($type);
index 51d2757..ed5c6b3 100644 (file)
@@ -74,8 +74,7 @@ mon_header2=Commands to run
 mon_header3=Monitored service options
 mon_desc=Description
 mon_remote=Run on host
-mon_groups=Run on host groups
-mon_remotes=Run on hosts
+mon_remotes2=Run on hosts and groups
 mon_local=Local
 mon_none=No remote servers defined
 mon_nosched=Check on schedule?
@@ -120,6 +119,8 @@ mon_empty=No members
 mon_onemem=One member
 mon_members=$1 members
 mon_enoremote=No hosts or groups to run on selected
+mon_tmpl=Template for messages
+mon_notmpl=None (use Webmin defaults)
 
 sched_title=Scheduled Monitoring
 sched_header=Scheduled background monitoring options
index 43c3b6b..ed7a2bd 100755 (executable)
@@ -70,6 +70,7 @@ else {
        $in{'fails'} =~ /^\d+$/ || &error($text{'mon_efails'});
        $serv->{'fails'} = $in{'fails'};
        $serv->{'email'} = $in{'email'};
+       $serv->{'tmpl'} = $in{'tmpl'};
        $type = $serv->{'type'};
        if ($in{'depend'} && $in{'depend'} eq $serv->{'id'}) {
                &error($text{'mon_edepend'});