[LON-CAPA-cvs] cvs: loncom /interface lonwhatsnew.pm
raeburn
raeburn at source.lon-capa.org
Sat Nov 5 09:37:49 EDT 2016
raeburn Sat Nov 5 13:37:49 2016 EDT
Modified files:
/loncom/interface lonwhatsnew.pm
Log:
- Don't include boxes for course messages (normal and critical) for ad hoc roles
because those users are not actually in the course (so will always be empty).
- Boxes (where displayed) always shown in the same column.
- handgradeable, errors, difficult items, version changes -- left column
- discussion, course mail, new roles, expired roles, login history -- right column
- Change privileges for:
- display of errors (need vgr instead of opa)
- version changes (need whn instead of mdc)
Index: loncom/interface/lonwhatsnew.pm
diff -u loncom/interface/lonwhatsnew.pm:1.120 loncom/interface/lonwhatsnew.pm:1.121
--- loncom/interface/lonwhatsnew.pm:1.120 Sun Oct 23 21:50:55 2016
+++ loncom/interface/lonwhatsnew.pm Sat Nov 5 13:37:49 2016
@@ -1,5 +1,5 @@
#
-# $Id: lonwhatsnew.pm,v 1.120 2016/10/23 21:50:55 raeburn Exp $
+# $Id: lonwhatsnew.pm,v 1.121 2016/11/05 13:37:49 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -62,14 +62,32 @@
my $command = $env{'form.command'};
my $refpage = $env{'form.refpage'};
- my %checkallowed = ( coursenormalmail => 1,
- coursecritmail => 1, );
+ my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ 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],
['pch','coursediscussion',1],
['mgr','handgrading',1],
['vgr','abovethreshold',1],
- ['opa','haserrors',1],
- ['mdc','versionchanges',0],
+ ['vgr','haserrors',1],
+ ['whn','versionchanges',0],
['vcl','newroles',1],
['vcl','oldroles',1],
['whn','crslogin',1],
@@ -157,7 +175,7 @@
("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;
}
@@ -168,7 +186,7 @@
#------------------------------
sub display_main_box {
- my ($r,$command,$refpage,$checkallowed) = @_;
+ my ($r,$command,$refpage,$checkallowed,$cdom,$crs) = @_;
my $domain=&Apache::loncommon::determinedomain();
my $function = &Apache::loncommon::get_users_function();
my $lctype = lc(&Apache::loncommon::course_type());
@@ -215,13 +233,10 @@
userpref => 'your general user preferences',
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')
&& $checkallowed->{'abovethreshold'}) {
- &display_threshold_config($r,$refpage,\%threshold_titles,
- $cdom,$crs);
+ &display_threshold_config($r,$refpage,\%threshold_titles,$cdom,$crs);
} elsif (($command eq 'chginterval')
&& $checkallowed->{'versionchanges'}) {
&display_interval_config($r,$refpage,\%interval_titles,'versions');
@@ -574,6 +589,18 @@
'<br />',$threshold{'numstudents'});
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})) {
if ($key =~ /_section$/) { next; }
@@ -639,12 +666,13 @@
$totalboxes ++;
}
}
- my $halfway = 4;
+ my $currcolumn = 'left';
# my $halfway = int($totalboxes/2) + $totalboxes%2;
foreach my $actionitem (@actionorder) {
- if ($$checkallowed{$actionitem}) {
- if ($displayed == $halfway) {
+ if ($checkallowed->{$actionitem}) {
+ if (($actioncolumn{$actionitem} eq 'right') && ($currcolumn eq 'left')) {
$r->print('</td><td> </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);
$displayed ++;
More information about the LON-CAPA-cvs
mailing list