Diff for /loncom/interface/lonwhatsnew.pm between versions 1.120 and 1.125

version 1.120, 2016/10/23 21:50:55 version 1.125, 2017/09/13 23:35:07
Line 62  sub handler { Line 62  sub handler {
     my $command = $env{'form.command'};      my $command = $env{'form.command'};
     my $refpage = $env{'form.refpage'};      my $refpage = $env{'form.refpage'};
   
     my %checkallowed = ( coursenormalmail => 1,      my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
  coursecritmail => 1, );      my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
   
       my ($isadhoc,%checkallowed);
   
       if ($env{'request.role'} =~ m{^(cc|co)/}) {
           my $rolecode = $1;
           if ($env{"environment.internal.$cdom.$crs.$env{'request.role'}.adhoc"}) {
               $isadhoc = 1;
           }
       } elsif ($env{'request.role'} =~ m{^cr/$cdom/$cdom\-domainconfig/(\w+)\./}) {
           my $rolename = $1;
           if ($env{"environment.internal.$cdom.$crs.cr/$cdom/$cdom-domainconfig/$rolename.adhoc"}) {
               $isadhoc = 1;
           }
       }
       unless ($isadhoc) {
           %checkallowed = ( coursenormalmail => 1,
     coursecritmail => 1,);
       }
     foreach my $perm_check (['whn','whatsnew',1],      foreach my $perm_check (['whn','whatsnew',1],
     ['pch','coursediscussion',1],      ['pch','coursediscussion',1],
     ['mgr','handgrading',1],      ['mgr','handgrading',1],
     ['vgr','abovethreshold',1],      ['vgr','abovethreshold',1],
     ['opa','haserrors',1],      ['vgr','haserrors',1],
     ['mdc','versionchanges',0],      ['whn','versionchanges',1],
                             ['vcl','newroles',1],                              ['vcl','newroles',1],
                             ['vcl','oldroles',1],                              ['vcl','oldroles',1],
                             ['whn','crslogin',1],                              ['whn','crslogin',1],
Line 157  sub handler { Line 175  sub handler {
             ("What's New?",#'Course_Action_Items_Display'              ("What's New?",#'Course_Action_Items_Display'
      ));       ));
     }      }
     &display_main_box($r,$command,$refpage,\%checkallowed);      &display_main_box($r,$command,$refpage,\%checkallowed,$cdom,$crs);
     return OK;      return OK;
 }  }
   
