[LON-CAPA-cvs] cvs: loncom(version_2_11_X) /interface lonblockingstatus.pm
raeburn
raeburn at source.lon-capa.org
Sun Sep 27 20:27:48 EDT 2020
raeburn Mon Sep 28 00:27:48 2020 EDT
Modified files: (Branch: version_2_11_X)
/loncom/interface lonblockingstatus.pm
Log:
- For 2.11
Backport 1.17
Index: loncom/interface/lonblockingstatus.pm
diff -u loncom/interface/lonblockingstatus.pm:1.14.2.2 loncom/interface/lonblockingstatus.pm:1.14.2.3
--- loncom/interface/lonblockingstatus.pm:1.14.2.2 Tue Sep 8 03:57:48 2020
+++ loncom/interface/lonblockingstatus.pm Mon Sep 28 00:27:48 2020
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# displays the blocking status table
#
-# $Id: lonblockingstatus.pm,v 1.14.2.2 2020/09/08 03:57:48 raeburn Exp $
+# $Id: lonblockingstatus.pm,v 1.14.2.3 2020/09/28 00:27:48 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -43,11 +43,11 @@
$r->send_http_header;
return OK if $r->header_only;
- my (%activities,$activity,$origurl);
+ my (%activities,$activity,$origurl,$origsymb);
map { $activities{$_} = 1; } ('boards','chat','com','blogs','groups','port','printout','docs','passwd');
# determine what kind of blocking we want details for
- &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['activity','url']);
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['activity','url','symb']);
$activity = $env{'form.activity'};
my $title = 'Communication Blocking Status Information';
@@ -57,15 +57,18 @@
$title = 'Blocking Status Information';
if ($activity eq 'docs') {
$origurl = $env{'form.url'};
+ $origsymb = $env{'form.symb'};
}
}
$r->print(&Apache::loncommon::start_page($title,undef,
{'only_body' => 1}));
if (($activity eq '') || (!$activities{$activity})) {
- $r->print('<span class="LC_error">'.&mt('Error: unknown activity type blocked').'</span>');
+ $r->print('<p class="LC_error">'.&mt('Error: unknown activity type blocked').'</p>');
+ } elsif (($activity eq 'docs') && ($origurl eq '') && ($origsymb eq '')) {
+ $r->print('<p class="LC_error">'.&mt('Error: could not determine what content was blocked from access').'</p>');
} else {
- $r->print(&blockpage($activity,$origurl));
+ $r->print(&blockpage($activity,$origurl,$origsymb));
}
$r->print(&Apache::loncommon::end_page());
@@ -75,7 +78,7 @@
sub blockpage {
- my ($activity,$origurl) = @_;
+ my ($activity,$origurl,$origsymb) = @_;
# in case of a portfolio block we need to determine the owner of the files
# we're trying to look at. This information is passed via query string.
@@ -102,14 +105,44 @@
}
}
-
# retrieve start/end of possible active blocking
- my %setters;
- my ($startblock,$endblock,$triggerblock) =
- &Apache::loncommon::blockcheck(\%setters,$activity,$uname,$udom,$origurl);
+ my (%setters,$startblock,$endblock,$triggerblock);
+
+ if ($activity eq 'docs') {
+ my ($cdom,$cnum);
+ if ($env{'request.course.id'}) {
+ $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ }
+ my $cancheck;
+ if (($cdom ne '') && ($cnum ne '')) {
+ if ($origsymb =~ m{^uploaded/($match_domain)/($match_courseid)/}) {
+ my ($crsdom,$crsnum) = ($1,$2);
+ if (($cdom eq $crsdom) && ($cnum eq $crsnum)) {
+ $cancheck = 1;
+ }
+ } else {
+ $cancheck = 1;
+ }
+ }
+ if ($cancheck) {
+ ($startblock,$endblock,$triggerblock) =
+ &Apache::loncommon::blockcheck(\%setters,$activity,$cnum,$cdom,$origurl,1,$origsymb,'blockingstatus');
+ } else {
+ return '<p class="LC_info">'.&mt('Could not determine why access is blocked.').'</p>';
+ }
+ } else {
+ ($startblock,$endblock,$triggerblock) =
+ &Apache::loncommon::blockcheck(\%setters,$activity,$uname,$udom,$origurl,undef,$origsymb,'blockingstatus');
+ }
# nothing to do if there's no active blocking
- unless ($startblock && $endblock) { return ''; }
+ unless ($startblock && $endblock) {
+ if ($activity eq 'docs') {
+ return '<p class="LC_info">'.&mt('Content no longer blocked from access').'</p>';
+ }
+ return '<p class="LC_info">'.&mt('Access no longer blocked for this activity').'</p>';
+ }
# lookup $activity -> description
#possible activity #corresponding description
More information about the LON-CAPA-cvs
mailing list