[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lon-capa-cvs
Subject:    [LON-CAPA-cvs] cvs: loncom(version_2_11_X) /interface domainprefs.pm
From:       raeburn <raeburn () source ! lon-capa ! org>
Date:       2019-08-27 23:27:11
Message-ID: cvsraeburn1566948431 () cvsserver
[Download RAW message or body]

This is a MIME encoded message


raeburn		Tue Aug 27 23:27:11 2019 EDT

  Modified files:              (Branch: version_2_11_X)
    /loncom/interface	domainprefs.pm 
  Log:
  - For 2.11
    Backport 1.315
  
  
["raeburn-20190827232711.txt" (text/plain)]

Index: loncom/interface/domainprefs.pm
diff -u loncom/interface/domainprefs.pm:1.160.6.100 \
                loncom/interface/domainprefs.pm:1.160.6.101
--- loncom/interface/domainprefs.pm:1.160.6.100	Tue Aug 27 18:37:01 2019
+++ loncom/interface/domainprefs.pm	Tue Aug 27 23:27:07 2019
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Handler to set domain-wide configuration settings
 #
-# $Id: domainprefs.pm,v 1.160.6.100 2019/08/27 18:37:01 raeburn Exp $
+# $Id: domainprefs.pm,v 1.160.6.101 2019/08/27 23:27:07 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2968,7 +2968,54 @@
                           $to{$item}.'" /></td></tr>';
             $rownum ++;
         }