Line 168  sub handler { Line 186  sub handler {
 #------------------------------  #------------------------------
                                                                                                                                                                   
 sub display_main_box {  sub display_main_box {
     my ($r,$command,$refpage,$checkallowed) = @_;      my ($r,$command,$refpage,$checkallowed,$cdom,$crs) = @_;
     my $domain=&Apache::loncommon::determinedomain();      my $domain=&Apache::loncommon::determinedomain();
     my $function = &Apache::loncommon::get_users_function();      my $function = &Apache::loncommon::get_users_function();
     my $lctype = lc(&Apache::loncommon::course_type());      my $lctype = lc(&Apache::loncommon::course_type());
Line 215  sub display_main_box { Line 233  sub display_main_box {
                      userpref => 'your general user preferences',                       userpref => 'your general user preferences',
                      coursespecific => "specific setting for this $lctype",                       coursespecific => "specific setting for this $lctype",
                    );                     );
     my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};  
     my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};  
   
     if (($command eq 'chgthreshold')       if (($command eq 'chgthreshold') 
  && $checkallowed->{'abovethreshold'}) {   && $checkallowed->{'abovethreshold'}) {
         &display_threshold_config($r,$refpage,\%threshold_titles,          &display_threshold_config($r,$refpage,\%threshold_titles,$cdom,$crs);
                                                                    $cdom,$crs);  
     } elsif (($command eq 'chginterval')       } elsif (($command eq 'chginterval') 
      && $checkallowed->{'versionchanges'}) {       && $checkallowed->{'versionchanges'}) {
         &display_interval_config($r,$refpage,\%interval_titles,'versions');          &display_interval_config($r,$refpage,\%interval_titles,'versions');
Line 574  sub display_actions_box { Line 589  sub display_actions_box {
     '<br />',$threshold{'numstudents'});      '<br />',$threshold{'numstudents'});
   
     my @actionorder = ('handgrading','haserrors','abovethreshold','versionchanges','coursediscussion','coursenormalmail','coursecritmail','newroles','oldroles','crslogin');      my @actionorder = ('handgrading','haserrors','abovethreshold','versionchanges','coursediscussion','coursenormalmail','coursecritmail','newroles','oldroles','crslogin');
       my %actioncolumn = (
                            handgrading      => 'left',
                            haserrors        => 'left',
                            abovethreshold   => 'left',
                            versionchanges   => 'left',
                            coursediscussion => 'right',
                            coursenormalmail => 'right',
                            coursecritmail   => 'right',
                            newroles         => 'right',
                            oldroles         => 'right',
                            crslogin         => 'right',
                          );
   
     foreach my $key (keys(%{$checkallowed})) {      foreach my $key (keys(%{$checkallowed})) {
  if ($key =~ /_section$/) { next; }   if ($key =~ /_section$/) { next; }
Line 639  sub display_actions_box { Line 666  sub display_actions_box {
             $totalboxes ++;              $totalboxes ++;
         }          }
     }      }
     my $halfway = 4;      my $currcolumn = 'left';
 #    my $halfway = int($totalboxes/2) + $totalboxes%2;  #    my $halfway = int($totalboxes/2) + $totalboxes%2;
     foreach my $actionitem (@actionorder) {      foreach my $actionitem (@actionorder) {
         if ($$checkallowed{$actionitem}) {          if ($checkallowed->{$actionitem}) {
             if ($displayed == $halfway) {              if (($actioncolumn{$actionitem} eq 'right') && ($currcolumn eq 'left')) {
                 $r->print('</td><td>&nbsp;</td><td class="LC_right_col" >');                  $r->print('</td><td>&nbsp;</td><td class="LC_right_col" >');
                   $currcolumn = 'right'; 
             }              }
             &display_launcher($r,$actionitem,$refpage,$checkallowed,\%show,\%headings,\%res_title,\@tograde,\%ungraded,\@bombs,\%bombed,\%changed,\@warnings,\%triggered,\@newdiscussions,\%unread,$msgcount,\@newmsgs,$critmsgcount,\@critmsgs,\%interval,$countunread,\%expired,$expirecount,\%activated,$activecount,$crstype,$itemserror,\%loggedin,$logincount,$classlist);              &display_launcher($r,$actionitem,$refpage,$checkallowed,\%show,\%headings,\%res_title,\@tograde,\%ungraded,\@bombs,\%bombed,\%changed,\@warnings,\%triggered,\@newdiscussions,\%unread,$msgcount,\@newmsgs,$critmsgcount,\@critmsgs,\%interval,$countunread,\%expired,$expirecount,\%activated,$activecount,$crstype,$itemserror,\%loggedin,$logincount,$classlist);
             $displayed ++;               $displayed ++; 
Line 1213  sub get_current { Line 1241  sub get_current {
 sub process_reset {  sub process_reset {
     my ($dom,$crs,$checkallowed) = @_;      my ($dom,$crs,$checkallowed) = @_;
     if (!$checkallowed->{'resetcounters'}) {      if (!$checkallowed->{'resetcounters'}) {
         return '<b>'.&mt('You do not the required privileges to reset counters').          return '<b>'.&mt('You do not have the required privileges to reset counters').
                '</b><br />';                 '</b><br />';
     }      }
     my $result = '<b>'.&mt('Counters reset for following problems (and parts):').      my $result = '<b>'.&mt('Counters reset for following problems (and parts):').
Line 1297  sub getnormalmail { Line 1325  sub getnormalmail {
             if ($emailstatus{$msgid} eq 'new') {              if ($emailstatus{$msgid} eq 'new') {
                 $skipstatus = 1;                  $skipstatus = 1;
             }              }
               my $esc_msgid = &escape($msgid);
             my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)=              my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)=
                 &Apache::lonmsg::unpackmsgid($msgid,undef,$skipstatus,undef,                  &Apache::lonmsg::unpackmsgid($esc_msgid,undef,$skipstatus,undef,
                                              $env{'request.course.id'});                                               $env{'request.course.id'});
             if (($fromcid) && ($fromcid eq $env{'request.course.id'})) {              if (($fromcid) && ($fromcid eq $env{'request.course.id'})) {
                 if (defined($sendtime) && $sendtime!~/error/) {                  if (defined($sendtime) && $sendtime!~/error/) {
Line 1309  sub getnormalmail { Line 1338  sub getnormalmail {
                             $shortsubj = &mt('No subject');                              $shortsubj = &mt('No subject');
                         }                          }
                         push(@{$newmsgs}, {                          push(@{$newmsgs}, {
                             msgid    => $msgid,                              msgid    => $esc_msgid,
                             sendtime => $sendtime,                              sendtime => $sendtime,
                             shortsub => $shortsubj,                              shortsub => $shortsubj,
                             from     => $fromname,                              from     => $fromname,
Line 1330  sub getcritmail { Line 1359  sub getcritmail {
     my $result = '';      my $result = '';
     my $critmsgcount = 0;      my $critmsgcount = 0;
     foreach my $msgid (sort(keys(%what))) {      foreach my $msgid (sort(keys(%what))) {
           my $esc_msgid = &escape($msgid);
         my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)=          my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)=
             &Apache::lonmsg::unpackmsgid($msgid,undef,1,undef,              &Apache::lonmsg::unpackmsgid($esc_msgid,undef,1,undef,
                                          $env{'request.course.id'});                                           $env{'request.course.id'});
         if (($fromcid) && ($fromcid eq  $env{'request.course.id'})) {          if (($fromcid) && ($fromcid eq  $env{'request.course.id'})) {
             if (defined($sendtime) && $sendtime!~/error/) {              if (defined($sendtime) && $sendtime!~/error/) {
Line 1341  sub getcritmail { Line 1371  sub getcritmail {
                     $shortsubj = &mt('No subject');                      $shortsubj = &mt('No subject');
                 }                  }
                 push(@{$critmsgs}, {                  push(@{$critmsgs}, {
                         msgid    => $msgid,                          msgid    => $esc_msgid,
                         sendtime => $sendtime,                          sendtime => $sendtime,
                         shortsub => $shortsubj,                          shortsub => $shortsubj,
                         from     => $fromname,                          from     => $fromname,

Removed from v.1.120  
changed lines
  Added in v.1.125


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>