[LON-CAPA-cvs] cvs: loncom /interface loncommon.pm
raeburn
raeburn at source.lon-capa.org
Tue Jan 2 11:53:28 EST 2018
raeburn Tue Jan 2 16:53:28 2018 EDT
Modified files:
/loncom/interface loncommon.pm
Log:
- Bug 6754 LON-CAPA as LTI Consumer
- If a course has an External Tool (LTI), then LON-CAPA 2.12 is needed.
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.1306 loncom/interface/loncommon.pm:1.1307
--- loncom/interface/loncommon.pm:1.1306 Sat Dec 30 19:51:30 2017
+++ loncom/interface/loncommon.pm Tue Jan 2 16:53:27 2018
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.1306 2017/12/30 19:51:30 raeburn Exp $
+# $Id: loncommon.pm,v 1.1307 2018/01/02 16:53:27 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -17320,19 +17320,31 @@
my ($cdom,$cnum,$chome,$cid) = @_;
my %curr_reqd_hash = &Apache::lonnet::userenvironment($cdom,$cnum,'internal.releaserequired');
my ($reqdmajor,$reqdminor) = split(/\./,$curr_reqd_hash{'internal.releaserequired'});
- my %checkresponsetypes;
+ my (%checkresponsetypes,%checkcrsrestypes);
foreach my $key (keys(%Apache::lonnet::needsrelease)) {
my ($item,$name,$value) = split(/:/,$key);
if ($item eq 'resourcetag') {
if ($name eq 'responsetype') {
$checkresponsetypes{$value} = $Apache::lonnet::needsrelease{$key}
}
+ } elsif ($item eq 'course') {
+ if ($name eq 'courserestype') {
+ $checkcrsrestypes{$value} = $Apache::lonnet::needsrelease{$key};
+ }
}
}
my $navmap = Apache::lonnavmaps::navmap->new();
if (defined($navmap)) {
- my %allresponses;
- foreach my $res ($navmap->retrieveResources(undef,sub { $_[0]->is_problem() },1,0)) {
+ my (%allresponses,%allcrsrestypes);
+ foreach my $res ($navmap->retrieveResources(undef,sub { $_[0]->is_problem() || $_[0]->is_tool() },1,0)) {
+ if ($res->is_tool()) {
+ if ($allcrsrestypes{'exttool'}) {
+ $allcrsrestypes{'exttool'} ++;
+ } else {
+ $allcrsrestypes{'exttool'} = 1;
+ }
+ next;
+ }
my %responses = $res->responseTypes();
foreach my $key (keys(%responses)) {
next unless(exists($checkresponsetypes{$key}));
@@ -17345,6 +17357,12 @@
($reqdmajor,$reqdminor) = ($major,$minor);
}
}
+ foreach my $key (keys(%allcrsrestypes)) {
+ my ($major,$minor) = split(/\./,$checkcrsrestypes{'exttool'});
+ if (($major > $reqdmajor) || ($major == $reqdmajor && $minor > $reqdminor)) {
+ ($reqdmajor,$reqdminor) = ($major,$minor);
+ }
+ }
undef($navmap);
}
unless (($reqdmajor eq '') && ($reqdminor eq '')) {
More information about the LON-CAPA-cvs
mailing list