[LON-CAPA-cvs] cvs: loncom(version_2_11_X) /interface domainprefs.pm
raeburn
raeburn at source.lon-capa.org
Mon Oct 6 23:16:07 EDT 2014
raeburn Tue Oct 7 03:16:07 2014 EDT
Modified files: (Branch: version_2_11_X)
/loncom/interface domainprefs.pm
Log:
- For 2.11
- Backport 1.253, 1.254, 1.255.
-------------- next part --------------
Index: loncom/interface/domainprefs.pm
diff -u loncom/interface/domainprefs.pm:1.160.6.54 loncom/interface/domainprefs.pm:1.160.6.55
--- loncom/interface/domainprefs.pm:1.160.6.54 Sat Oct 4 02:44:18 2014
+++ loncom/interface/domainprefs.pm Tue Oct 7 03:16:05 2014
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: domainprefs.pm,v 1.160.6.54 2014/10/04 02:44:18 raeburn Exp $
+# $Id: domainprefs.pm,v 1.160.6.55 2014/10/07 03:16:05 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3642,9 +3642,10 @@
$disabled = ' disabled="disabled"';
}
$targettable .=
- '<td><label><input type="checkbox" name="loadbalancing_target_'.$balnum.'_'.$sparetype.'"'.
+ '<td><span class="LC_nobreak"><label>'.
+ '<input type="checkbox" name="loadbalancing_target_'.$balnum.'_'.$sparetype.'"'.
$checked.$disabled.' value="'.$chkboxval.'" id="loadbalancing_target_'.$balnum.'_'.$sparetype.'_'.$i.'" onclick="checkOffloads('."this,'$balnum','$sparetype'".');" /><span id="loadbalancing_targettxt_'.$balnum.'_'.$sparetype.'_'.$i.'"> '.$chkboxval.
- '</span></label></td>';
+ '</span></label></span></td>';
my $rem = $i%($numinrow);
if ($rem == 0) {
if (($i > 0) && ($i < $numspares-1)) {
@@ -3734,7 +3735,7 @@
if (ref($currrules) eq 'HASH') {
$current = $currrules->{$type};
}
- if (($type eq '_LC_external') || ($type eq '_LC_internetdom') || ($type eq '_LC_ipchange')) {
+ if (($type eq '_LC_external') || ($type eq '_LC_internetdom')) {
if ($dom ne &Apache::lonnet::host_domain($lonhost)) {
$current = '';
}
@@ -3786,7 +3787,7 @@
my @rulenames;
my %ruletitles = &offloadtype_text();
if (($type eq '_LC_ipchangesso') || ($type eq '_LC_ipchange')) {
- @rulenames = ('balancer','offloadedto');
+ @rulenames = ('balancer','offloadedto','specific');
} else {
@rulenames = ('default','homeserver');
if ($type eq '_LC_external') {
@@ -3797,7 +3798,7 @@
push(@rulenames,'none');
}
my $style = $targets_div_style;
- if (($type eq '_LC_external') || ($type eq '_LC_internetdom') || ($type eq '_LC_ipchange')) {
+ if (($type eq '_LC_external') || ($type eq '_LC_internetdom')) {
$style = $homedom_div_style;
}
my $space;
@@ -3848,8 +3849,13 @@
'<input type="radio" name="loadbalancing_rules_'.$balnum.'_'.$type.
'" id="loadbalancing_rules_'.$balnum.'_'.$type.'_'.$i.'" value="'.
$rule.'" onclick="balanceruleChange('."this.form,'$balnum','$type'".
- ')"'.$checked.' /> '.$ruletitles{$rulenames[$i]}.
- '</label>'.$extra.'</span><br />'."\n";
+ ')"'.$checked.' /> ';
+ if (($rulenames[$i] eq 'specific') && ($type =~ /_LC_ipchange/)) {
+ $output .= $ruletitles{'particular'};
+ } else {
+ $output .= $ruletitles{$rulenames[$i]};
+ }
+ $output .= '</label>'.$extra.'</span><br />'."\n";
}
$output .= '</div></td></tr>'."\n";
return $output;
@@ -3864,6 +3870,7 @@
'none' => 'No offload',
'balancer' => 'Session hosted on Load Balancer, after re-authentication',
'offloadedto' => 'Session hosted on offload server, after re-authentication',
+ 'particular' => 'Session hosted (after re-auth) on server:',
);
return %ruletitles;
}
@@ -10661,6 +10668,7 @@
my ($othertitle,$usertypes,$types) =
&Apache::loncommon::sorted_inst_types($dom);
my %servers = &Apache::lonnet::internet_dom_servers($dom);
+ my %libraryservers = &Apache::lonnet::get_servers($dom,'library');
my @sparestypes = ('primary','default');
my %typetitles = &sparestype_titles();
my $resulttext;
@@ -10752,7 +10760,10 @@
$rule = $env{'form.loadbalancing_rules_'.$i.'_'.$type};
}
if ($rule eq 'specific') {
- $rule = $env{'form.loadbalancing_singleserver_'.$i.'_'.$type};
+ my $specifiedhost = $env{'form.loadbalancing_singleserver_'.$i.'_'.$type};
+ if (exists($servers{$specifiedhost})) {
+ $rule = $specifiedhost;
+ }
}
$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type} = $rule;
if (ref($currrules{$balancer}) eq 'HASH') {
@@ -10789,6 +10800,7 @@
}
if (ref($changes{'curr'}) eq 'HASH') {
foreach my $balancer (sort(keys(%{$changes{'curr'}}))) {
+ $toupdate{$balancer} = 1;
if (ref($changes{'curr'}{$balancer}) eq 'HASH') {
if ($changes{'curr'}{$balancer}{'targets'}) {
my %offloadstr;
@@ -10825,14 +10837,37 @@
if ($rule eq '') {
$balancetext = $ruletitles{'default'};
} elsif (($rule eq 'homeserver') || ($rule eq 'externalbalancer') ||
- ($rule eq 'balancer') || ($rule eq 'offloadedto')) {
- $balancetext = $ruletitles{$rule};
- if (($rule eq 'balancer') || ($rule eq 'offloadedto')) {
+ ($type eq '_LC_ipchange') || ($type eq '_LC_ipchangesso')) {
+ if (($type eq '_LC_ipchange') || ($type eq '_LC_ipchangesso')) {
foreach my $sparetype (@sparestypes) {
if (ref($defaultshash{'loadbalancing'}{$balancer}{'targets'}{$sparetype}) eq 'ARRAY') {
map { $toupdate{$_} = 1; } (@{$defaultshash{'loadbalancing'}{$balancer}{'targets'}{$sparetype}});
}
}
+ foreach my $item (@{$alltypes}) {
+ next if ($item =~ /^_LC_ipchange/);
+ my $hasrule = $defaultshash{'loadbalancing'}{$balancer}{'rules'}{$item};
+ if ($hasrule eq 'homeserver') {
+ map { $toupdate{$_} = 1; } (keys(%libraryservers));
+ } else {
+ unless (($hasrule eq 'default') || ($hasrule eq 'none') || ($hasrule eq 'externalbalancer')) {
+ if ($servers{$hasrule}) {
+ $toupdate{$hasrule} = 1;
+ }
+ }
+ }
+ }
+ if (($rule eq 'balancer') || ($rule eq 'offloadedto')) {
+ $balancetext = $ruletitles{$rule};
+ } else {
+ my $receiver = $defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type};
+ $balancetext = $ruletitles{'particular'}.' '.$receiver;
+ if ($receiver) {
+ $toupdate{$receiver};
+ }
+ }
+ } else {
+ $balancetext = $ruletitles{$rule};
}
} else {
$balancetext = &mt('offload to [_1]',$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type});
More information about the LON-CAPA-cvs
mailing list