--- loncom/interface/loncommon.pm 2007/12/03 22:58:46 1.618 +++ loncom/interface/loncommon.pm 2007/12/08 19:19:02 1.623 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.618 2007/12/03 22:58:46 raeburn Exp $ +# $Id: loncommon.pm,v 1.623 2007/12/08 19:19:02 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1942,6 +1942,11 @@ sub authform_kerberos { if (defined($in{'curr_authtype'})) { if ($in{'curr_authtype'} eq 'krb') { $krbcheck = ' checked="on"'; + if (defined($in{'mode'})) { + if ($in{'mode'} eq 'modifyuser') { + $krbcheck = ''; + } + } if (defined($in{'curr_kerb_ver'})) { if ($in{'curr_krb_ver'} eq '5') { $check5 = ' checked="on"'; @@ -2039,6 +2044,11 @@ sub authform_internal{ if ($in{'curr_authtype'} eq 'int') { if ($can_assign{'int'}) { $intcheck = 'checked="on" '; + if (defined($in{'mode'})) { + if ($in{'mode'} eq 'modifyuser') { + $intcheck = ''; + } + } if (defined($in{'curr_autharg'})) { $intarg = $in{'curr_autharg'}; } @@ -2073,6 +2083,7 @@ sub authform_internal{ $result = &mt ('[_1] Internally authenticated (with initial password [_2])', ''.$autharg); + $result.="'; return $result; } @@ -2088,6 +2099,11 @@ sub authform_local{ if ($in{'curr_authtype'} eq 'loc') { if ($can_assign{'loc'}) { $loccheck = 'checked="on" '; + if (defined($in{'mode'})) { + if ($in{'mode'} eq 'modifyuser') { + $loccheck = ''; + } + } if (defined($in{'curr_autharg'})) { $locarg = $in{'curr_autharg'}; } @@ -2137,6 +2153,11 @@ sub authform_filesystem{ if ($in{'curr_authtype'} eq 'fsys') { if ($can_assign{'fsys'}) { $fsyscheck = 'checked="on" '; + if (defined($in{'mode'})) { + if ($in{'mode'} eq 'modifyuser') { + $fsyscheck = ''; + } + } } else { $result = &mt('Currently Filesystem Authenticated.'); return $result; @@ -5038,7 +5059,6 @@ div.LC_clear_float_footer { div.LC_grade_select_mode { - float: left; font-family: $sans; } div.LC_grade_select_mode div div { @@ -6147,24 +6167,24 @@ sub default_quota { my ($udom,$inststatus) = @_; my ($defquota,$settingstatus); my %quotahash = &Apache::lonnet::get_dom('configuration', - ['quota'],$udom); - if (ref($quotahash{'quota'}) eq 'HASH') { + ['quotas'],$udom); + if (ref($quotahash{'quotas'}) eq 'HASH') { if ($inststatus ne '') { my @statuses = split(/:/,$inststatus); foreach my $item (@statuses) { - if ($quotahash{'quota'}{$item} ne '') { + if ($quotahash{'quotas'}{$item} ne '') { if ($defquota eq '') { - $defquota = $quotahash{'quota'}{$item}; + $defquota = $quotahash{'quotas'}{$item}; $settingstatus = $item; - } elsif ($quotahash{'quota'}{$item} > $defquota) { - $defquota = $quotahash{'quota'}{$item}; + } elsif ($quotahash{'quotas'}{$item} > $defquota) { + $defquota = $quotahash{'quotas'}{$item}; $settingstatus = $item; } } } } if ($defquota eq '') { - $defquota = $quotahash{'quota'}{'default'}; + $defquota = $quotahash{'quotas'}{'default'}; $settingstatus = 'default'; } } else { @@ -7649,12 +7669,14 @@ sub restore_settings { Build recipient lists for three types of e-mail: (a) Error Reports, (b) Package Updates, (c) Help requests, generated by -lonerrorhandler.pm, CHECKRPMS and lonhelpdesk.pm respectively. +lonerrorhandler.pm, CHECKRPMS and lonsupportreq.pm respectively. Inputs: -Request object, defmail (scalar - email address of default recipient), +defmail (scalar - email address of default recipient), mailing type (scalar - errormail, packagesmail, or helpdeskmail), -defdom (domain for which to retrieve configuration settings). +defdom (domain for which to retrieve configuration settings), +origmail (scalar - email address of recipient from loncapa.conf, +i.e., predates configuration by DC via domainprefs.pm Returns: comma separated list of addresses to which to send e-mail. @@ -7663,10 +7685,9 @@ Returns: comma separated list of address ############################################################ ############################################################ sub build_recipient_list { - my ($r,$defmail,$mailing,$defdom) = @_; + my ($defmail,$mailing,$defdom,$origmail) = @_; my @recipients; my $otheremails; - my $defdom = $r->dir_config('lonDefDomain'); my %domconfig = &Apache::lonnet::get_dom('configuration',['contacts'],$defdom); if (ref($domconfig{'contacts'}) eq 'HASH') { @@ -7674,25 +7695,34 @@ sub build_recipient_list { my @contacts = ('adminemail','supportemail'); foreach my $item (@contacts) { if ($domconfig{'contacts'}{$mailing}{$item}) { - push(@recipients,$domconfig{'contacts'}{$item}); + my $addr = $domconfig{'contacts'}{$item}; + if (!grep(/^\Q$addr\E$/,@recipients)) { + push(@recipients,$addr); + } } $otheremails = $domconfig{'contacts'}{$mailing}{'others'}; } - } else { - push(@recipients,$r->dir_config('lonAdmEMail')); } + } elsif ($origmail ne '') { + push(@recipients,$origmail); } if ($defmail ne '') { push(@recipients,$defmail); } - my $recipientlist = join(',',@recipients); if ($otheremails) { - if ($recipientlist ne '') { - $recipientlist .= ','.$otheremails; + my @others; + if ($otheremails =~ /,/) { + @others = split(/,/,$otheremails); } else { - $recipientlist = $otheremails; + push(@others,$otheremails); + } + foreach my $addr (@others) { + if (!grep(/^\Q$addr\E$/,@recipients)) { + push(@recipients,$addr); + } } } + my $recipientlist = join(',',@recipients); return $recipientlist; }