--- loncom/interface/lonconfigsettings.pm 2017/07/27 13:45:12 1.35 +++ loncom/interface/lonconfigsettings.pm 2017/08/03 16:22:09 1.36 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set domain-wide configuration settings # -# $Id: lonconfigsettings.pm,v 1.35 2017/07/27 13:45:12 raeburn Exp $ +# $Id: lonconfigsettings.pm,v 1.36 2017/08/03 16:22:09 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -185,20 +185,30 @@ $jscript } if (grep(/^selfcreation$/,@actions)) { my $prefix = 'cancreate_emailverified'; - my %domdefaults = &Apache::lonnet::get_domain_defaults($dom); - if (ref($domdefaults{'inststatusguest'}) eq 'ARRAY') { - my $order = $domdefaults{'inststatusguest'}; - if (ref($order) eq 'ARRAY') { - foreach my $type (@{$order}) { - if (($type ne '') && ($type ne 'default')) { - my $name = $prefix.'_'.$type; - $onload .= "toggleDisplay(document.display,'$name');"; - } - } + my $customclass = 'LC_selfcreate_email'; + my $classprefix = 'LC_canmodify_emailusername_'; + my $optionsprefix = 'LC_options_emailusername_'; + $onload .= "toggleRows(document.display,'cancreate_email','selfassign','$customclass','$classprefix','$optionsprefix');"; + my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($dom); + my $hascustom; + my ($emailrules,$emailruleorder) = &Apache::lonnet::inst_userrules($dom,'email'); + if (ref($emailrules) eq 'HASH') { + if (keys(%{$emailrules}) > 0) { + $hascustom = 'cancreate_emailrule'; + } + } + my @posstypes; + if (ref($types) eq 'ARRAY') { + @posstypes = @{$types}; + push(@posstypes,'default'); + foreach my $type (@posstypes) { + $onload .= "toggleEmailOptions(document.display,'cancreate_emailoptions','$hascustom',". + "'cancreate_emaildomain','$type');"; } + } else { + $onload .= "toggleEmailOptions(document.display,'cancreate_emailoptions','$hascustom',". + "'cancreate_emaildomain','default');"; } - $onload .= "toggleDisplay(document.display,'$prefix');". - "toggleDisplay(document.display,'emailoptions');"; } if ($onload) { my %loaditems = (