-    } else {
+    } elsif ($position eq 'bottom') {
+        $css_class = $rownum%2?' class="LC_odd_row"':'';
+        $datatable .= '<tr'.$css_class.'>'.
+                      '<td>'.&mt('Extra helpdesk form fields:').'<br />'.
+                      &mt('(e-mail, subject, and description always shown)').
+                      '</td><td class="LC_left_item">';
+        if ((ref($fields) eq 'ARRAY') && (ref($fieldtitles) eq 'HASH') &&
+            (ref($fieldoptions) eq 'HASH') && (ref($possoptions) eq 'HASH')) {
+            $datatable .= \
'<table><tr><th>'.&mt('Field').'</th><th>'.&mt('Status').'</th></tr>'; +            \
foreach my $field (@{$fields}) { +                $datatable .= \
'<tr><td>'.$fieldtitles->{$field}; +                if (($field eq 'screenshot') || \
($field eq 'cc')) { +                    $datatable .= ' '.&mt('(logged-in users)');
+                }
+                $datatable .='</td><td>';
+                my $clickaction;
+                if ($field eq 'screenshot') {
+                    $clickaction = ' onclick="screenshotSize(this);"';
+                }
+                if (ref($possoptions->{$field}) eq 'ARRAY') {
+                    foreach my $option (@{$possoptions->{$field}}) {
+                        my $checked;
+                        if ($currfield{$field} eq $option) {
+                            $checked = ' checked="checked"';
+                        }
+                        $datatable .= '<span class="LC_nobreak"><label>'.
+                                      '<input type="radio" \
name="helpform_'.$field.'" '. +                                      \
'value="'.$option.'"'.$checked.$clickaction.' />'.$fieldoptions->{$option}. +         \
'</label></span>'.('&nbsp;'x2); +                    }
+                }
+                if ($field eq 'screenshot') {
+                    my $display;
+                    if ($currfield{$field} eq 'no') {
+                        $display = ' style="display:none"';
+                    }
+                    $datatable .= '</td></tr><tr \
id="help_screenshotsize"'.$display.'>'. +                                  \
'<td>'.&mt('Maximum size for upload (MB)').'</td><td>'. +                             \
'<input type="text" size="5" name="helpform_maxsize" value="'.$maxsize.'" />'; +      \
} +                $datatable .= '</td></tr>';
+            }
+            $datatable .= '</table>';
+        }
+        $datatable .= '</td></tr>'."\n";
+        $rownum ++;
+    }
+    unless ($position eq 'top') {
         foreach my $type (@mailings) {
             $css_class = $rownum%2?' class="LC_odd_row"':'';
             $datatable .= '<tr'.$css_class.'>'.
@@ -3028,56 +3075,138 @@
                                                    \%choices,$rownum);
         $datatable .= $reports;
     } elsif ($position eq 'bottom') {
-        $css_class = $rownum%2?' class="LC_odd_row"':'';
-        $datatable .= '<tr'.$css_class.'>'.
-                      '<td>'.&mt('Extra helpdesk form fields:').'<br />'.
-                      &mt('(e-mail, subject, and description always shown)').
-                      '</td><td class="LC_left_item">';
-        if ((ref($fields) eq 'ARRAY') && (ref($fieldtitles) eq 'HASH') &&
-            (ref($fieldoptions) eq 'HASH') && (ref($possoptions) eq 'HASH')) {
-            $datatable .= \
                '<table><tr><th>'.&mt('Field').'</th><th>'.&mt('Status').'</th></tr>';
                
-            foreach my $field (@{$fields}) {
-                $datatable .= '<tr><td>'.$fieldtitles->{$field};
-                if (($field eq 'screenshot') || ($field eq 'cc')) {
-                    $datatable .= ' '.&mt('(logged-in users)');
-                }
-                $datatable .='</td><td>';
-                my $clickaction;
-                if ($field eq 'screenshot') {
-                    $clickaction = ' onclick="screenshotSize(this);"';
-                }
-                if (ref($possoptions->{$field}) eq 'ARRAY') {
-                    foreach my $option (@{$possoptions->{$field}}) {
-                        my $checked;
-                        if ($currfield{$field} eq $option) {
-                            $checked = ' checked="checked"';
+        my ($othertitle,$usertypes,$types) = \
&Apache::loncommon::sorted_inst_types($dom); +        my (@posstypes,%usertypeshash);
+        if (ref($types) eq 'ARRAY') {
+            @posstypes = @{$types};
+        }
+        if (@posstypes) {
+            if (ref($usertypes) eq 'HASH') {
+                %usertypeshash = %{$usertypes};
+            }
+            my @overridden;
+            my $numinrow = 4;
+            if (ref($settings) eq 'HASH') {
+                if (ref($settings->{'overrides'}) eq 'HASH') {
+                    foreach my $key (sort(keys(%{$settings->{'overrides'}}))) {
+                        if (ref($settings->{'overrides'}{$key}) eq 'HASH') {
+                            push(@overridden,$key);
+                            foreach my $item (@contacts) {
+                                if ($settings->{'overrides'}{$key}{$item}) {
+                                    $checked{'override_'.$key}{$item} = ' \
checked="checked" '; +                                }
+                            }
+                            $otheremails{'override_'.$key} = \
$settings->{'overrides'}{$key}{'others'}; +                            \
$bccemails{'override_'.$key} = $settings->{'overrides'}{$key}{'bcc'}; +               \
$includeloc{'override_'.$key} = ''; +                            \
$includestr{'override_'.$key} = ''; +                            if \
($settings->{'overrides'}{$key}{'include'} ne '') { +                                \
($includeloc{'override_'.$key},$includestr{'override_'.$key}) = +                     \
split(/:/,$settings->{'overrides'}{$key}{'include'},2); +                             \
$includestr{'override_'.$key} = &unescape($includestr{'override_'.$key}); +           \
}  }
-                        $datatable .= '<span class="LC_nobreak"><label>'.
-                                      '<input type="radio" \
                name="helpform_'.$field.'" '.
-                                      'value="'.$option.'"'.$checked.$clickaction.' \
                />'.$fieldoptions->{$option}.
-                                      '</label></span>'.('&nbsp;'x2);
                     }
                 }
-                if ($field eq 'screenshot') {
-                    my $display;
-                    if ($currfield{$field} eq 'no') {
-                        $display = ' style="display:none"';
-                    }
-                    $datatable .= '</td></tr><tr \
                id="help_screenshotsize"'.$display.'>'.
-                                  '<td>'.&mt('Maximum size for upload \
                (MB)').'</td><td>'.
-                                  '<input type="text" size="5" \
name="helpform_maxsize" value="'.$maxsize.'" />'; +            }
+            my $customclass = 'LC_helpdesk_override';
+            my $optionsprefix = 'LC_options_helpdesk_';
+
+            my $onclicktypes = \
"toggleHelpdeskRow(this.form,'overrides','$customclass','$optionsprefix');"; +
+            $datatable .= &insttypes_row($settings,$types,$usertypes,$dom,
+                                         $numinrow,$othertitle,'overrides',
+                                         \$rownum,$onclicktypes,$customclass);
+            $rownum ++;
+            $usertypeshash{'default'} = $othertitle;
+            foreach my $status (@posstypes) {
+                my $css_class;
+                if ($rownum%2) {
+                    $css_class = 'LC_odd_row ';
+                }
+                $css_class .= $customclass;
+                my $rowid = $optionsprefix.$status;
+                my $hidden = 1;
+                my $currstyle = 'display:none';
+                if (grep(/^\Q$status\E$/,@overridden)) {
+                    $currstyle = 'display:table-row';
+                    $hidden = 0;
+                }
+                my $key = 'override_'.$status;
+                $datatable .= \
&overridden_helpdesk($checked{$key},$otheremails{$key},$bccemails{$key}, +            \
$includeloc{$key},$includestr{$key},$status,$rowid, +                                 \
$usertypeshash{$status},$css_class,$currstyle, +                                      \
\@contacts,$short_titles); +                unless ($hidden) {
+                    $rownum ++;
                 }
-                $datatable .= '</td></tr>';
             }
-            $datatable .= '</table>';
         }
-        $datatable .= '</td></tr>'."\n";
-        $rownum ++;
     }
     $$rowtotal += $rownum;
     return $datatable;
 }
 
+sub overridden_helpdesk {
+    my ($checked,$otheremails,$bccemails,$includeloc,$includestr,$type,$rowid,
+        $typetitle,$css_class,$rowstyle,$contacts,$short_titles) = @_;
+    my $class = 'LC_left_item';
+    if ($css_class) {
+        $css_class = ' class="'.$css_class.'"';
+    }
+    if ($rowid) {
+        $rowid = ' id="'.$rowid.'"';
+    }
+    if ($rowstyle) {
+        $rowstyle = ' style="'.$rowstyle.'"';
+    }
+    my ($output,$description);
+    $description = &mt('Helpdesk requests from: [_1] in this domain (overrides \
default)',"<b>$typetitle</b>"); +    $output = '<tr'.$css_class.$rowid.$rowstyle.'>'.
+              "<td>$description</td>\n".
+              '<td class="'.$class.'" colspan="2">'.
+              '<fieldset><legend>'.&mt('E-mail recipient(s)').'</legend>'.
+              '<span class="LC_nobreak">';
+    if (ref($contacts) eq 'ARRAY') {
+        foreach my $item (@{$contacts}) {
+            my $check;
+            if (ref($checked) eq 'HASH') {
+               $check = $checked->{$item};
+            }
+            my $title;
+            if (ref($short_titles) eq 'HASH') {
+                $title = $short_titles->{$item};
+            }
+            $output .= '<label>'.
+                       '<input type="checkbox" name="override_'.$type.'"'.$check.
+                       ' value="'.$item.'" />'.$title.'</label>&nbsp;';
+        }
+    }
+    $output .= '</span><br />'.&mt('Others').':&nbsp;&nbsp;'.
+               '<input type="text" name="override_'.$type.'_others" '.
+               'value="'.$otheremails.'"  />';
+    my %locchecked;
+    foreach my $loc ('s','b') {
+        if ($includeloc eq $loc) {
+            $locchecked{$loc} = ' checked="checked"';
+            last;
+        }
+    }
+    $output .= '<br />'.&mt('Bcc:').('&nbsp;'x6).
+               '<input type="text" name="override_'.$type.'_bcc" '.
+               'value="'.$bccemails.'"  /></fieldset>'.
+               '<fieldset><legend>'.&mt('Optional added text').'</legend>'.
+               &mt('Text automatically added to e-mail:').' '.
+               '<input type="text" name="override_'.$type.'_includestr" \
value="'.$includestr.'" /><br />'. +               '<span \
class="LC_nobreak">'.&mt('Location:').'&nbsp;'. +               '<label><input \
type="radio" name="override_'.$type.'_includeloc" value="s"'.$locchecked{'s'}.' \
/>'.&mt('in subject').'</label>'. +               ('&nbsp;'x2).
+               '<label><input type="radio" name="override_'.$type.'_includeloc" \
value="b"'.$locchecked{'b'}.' />'.&mt('in body').'</label>'. +               \
'</span></fieldset>'. +               '</td></tr>'."\n";
+    return $output;
+}
+
 sub contacts_javascript {
     return <<"ENDSCRIPT";
 
@@ -3095,6 +3224,36 @@
     return;
 }
 
+function toggleHelpdeskRow(form,checkbox,target,prefix,docount) {
+    if (form.elements[checkbox].length != undefined) {
+        var count = 0;
+        if (docount) {
+            for (var i=0; i<form.elements[checkbox].length; i++) {
+                if (form.elements[checkbox][i].checked) {
+                    count ++;
+                }
+            }
+        }
+        for (var i=0; i<form.elements[checkbox].length; i++) {
+            var type = form.elements[checkbox][i].value;
+            if (document.getElementById(prefix+type)) {
+                if (form.elements[checkbox][i].checked) {
+                    document.getElementById(prefix+type).style.display = \
'table-row'; +                    if (count % 2 == 1) {
+                        document.getElementById(prefix+type).className = target+' \
LC_odd_row'; +                    } else {
+                        document.getElementById(prefix+type).className = target;
+                    }
+                    count ++;
+                } else {
+                    document.getElementById(prefix+type).style.display = 'none';
+                }
+            }
+        }
+    }
+    return;
+}
+
 // ]]>
 </script>
 
@@ -5293,8 +5452,8 @@
                    'adminemail'      => 'Default Server Admin E-mail address',
                    'errormail'       => 'Error reports to be e-mailed to',
                    'packagesmail'    => 'Package update alerts to be e-mailed to',
-                   'helpdeskmail'    => "Helpdesk requests for this domain's users",
-                   'otherdomsmail'   => 'Helpdesk requests for other (unconfigured) \
domains', +                   'helpdeskmail'    => "Helpdesk requests from all users \
in this domain", +                   'otherdomsmail'   => 'Helpdesk requests from \
                users in other (unconfigured) domains',
                    'lonstatusmail'   => 'E-mail from nightly status check \
                (warnings/errors)',
                    'requestsmail'    => 'E-mail from course requests requiring \
                approval',
                    'updatesmail'     => 'E-mail from nightly check of LON-CAPA \
module integrity/updates', @@ -7617,6 +7776,7 @@
                       statustocreate => 'Institutional affiliation(s) able to create \
own account (login/SSO)',  lockablenames => 'User preference to lock name',
                       selfassign    => 'Self-reportable affiliations',
+                      overrides     => "Override domain's helpdesk settings based on \
requester's affiliation",  );
     my $showdom;
     if ($context eq 'cansearch') {
@@ -7663,6 +7823,10 @@
                         if (grep(/^\Q$types->[$i]\E$/,@{$settings->{$context}})) {
                             $check = ' checked="checked" ';
                         }
+                    } elsif (ref($settings->{$context}) eq 'HASH') {
+                        if (ref($settings->{$context}->{$types->[$i]}) eq 'HASH') {
+                            $check = ' checked="checked" ';
+                        }
                     } elsif ($context eq 'statustocreate') {
                         $check = ' checked="checked" ';
                     }
@@ -7677,29 +7841,38 @@
         $rem = @{$types}%($numinrow);
     }
     my $colsleft = $numinrow - $rem;
-    if ($rem == 0) {
-        $output .= '<tr>';
-    }
-    if ($colsleft > 1) {
-        $output .= '<td colspan="'.$colsleft.'" class="LC_left_item">';
+    if ($context eq 'overrides') {
+        if ($colsleft > 1) {
+            $output .= '<td colspan="'.$colsleft.'" class="LC_left_item">';
+        } else {
+            $output .= '<td class="LC_left_item">';
+        }
+        $output .= '&nbsp;';
     } else {
-        $output .= '<td class="LC_left_item">';
-    }
-    my $defcheck = ' ';
-    if (ref($settings) eq 'HASH') {  
-        if (ref($settings->{$context}) eq 'ARRAY') {
-            if (grep(/^default$/,@{$settings->{$context}})) {
+        if ($rem == 0) {
+            $output .= '<tr>';
+        }
+        if ($colsleft > 1) {
+            $output .= '<td colspan="'.$colsleft.'" class="LC_left_item">';
+        } else {
+            $output .= '<td class="LC_left_item">';
+        }
+        my $defcheck = ' ';
+        if (ref($settings) eq 'HASH') {  
+            if (ref($settings->{$context}) eq 'ARRAY') {
+                if (grep(/^default$/,@{$settings->{$context}})) {
+                    $defcheck = ' checked="checked" ';
+                }
+            } elsif ($context eq 'statustocreate') {
                 $defcheck = ' checked="checked" ';
             }
-        } elsif ($context eq 'statustocreate') {
-            $defcheck = ' checked="checked" ';
         }
+        $output .= '<span class="LC_nobreak"><label>'.
+                   '<input type="checkbox" name="'.$context.'" '.
+                   'value="default"'.$defcheck.$onclick.' />'.
+                   $othertitle.'</label></span>';
     }
-    $output .= '<span class="LC_nobreak"><label>'.
-               '<input type="checkbox" name="'.$context.'" '.
-               'value="default"'.$defcheck.$onclick.'/>'.
-               $othertitle.'</label></span></td>'.
-               '</tr></table></td></tr>';
+    $output .= '</td></tr></table></td></tr>';
     return $output;
 }
 
@@ -10331,17 +10504,57 @@
                 my $value = $env{'form.helpform_'.$field};
                 $value =~ s/^\s+|\s+$//g;
                 if (grep(/^\Q$value\E$/,@{$possoptions->{$field}})) {
-                    $contacts_hash{contacts}{'helpform'}{$field} = $value;
+                    $contacts_hash{'contacts'}{'helpform'}{$field} = $value;
                     if ($field eq 'screenshot') {
                         $env{'form.helpform_maxsize'} =~ s/^\s+|\s+$//g;
                         if ($env{'form.helpform_maxsize'} =~ /^\d+\.?\d*$/) {
-                            $contacts_hash{contacts}{'helpform'}{'maxsize'} = \
$env{'form.helpform_maxsize'}; +                            \
$contacts_hash{'contacts'}{'helpform'}{'maxsize'} = $env{'form.helpform_maxsize'};  }
                     }
                 }
             }
         }
     }
+    my ($othertitle,$usertypes,$types) = \
&Apache::loncommon::sorted_inst_types($dom); +    my \
(@statuses,%usertypeshash,@overrides); +    if ((ref($types) eq 'ARRAY') && \
(@{$types} > 0)) { +        @statuses = @{$types};
+        if (ref($usertypes) eq 'HASH') {
+            %usertypeshash = %{$usertypes};
+        }
+    }
+    if (@statuses) {
+        my @possoverrides = &Apache::loncommon::get_env_multiple('form.overrides');
+        foreach my $type (@possoverrides) {
+            if (($type ne '') && (grep(/^\Q$type\E$/,@statuses))) {
+                push(@overrides,$type);
+            }
+        }
+        if (@overrides) {
+            foreach my $type (@overrides) {
+                my @standard = \
&Apache::loncommon::get_env_multiple('form.override_'.$type); +                \
foreach my $item (@contacts) { +                    if \
(grep(/^\Q$item\E$/,@standard)) { +                        \
$contacts_hash{'contacts'}{'overrides'}{$type}{$item} = 1; +                        \
$newsetting{'override_'.$type}{$item} = 1; +                    } else {
+                        $contacts_hash{'contacts'}{'overrides'}{$type}{$item} = 0;
+                        $newsetting{'override_'.$type}{$item} = 0;
+                    }
+                }
+                $contacts_hash{'contacts'}{'overrides'}{$type}{'others'} = \
$env{'form.override_'.$type.'_others'}; +                \
$contacts_hash{'contacts'}{'overrides'}{$type}{'bcc'} = \
$env{'form.override_'.$type.'_bcc'}; +                \
$newsetting{'override_'.$type}{'others'} = $env{'form.override_'.$type.'_others'}; +  \
$newsetting{'override_'.$type}{'bcc'} = $env{'form.override_'.$type.'_bcc'}; +        \
if (($env{'form.override_'.$type.'_includestr'} ne '') && \
($env{'form.override_'.$type.'_includeloc'} =~ /^s|b$/)) { +                    \
$includestr{$type} = $env{'form.override_'.$type.'_includestr'}; +                    \
$includeloc{$type} = $env{'form.override_'.$type.'_includeloc'}; +                    \
$contacts_hash{'contacts'}{'overrides'}{$type}{'include'} = \
$includeloc{$type}.':'.&escape($includestr{$type}); +                    \
$newsetting{'override_'.$type}{'include'} = \
$contacts_hash{'contacts'}{'overrides'}{$type}{'include'}; +                }
+            }    
+        }
+    }
     if (keys(%currsetting) > 0) {
         foreach my $item (@contacts) {
             if ($to{$item} ne $currsetting{$item}) {
@@ -10396,6 +10609,33 @@
                 }
             }
         }
+        if (@statuses) {
+            if (ref($currsetting{'overrides'}) eq 'HASH') {
+                foreach my $key (keys(%{$currsetting{'overrides'}})) {
+                    if (ref($currsetting{'overrides'}{$key}) eq 'HASH') {
+                        if (ref($newsetting{'override_'.$key}) eq 'HASH') {
+                            foreach my $item (@contacts,'bcc','others','include') {
+                                if ($currsetting{'overrides'}{$key}{$item} ne \
$newsetting{'override_'.$key}{$item}) { +                                    \
push(@{$changes{'overrides'}},$key); +                                    last;
+                                }
+                            }
+                        } else {
+                            push(@{$changes{'overrides'}},$key);
+                        }
+                    }
+                }
+                foreach my $key (@overrides) {
+                    unless (exists($currsetting{'overrides'}{$key})) {
+                        push(@{$changes{'overrides'}},$key);
+                    }
+                }
+            } else {
+                foreach my $key (@overrides) {
+                    push(@{$changes{'overrides'}},$key);
+                }
+            }
+        }
     } else {
         my %default;
         $default{'supportemail'} = $Apache::lonnet::perlvar{'lonSupportEMail'};
@@ -10511,6 +10751,60 @@
                     $resulttext .= '</li>';
                 }
             }
