[LON-CAPA-cvs] cvs: loncom /imspackages imsimport.pm
raeburn
raeburn@source.lon-capa.org
Sun, 26 Sep 2010 02:10:49 -0000
raeburn Sun Sep 26 02:10:49 2010 EDT
Modified files:
/loncom/imspackages imsimport.pm
Log:
- Use lonnet::get_my_roles to get active CC roles when determining where to import
course discussion boards in IMS package imported into Construction Space.
Index: loncom/imspackages/imsimport.pm
diff -u loncom/imspackages/imsimport.pm:1.32 loncom/imspackages/imsimport.pm:1.33
--- loncom/imspackages/imsimport.pm:1.32 Mon Aug 17 03:52:09 2009
+++ loncom/imspackages/imsimport.pm Sun Sep 26 02:10:49 2010
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: imsimport.pm,v 1.32 2009/08/17 03:52:09 raeburn Exp $
+# $Id: imsimport.pm,v 1.33 2010/09/26 02:10:49 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -616,63 +616,42 @@
# ---------------------------------------------------------------- Get LON-CAPA Course Coordinator roles for this user
sub get_ccroles {
my ($user,$dom,$crsentry,$crslist) = @_;
- my %roles = ();
+ my %roles;
unless ($user eq '') {
- %roles = &Apache::lonnet::dump('roles',$dom,$user);
+ my $ccrole = 'cc';
+ %roles = &Apache::lonnet::get_my_roles($user,$dom,'userroles',undef,[$ccrole]);
}
my $iter = 0;
my @codes = ();
my %courses = ();
my @crslist = ();
my %descrip =();
- foreach my $key (keys %roles ) {
+ foreach my $key (keys(%roles)) {
if ($key =~ m{^/($LONCAPA::domain_re)/($LONCAPA::username_re)_cc$}) {
my $cdom = $1;
my $crs = $2;
- my $role_end = 0;
- my $role_start = 0;
- my $active_chk = 1;
- if ( $roles{$key} =~ m/^cc_(\d+)/ ) {
- $role_end = $1;
- if ( $roles{$key} =~ m/^cc_($role_end)_(\d+)$/ )
- {
- $role_start = $2;
- }
- }
- if ($role_start > 0) {
- if (time < $role_start) {
- $active_chk = 0;
- }
- }
- if ($role_end > 0) {
- if (time > $role_end) {
- $active_chk = 0;
- }
+ my $currcode = '';
+ my %settings = &Apache::lonnet::get('environment',['internal.coursecode','description'],$cdom,$crs);
+ if (defined($settings{'description'}) ) {
+ $descrip{$crs} = $settings{'description'};
+ } else {
+ $descrip{$crs} = 'Unknown';
}
- if ($active_chk) {
- my $currcode = '';
- my %settings = &Apache::lonnet::get('environment',['internal.coursecode','description'],$cdom,$crs);
- if (defined($settings{'description'}) ) {
- $descrip{$crs} = $settings{'description'};
- } else {
- $descrip{$crs} = 'Unknown';
- }
- if (defined($settings{'internal.coursecode'}) ) {
- $currcode = $settings{'internal.coursecode'};
- if ($currcode eq '') {
- $currcode = "____".$iter;
- $iter ++;
- }
- } else {
+ if (defined($settings{'internal.coursecode'}) ) {
+ $currcode = $settings{'internal.coursecode'};
+ if ($currcode eq '') {
$currcode = "____".$iter;
$iter ++;
}
- unless (grep/^$currcode$/,@codes) {
- push @codes,$currcode;
- @{$courses{$currcode}} = ();
- }
- push @{$courses{$currcode}}, $cdom.'/'.$crs;
+ } else {
+ $currcode = "____".$iter;
+ $iter ++;
+ }
+ unless (grep/^$currcode$/,@codes) {
+ push @codes,$currcode;
+ @{$courses{$currcode}} = ();
}
+ push @{$courses{$currcode}}, $cdom.'/'.$crs;
}
}
foreach my $code (sort @codes) {