+            if (ref($changes{'overrides'}) eq 'ARRAY') {
+                my @deletions;
+                foreach my $type (@{$changes{'overrides'}}) {
+                    if ($usertypeshash{$type}) {
+                        if (grep(/^\Q$type\E/,@overrides)) {
+                            $resulttext .= '<li>'.&mt("Overrides based on \
requester's affiliation set for [_1]", +                                              \
$usertypeshash{$type}).'<ul><li>'; +                            if \
(ref($newsetting{'override_'.$type}) eq 'HASH') { +                                my \
@text; +                                foreach my $item (@contacts) {
+                                    if ($newsetting{'override_'.$type}{$item}) {
+                                        push(@text,$short_titles->{$item});
+                                    }
+                                }
+                                if ($newsetting{'override_'.$type}{'others'} ne '') \
{ +                                    \
push(@text,$newsetting{'override_'.$type}{'others'}); +                               \
} +
+                                if (@text) {
+                                    $resulttext .= &mt('Helpdesk e-mail sent to: \
[_1]', +                                                       '<span \
class="LC_cusr_emph">'.join(', ',@text).'</span>'); +                                \
} +                                if ($newsetting{'override_'.$type}{'bcc'} ne '') {
+                                    my $bcctext;
+                                    if (@text) {
+                                        $bcctext = '&nbsp;'.&mt('with Bcc to');
+                                    } else {
+                                        $bcctext = '(Bcc)';
+                                    }
+                                    $resulttext .= $bcctext.': <span \
class="LC_cusr_emph">'.$newsetting{'override_'.$type}{'bcc'}.'</span>'; +             \
} elsif (!@text) { +                                     $resulttext .= &mt('Helpdesk \
e-mail sent to no one'); +                                }
+                                $resulttext .= '</li>';
+                                if ($newsetting{'override_'.$type}{'include'} ne '') \
{ +                                    my ($loc,$str) = \
split(/:/,$newsetting{'override_'.$type}{'include'}); +                               \
if ($loc eq 'b') { +                                        $resulttext .= \
'<li>'.&mt('Text automatically added to e-mail body:').' '.&unescape($str).'</li>'; + \
} elsif ($loc eq 's') { +                                        $resulttext .= \
'<li>'.&mt('Text automatically added to e-mail subject:').' \
'.&unescape($str).'</li>'; +                                    }
+                                }
+                            }
+                            $resulttext .= '</li></ul></li>';
+                        } else {
+                            push(@deletions,$usertypeshash{$type});
+                        }
+                    }
+                }
+                if (@deletions) {
+                    $resulttext .= '<li>'.&mt("Overrides based on requester's \
affiliation discontinued for: [_1]", +                                              \
join(', ',@deletions)).'</li>'; +                }
+            }
             my @offon = ('off','on');
             if ($changes{'reporterrors'}) {
                 $resulttext .= '<li>'.
@@ -10566,7 +10860,6 @@
                                    &mt('Max size for file uploaded to help form by \
                logged-in user set to [_1] MB.',
                                        \
$contacts_hash{'contacts'}{'helpform'}{'maxsize'}).  '</li>';
-
                 }
             }
             $resulttext .= '</ul>';



_______________________________________________
LON-CAPA-cvs mailing list
LON-CAPA-cvs@mail.lon-capa.org
http://mail.lon-capa.org/mailman/listinfo/lon-capa-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic